credativ team mailing list archive
-
credativ team
-
Mailing list archive
-
Message #00224
[Bug 885682] Re: [Trunk] Re-Entrant lock deadlock in upgrade_module
Thibaut,
I hadn't a chance to debug it with Windows but I wasn't happy with the
locks we added and I have a few changes I want to make in trunk in this
branch: https://code.launchpad.net/~openerp-dev/openobject-server/trunk-
registry-lock-vmt/+merge/83602
I don't see how it could solve your problem but maybe it does.. can you
give it a try?
--
You received this bug notification because you are a member of OpenERP
Framework Experts, which is subscribed to OpenERP Server.
https://bugs.launchpad.net/bugs/885682
Title:
[Trunk] Re-Entrant lock deadlock in upgrade_module
Status in OpenERP Server:
New
Bug description:
Hi.
I'm using OpenERP Trunk (updated at the begining of the week) and I
encounter a deadlock problem with threads. The bug is not easy to
reproduce, because it's kind of random. The better I found to trigger
it is to install/uninstall the same module different times.
I looked into the code with pdb, and found that the block line is this
one [1]:
openerp/module/registry.py:
with cls.registries_lock:
I enabled the debug on the lock (passing verbose=True to the RLock
constructor). Here is a "normal" output :
netrpc-client-127.0.0.1:51862: <_RLock owner='netrpc-client-127.0.0.1:51862' count=1>.acquire(1): initial success
netrpc-client-127.0.0.1:51862: <_RLock owner='netrpc-client-127.0.0.1:51862' count=2>.acquire(1): recursive success
netrpc-client-127.0.0.1:51862: <_RLock owner='netrpc-client-127.0.0.1:51862' count=1>.release(): non-final release
netrpc-client-127.0.0.1:51862: <_RLock owner=None count=0>.release(): final release
But when there is the deadlock, I only get this output, before the
server stop to respond :
netrpc-client-127.0.0.1:51872: <_RLock owner='netrpc-client-127.0.0.1:51872' count=1>.acquire(1): initial success
netrpc-client-127.0.0.1:51872: <_RLock owner='netrpc-client-127.0.0.1:51872' count=2>.acquire(1): recursive success
I don't understand why it doesn't work because we can see that is has
been release correctly just before (here, the output is from the same
instance).
Notes :
- I couldn't trigger the bug on Linux, everything seems ok. But
running the server on windows make this happen almost everytime. I
don't really understand why, but I'm not an expert.
- I was using the GTK Client
- Using Python 2.6, with all libs installed manually using pip and
.exe distributions.
Thanks for working on this !
[1] http://bazaar.launchpad.net/~openerp/openobject-
server/trunk/view/head:/openerp/modules/registry.py#L149
To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-server/+bug/885682/+subscriptions