On Fri, Feb 12, 2010 at 11:05:18PM +0000, John Rice wrote: > The bug we are tracking (14552) is completely reproducible with PM > in the gate:
The test case below doesn't exactly match what's described in 14552. I took a look through the symptoms in 14552, but there's no obvious explanation for why a trip through plan_common_exception would cause api.cancel() to never return. I took a look at api.cancel(). It looks like changeset 1710 added a line that I removed in 1693. I'm skeptical that this is causing your problem, but I did delete that line since I was worried about missed wakeups. If you delete line api.py:1747, which reads, "self.__canceling = False" Does this change anything for you? > - Just start PM from the gate, click on Install on the Start Page > for say Wine. > - Click on the Proceed in the WebInstall, so its now acquired the lock. > - Then go to any package in the main list, right click and select > Package Version Info. > - You will get the ImageLockedError raised and displayed to the user. > - Then try and exit PM, it will never exit as a thread has been > kicked off in main application quit to api.cancel(). I'll need to know more about what's causing this problem. How many threads are in play here? What methods are they calling into? I'm working on some debug tools for looking at Python cores. If you can send me a gcore(1) of the PM when it's in this state, I might be able to figure out what's going on. No promises, though. It's possible that the operation you're trying to cancel is not in a cancelable state, i.e. transport name resolution or something like that. Until we have more information about what PM is doing, though, I'm only guessing at what the problem could be. -j _______________________________________________ pkg-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
