Bug#538396: libsqlite3-0: Sqlite triggers bus error in apr-util test suite on sparc causing FTBFS
Package: libsqlite3-0
Version: 3.6.14.2-1
Severity: serious
Hi,
apr-util FTBFSs because the test suite fails with a SIGBUS in libsqlite3-0 on
sparc. This even happens to apr-util 1.3.4+dfsg-2, which is now in testing (and
built fine in May [1]). Since the build in May was with 3.6.13-1, I assume this
has been broken in a later sqlite version, but it could also be a compiler
issue. The problem appears both with 3.6.14.2-1 and 3.6.16-1.
Maybe this is the same as #524140, but I am not sure.
Here is a stacktrace (actually two, one before the SIGBUS and one after):
(gdb) bt full
#0 sqlite3BtreeSchemaLocked (db=0x2c8c8, zSql=0x131e0 "UPDATE apr_dbd_test SET col2 = 'failed'", nBytes=39,
saveSqlFlag=0, ppStmt=0xff8d75b4, pzTail=0xff8d75b0) at sqlite3.c:44142
No locals.
#1 sqlite3Prepare (db=0x2c8c8, zSql=0x131e0 "UPDATE apr_dbd_test SET col2 = 'failed'", nBytes=39, saveSqlFlag=0,
ppStmt=0xff8d75b4, pzTail=0xff8d75b0) at sqlite3.c:8478
pBt = 0x2cc78
sParse = {db = 0x0, rc = 0, zErrMsg = 0x0, pVdbe = 0x0, colNamesSet = 0 '\0', nameClash = 0 '\0',
checkSchema = 0 '\0', nested = 0 '\0', parseError = 0 '\0', nTempReg = 0 '\0', nTempInUse = 0 '\0', aTempReg = {
0, 182472, 239728, 0, 0, 182472, 0, -139744860}, nRangeReg = 21, iRangeReg = 239844, nErr = 15, nTab = 0,
nMem = -7506636, nSet = -7506640, ckBase = -7506880, iCacheLevel = -135291444, iCacheCnt = 0,
nColCache = 0 '\0', iColCache = 0 '\0', aColCache = {{iTable = 0, iColumn = 0, affChange = 0 '\0',
tempReg = 0 '\0', iLevel = 0, iReg = 0, lru = 0}, {iTable = 0, iColumn = 1256, affChange = 0 '\0',
tempReg = 0 '\0', iLevel = 2472, iReg = 2468, lru = -140291204}, {iTable = 2464, iColumn = 2460,
affChange = 0 '\0', tempReg = 0 '\0', iLevel = 2452, iReg = 0, lru = 0}, {iTable = 0, iColumn = 0,
affChange = 0 '\0', tempReg = 0 '\0', iLevel = 0, iReg = 0, lru = 0}, {iTable = 0, iColumn = 0,
affChange = 0 '\0', tempReg = 0 '\0', iLevel = 0, iReg = 0, lru = 0}, {iTable = 0, iColumn = 0,
affChange = 0 '\0', tempReg = 0 '\0', iLevel = 0, iReg = 0, lru = 0}, {iTable = 0, iColumn = 0,
affChange = 0 '\0', tempReg = 0 '\0', iLevel = 0, iReg = 0, lru = 0}, {iTable = 0, iColumn = 0,
affChange = 255 '\377', tempReg = 141 '\215', iLevel = -7508260, iReg = 0, lru = 0}, {iTable = 0,
iColumn = 0, affChange = 0 '\0', tempReg = 0 '\0', iLevel = 0, iReg = 0, lru = 0}, {iTable = 0, iColumn = 0,
affChange = 0 '\0', tempReg = 0 '\0', iLevel = 0, iReg = 0, lru = 238022}}, writeMask = 1073741833,
cookieMask = 238016, cookieGoto = -135284825, cookieValue = {0 <repeats 11 times>, 972}, nTableLock = 0,
aTableLock = 0x2c8c8, regRowid = 131072, regRoot = -1073741824, nVar = -134701632, nVarExpr = 75410483,
nVarExprAlloc = 3, apVarExpr = 0x7ec, nAlias = -134922240, nAliasAlloc = 172256, aAlias = 0x3a870,
explain = 255 '\377', sErrToken = {z = 0x0, dyn = 1, quoted = 1, n = 1066235188}, sNameToken = {
z = 0xff8d7530 "\367\357\267\247", dyn = 1, quoted = 1, n = 1066235072}, sLastToken = {
z = 0xf7ef9f90 "\177\377\377\205\1", dyn = 1, quoted = 1, n = 1066235188},
zSql = 0xff8d7530 "\367\357\267\247", zTail = 0xff8d74c0 "\367\370\235\300\217\325\206c\377\215u<",
pNewTable = 0xf7ef9f48, pNewTrigger = 0x7ec, trigStack = 0x26390,
zAuthContext = 0xffffffff <Address 0xffffffff out of bounds>, sArg = {z = 0xf7cd6a6f "\n\367\315v\220", dyn = 0,
quoted = 0, n = 1}, declareVtab = 0 '\0', nVtabLock = 1, apVtabLock = 0x0, nHeight = -7506712,
pZombieTab = 0xf7bdfe74}
zErrMsg = 0x0
rc = 2
i = 0
#2 0xf7a8a76c in sqlite3LockAndPrepare (db=0x2c8c8, zSql=0x131e0 "UPDATE apr_dbd_test SET col2 = 'failed'", nBytes=39,
saveSqlFlag=0, ppStmt=0xff8d75b4, pzTail=0xff8d75b0) at sqlite3.c:74129
rc = <value optimized out>
#3 0xf7ef9f50 in dbd_sqlite3_query (sql=0x2a0e0, nrows=0xff8d76a8,
query=0x131e0 "UPDATE apr_dbd_test SET col2 = 'failed'") at dbd/apr_dbd_sqlite3.c:377
stmt = 0x0
tail = 0x0
ret = -1
length = 39
#4 0xf7f3f92c in apr_dbd_query (driver=0xf7f0bea4, handle=0x2a0e0, nrows=0xff8d76a8,
statement=0x131e0 "UPDATE apr_dbd_test SET col2 = 'failed'") at dbd/apr_dbd.c:308
No locals.
#5 0x0001173c in test_transactions (pool=0x2a0a0, handle=0x2a0e0, driver=0xf7f0bea4) at dbd.c:212
rv = 0
nrows = 6
trans = 0x2a690
statement = 0x131e0 "UPDATE apr_dbd_test SET col2 = 'failed'"
#6 0x00012828 in main (argc=2, argv=0xff8d7844) at dbd.c:394
name = 0xff8d795a "sqlite3"
params = 0x13630 ""
pool = 0x2a0a0
sql = 0x2a0e0
driver = 0xf7f0bea4
rv = 0
(gdb) s
Program received signal SIGBUS, Bus error.
sqlite3RowSetNext (p=0x3a870) at sqlite3.c:30225
30225 in sqlite3.c
(gdb) bt full
#0 sqlite3RowSetNext (p=0x3a870) at sqlite3.c:30225
No locals.
#1 sqlite3VdbeExec (p=0x3a870) at sqlite3.c:54649
pIdx = 0x3c370
val = <value optimized out>
pc = 11
pOp = 0x3c18c
rc = 0
db = 0x2c8c8
encoding = 1 '\1'
pIn1 = 0x0
pIn2 = 0x3c2d0
pIn3 = 0x0
pOut = 0x3c2d0
iCompare = 0
aPermute = 0x0
nProgressOps = 0
aTempRec = "\0\3\241\337\0\0\0\20\0\0\0\1col2\377\215q\310\367\250a`\0\0\0\3\0\0\0\0\0\0\0\3\377\377\377\376\0\0\0\1\0\0\0\0\0\0\0\0\377\377\377\376\0\3\241\306@\0\0\t\0\0\2H\0\3\276\240\377\215q\214\0\0\0\70\0\0\2H\0\0\2D\0\0\b$\0\0\b \0\0\b\34\0\0\b\30\367\243N\204\0\0\0\0\300\0\0\0\367\253\251\244\377\215r0\0\3\241\300\377\215t<\377\215q\260?\377\377\377\377\215q\274\377\215q\320\367\250\244"
and_logic = "\0\0\0\0\1\2\0\2\2"
or_logic = "\0\1\2\1\1\1\2\1\2"
#2 0xf7a8ae08 in sqlite3Step (pStmt=0x3a870) at sqlite3.c:49096
No locals.
#3 sqlite3_step (pStmt=0x3a870) at sqlite3.c:49168
cnt = 0
db = 0x2c8c8
rc = 21
#4 0xf7ef9dd4 in dbd_sqlite3_query_internal (sql=0x2a0e0, stmt=0x3a870, nrows=0xff8d76a8) at dbd/apr_dbd_sqlite3.c:346
ret = -1
retry_count = 1
#5 0xf7ef9f98 in dbd_sqlite3_query (sql=0x2a0e0, nrows=0xff8d76a8,
query=0x131e0 "UPDATE apr_dbd_test SET col2 = 'failed'") at dbd/apr_dbd_sqlite3.c:383
stmt = 0x3a870
tail = 0x13207 ""
ret = 0
length = 39
#6 0xf7f3f92c in apr_dbd_query (driver=0xf7f0bea4, handle=0x2a0e0, nrows=0xff8d76a8,
statement=0x131e0 "UPDATE apr_dbd_test SET col2 = 'failed'") at dbd/apr_dbd.c:308
No locals.
#7 0x0001173c in test_transactions (pool=0x2a0a0, handle=0x2a0e0, driver=0xf7f0bea4) at dbd.c:212
rv = 0
nrows = 6
trans = 0x2a690
statement = 0x131e0 "UPDATE apr_dbd_test SET col2 = 'failed'"
#8 0x00012828 in main (argc=2, argv=0xff8d7844) at dbd.c:394
name = 0xff8d795a "sqlite3"
params = 0x13630 ""
pool = 0x2a0a0
sql = 0x2a0e0
driver = 0xf7f0bea4
rv = 0
Cheers,
Stefan
[1] https://buildd.debian.org/fetch.cgi?&pkg=apr-util&ver=1.3.4%2Bdfsg-2&arch=sparc&stamp=1241981911&file=log
Reply to: