[pkg-discuss] Code Review for 11034 Packagemanager hangs if quit during catalog refresh
Padraig O'Briain
Padraig.Obriain at Sun.COM
Tue Sep 1 07:08:49 PDT 2009
I have just upgraded to OpenSolaris build 121 and I may now be seeing
what you are seeing.
Can you send me the pstack of the packagemanager process?
Padraig
On 09/01/09 10:36, Joanmarie Diggs wrote:
> On Tue, 2009-09-01 at 09:00 +0100, Padraig O'Briain wrote:
>
>> Joanie,
>>
>> I am not able to reproduce what I think you are reporting here.
>>
>
> <frowns>
>
>
>> I am running OpenSolaris in a Virtual Box on a MAC. I have switched
>> off the MAC's AirPort connection.
>>
>
> That should be sufficient, I'd think. What I was getting at is based on
> a potentially faulty recollection, namely I could've sworn that PM used
> to behave differently if the LAN was up but the WAN down than if there
> were no LAN connection. If that had ever been the case, it no longer is.
>
> On a different box, I just switched from my wireless to my wired adapter
> (there's no wired connection on this box). Not only can I reproduce the
> problem as described (latest gate + your patch), I get a traceback when
> I succeed in finally interrupting the process:
>
> $ pfexec packagemanager
>
> <File->Reload, close window, wander off to kitchen for coffee, return>
>
> ^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^CError in atexit._run_exitfuncs:
> Traceback (most recent call last):
> File "/usr/lib/python2.4/atexit.py", line 24, in _run_exitfuncs
> func(*targs, **kargs)
> File "/usr/lib/python2.4/threading.py", line 634, in __exitfunc
> t.join()
> File "/usr/lib/python2.4/threading.py", line 540, in join
> self.__block.wait()
> File "/usr/lib/python2.4/threading.py", line 203, in wait
> waiter.acquire()
> TypeError: __main_application_quit() takes at most 2 arguments (3 given)
> Error in sys.exitfunc:
> Traceback (most recent call last):
> File "/usr/lib/python2.4/atexit.py", line 24, in _run_exitfuncs
> func(*targs, **kargs)
> File "/usr/lib/python2.4/threading.py", line 634, in __exitfunc
> t.join()
> File "/usr/lib/python2.4/threading.py", line 540, in join
> self.__block.wait()
> File "/usr/lib/python2.4/threading.py", line 203, in wait
> waiter.acquire()
> TypeError: __main_application_quit() takes at most 2 arguments (3 given)
>
>
>> When I start PackageManager with my patch it terminates cleanly when I
>> close the window even when I invoke the Reload menu item.
>>
>
> Hmmmm.... I'm afraid all of my OpenSolaris installs are on bare metal,
> so I can't try to reproduce the environment you describe. :-(
>
> Any chance you're using additional patches? I recall seeing a couple of
> your other fixes go by for code review, but I don't recall seeing them
> reviewed or an announcement of being committed. Failing that, I'm not
> sure what to tell you.
>
> $ uname -a
> SunOS pokey 5.11 snv_121 i86pc i386 i86pc
>
> $ pkg authority -a
> PUBLISHER TYPE STATUS URI
> opensolaris.org (preferred) origin online http://pkg.opensolaris.org/dev/
> Extra (disabled) origin online https://pkg.sun.com/opensolaris/extra/
> contrib origin online http://pkg.opensolaris.org/contrib/
> multimedia origin online http://ips.homeunix.com:10906/
> pending origin online http://jucr.opensolaris.org/pending/
>
> Lemme know what else I can do/provide to help you get to the bottom of
> this.
>
> Thanks!
> --joanie
>
>
>> Padraig
>>
>> On 08/31/09 18:53, Joanmarie Diggs wrote:
>>
>>> Hey Padraig.
>>>
>>> This definitely helps things, but there seems to be a process lingering.
>>> To best appreciate it, keep your local network connection, but sever
>>> ties to the outside world. Compare:
>>>
>>> ~~~~~~~~~~~~~
>>> Before patch:
>>> ~~~~~~~~~~~~~
>>> $ pfexec ptime packagemanager
>>> /usr/bin/packagemanager:3248: GtkWarning: file gtktreeselection.c: line
>>> 354: assertion `selection->tree_view != NULL' failed
>>> model, itr = self.package_selection.get_selected()
>>>
>>> real 59.269348446
>>> user 25.108675577
>>> sys 1.776196814
>>> ptime: command terminated abnormally by SIGSEGV
>>>
>>> ~~~~~~~~~~~~~
>>> After patch:
>>> ~~~~~~~~~~~~~
>>> $ pfexec ptime packagemanager
>>> real 19.984064393
>>> user 19.432046979
>>> sys 1.182571846
>>>
>>> BUT having severed my outside connection (waiting a long time for the
>>> process to terminate on its own, and finally re-establishing my
>>> connection):
>>>
>>> $ pfexec ptime packagemanager
>>> real 21:29.597118893
>>> user 7.053811630
>>> sys 0.897445571
>>>
>>> (Note that I see the same behavior with the severed connection without
>>> your patch.)
>>>
>>> HTH. Take care.
>>> --joanie
>>>
>>> On Mon, 2009-08-31 at 11:26 +0100, Padraig O'Briain wrote:
>>>
>>>
>>>> The webrev, http://cr.opensolaris.org/~padraig/ips-11034-v1/, fixes
>>>> 11034 Packagemanager hangs if quit during catalog refresh
>>>>
>>>> The change ensures that PackageManager closes down tidily if the
>>>> application window is closed while catalogs are being refreshed.
>>>>
>>>> Padraig
>>>> _______________________________________________
>>>> pkg-discuss mailing list
>>>> pkg-discuss at opensolaris.org
>>>> http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
>>>>
>>>>
>>>
>>>
>
>
More information about the pkg-discuss
mailing list