classification
Title: CheckCommitCursorReset regression sqlite3 test fails with old sqlite3
Type: Stage:
Components: Library (Lib) Versions: Python 3.9, Python 3.8, Python 2.7
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: berker.peksag, mcepl
Priority: normal Keywords: patch

Created on 2019-07-10 07:45 by mcepl, last changed 2020-01-09 13:22 by mcepl.

Files
File name Uploaded Description Edit
log.txt mcepl, 2019-07-10 07:45 Full build log when the issue happened
avoid-sqlite-race.patch mcepl, 2020-01-09 13:22
Messages (2)
msg347606 - (view) Author: Matej Cepl (mcepl) * Date: 2019-07-10 07:45
When building Python 2.7.16 on very old SUSE Enterprise Linux (SLE-11), with gcc 4.3, sqlite3 3.6.4, CheckCommitCursorReset fails with:

test test_sqlite failed -- Traceback (most recent call last):
  File "/usr/src/packages/BUILD/Python-2.7.16/Lib/sqlite3/test/regression.py", line 338, in CheckCommitCursorReset
    con.commit()
OperationalError: cannot commit transaction - SQL statements in progress

It seems to me the problem is that the select from https://github.com/python/cpython/blob/master/Lib/sqlite3/test/regression.py#L353 is still open, while we run con.commit(). It should be probably better to store output of that enumerate somewhere and work on that variable instead.
msg359676 - (view) Author: Matej Cepl (mcepl) * Date: 2020-01-09 13:22
Fix for this situations (and we are talking about sqlite3 3.6.4, which is truly archaeological excavation) skip particular test.
History
Date User Action Args
2020-01-09 13:22:17mceplsetfiles: + avoid-sqlite-race.patch
keywords: + patch
messages: + msg359676
2019-07-10 17:14:41xtreaksetnosy: + berker.peksag
2019-07-10 07:45:49mceplcreate