[Python-Dev] x86 XP trunk failure (original) (raw)
David Bolen db3l.net at gmail.com
Thu Sep 6 00:35:10 CEST 2007
- Previous message: [Python-Dev] x86 XP trunk failure
- Next message: [Python-Dev] x86 XP trunk failure
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Martin v. Löwis" <martin at v.loewis.de> writes:
warning: DBTxn aborted in destructor. No prior commit() or abort(). I have seen these as well. bsddb isn't very forgiving when you have a Python exception inside a bsddb transaction, in the test suite. IIRC, the exception will abort the transaction, then the unittest fixture teardown will close the environment, and that will cause a bsddb crash because something is getting released that does not exist anymore. When I last looked at it, I did not see an easy way to fix it; contributions are welcome.
One thing I tried that seems to work fairly well for this case is to encapsulate much of the module-level code in the test into a class instance. That way the module-level code can instantiate and destroy the class instance rather than waiting for the interpreter exit for the latter.
It definitely resolves this current issue, but when I reverted the changes to _bsddb.c that were originally made in conjunction with this test, it still seemed to pass the test. So I tried the reverted module with the original test code and it still passes.
So I'm not entirely sure that the test is enforcing anything at this point, or at least I'm not sure how to be absolutely positive that the change will continue to enforce what the existing code used to test.
But I can open a ticket with the proposed changes if that would help.
-- David
- Previous message: [Python-Dev] x86 XP trunk failure
- Next message: [Python-Dev] x86 XP trunk failure
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]