This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author db3l
Recipients db3l
Date 2007-09-05.23:00:40
SpamBayes Score 0.002343818
Marked as misclassified No
Message-id <1189033242.12.0.566103014662.issue1112@psf.upfronthosting.co.za>
In-reply-to
Content
The change made to Lib/bsddb/test/test_1413192.py to clean up temporary
files causes an abort in the DB library when trying to abort an open
transaction at object destruction type - currently when the Python
interpreter exits, because the transaction log file has been removed. 
In the Windows debug version this also causes an assertion pop-up dialog
window.  This has been seen on the 2.5 branch (r57311), trunk (r57286)
and py3k branch (57285).

The proposed change controls the object lifetime through a wrapper
object so the transaction object is destroyed before cleaning up the
filesystem.  It has the added benefit of permitting the filesystem
cleanup to work under Windows since the files are no longer in use.  The
test still generates a warning about a DBTxn aborted in destructor, but
does not abort the interpreter. 

I have tried testing this without the original (issue 1413192, r42177)
change to _bsddb that it was testing, but neither my modified version
nor the original seem to crash in my environment, so I can't say
absolutely whether or not the proposed change affects what the test was
originally designed to test.  I suspect subsequent changes to _bsddb.c
are perhaps also satisfying the original problem.
Files
File name Uploaded
test_1413192.py.diff db3l, 2007-09-05.23:00:40
History
Date User Action Args
2007-09-05 23:00:42db3lsetspambayes_score: 0.00234382 -> 0.002343818
recipients: + db3l
2007-09-05 23:00:42db3lsetspambayes_score: 0.00234382 -> 0.00234382
messageid: <1189033242.12.0.566103014662.issue1112@psf.upfronthosting.co.za>
2007-09-05 23:00:41db3llinkissue1112 messages
2007-09-05 23:00:40db3lcreate