Title: Test debug assertion in bsddb
Type: crash Stage:
Components: Tests Versions: Python 3.0, Python 2.6, Python 2.5
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: gregory.p.smith Nosy List: db3l, gregory.p.smith, loewis
Priority: normal Keywords: patch

Created on 2007-09-05 23:00 by db3l, last changed 2007-09-06 23:07 by gregory.p.smith. This issue is now closed.

File name Uploaded Description Edit db3l, 2007-09-05 23:00
Messages (3)
msg55672 - (view) Author: David Bolen (db3l) * Date: 2007-09-05 23:00
The change made to Lib/bsddb/test/ 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.
msg55679 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2007-09-06 06:52
Greg, can you take a look? If not, please unassign.
msg55716 - (view) Author: Gregory P. Smith (gregory.p.smith) * (Python committer) Date: 2007-09-06 23:07
that looks good to me.

fixed in:

2.6 trunk r58023
release25-maint r58024
py3k r58025
Date User Action Args
2007-09-06 23:07:17gregory.p.smithsetstatus: open -> closed
resolution: fixed
messages: + msg55716
2007-09-06 06:52:06loewissetassignee: gregory.p.smith
messages: + msg55679
nosy: + gregory.p.smith, loewis
2007-09-06 06:30:15loewissetkeywords: + patch
2007-09-05 23:00:42db3lcreate