[Zope] Exception ThreadLock.error: 'release unlocked lock'

Martijn Pieters mj@antraciet.nl
Tue, 09 Nov 1999 11:53:00 +0100


>NOTICE: UserAbortTransactionBlock and not in in-progress state
>Exception ThreadLock.error: 'release unlocked lock' in <method
>Transaction.__del__ of Transaction instance at 84db300> ignored
>NOTICE: UserAbortTransactionBlock and not in in-progress state
>Exception ThreadLock.error: 'release unlocked lock' in <method
>Transaction.__del__ of Transaction instance at 84fc168> ignored
>NOTICE: UserAbortTransactionBlock and not in in-progress state
>Exception ThreadLock.error: 'release unlocked lock' in <method
>Transaction.__del__ of Transaction instance at 8530350> ignored
>
>The customer also reports that an extra thread appears.. (? He says there 
>is an extra z2.py, but as he runs Linux, that's probably an extra thread).
>
>Although apparently not harmful, I do suspect that eventually the process 
>will run out of threads.

Hmm.. The error occurs within the THUNKed database adapter, it's a problem 
with the ThreadLock. I think something goes wrong with the _register method 
of the THUNK class (either register or self._begin fails), causing the 
freshly acquired lock to be released again.

Then, when the transaction is finished, tpc_finish is called, which 
releases a unlocked lock, which throws the exception. But because the 
transaction was already finished, we get the aforementioned log message. 
Zope just continues to run.

The question is, what, if any, side effects does this cause, and how does 
this problem occur, so we can put an end to it?

--
Martijn Pieters, Web Developer
| Antraciet http://www.antraciet.nl
| Tel: +31-35-7502100 Fax: +31-35-7502111
| mailto:mj@antraciet.nl http://www.antraciet.nl/~mj
| PGP: http://wwwkeys.nl.pgp.net:11371/pks/lookup?op=get&search=0xA8A32149
------------------------------------------