Title: CheckCommitCursorReset regression sqlite3 test fails with old sqlite3
Type: Stage:
Components: Library (Lib) Versions: Python 3.9, Python 3.8, Python 2.7
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.

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/", line 338, in CheckCommitCursorReset
OperationalError: cannot commit transaction - SQL statements in progress

It seems to me the problem is that the select from 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.
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