sessionfuzz fails on some architectures (ARM, PPC, SPARC)
(1) By Arfrever Frehtes Taifersar Arahesis (Arfrever) on 2020-07-22 19:14:10 updated by 1.1
Some users have reported that sessionfuzz fails on some architectures (ARM, PPC, SPARC). I do not know if underlying cause of problem is the same on all of these architectures. I do not have access to that hardware. sessionfuzz suceeds for me on x86_32 and x86_64. [https://bugs.gentoo.org/685874] [https://bugs.gentoo.org/733092] <b>SQLite configuration</b>: <pre><verbatim>export CPPFLAGS="-DSQLITE_ENABLE_API_ARMOR -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_HIDDEN_COLUMNS -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_ENABLE_NORMALIZE -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT -DSQLITE_SOUNDEX -DSQLITE_USE_URI -DSQLITE_SECURE_DELETE" ./configure --enable-load-extension --enable-threadsafe --enable-fts5 --enable-session --disable-debug --disable-editline --enable-readline --with-readline-inc=-I/usr/include/readline --disable-static --enable-tcl </verbatim></pre> <b>GDB output on PPC</b>: <pre><verbatim>Reading symbols from ./sessionfuzz... (gdb) r Starting program: /var/tmp/portage/dev-db/sqlite-3.32.3/work/sqlite-src-3320300-.ppc/sessionfuzz run test/sessionfuzz-data1.db [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". sessionfuzz-data1.db: sessionfuzz: ./sqlite3.c:57398: pager_open_journal: Assertion `rc!=SQLITE_OK || isOpen(pPager->jfd)' failed. Program received signal SIGABRT, Aborted. 0xf7e0d1d0 in raise () from /lib/libc.so.6 (gdb) bt #0 0xf7e0d1d0 in raise () from /lib/libc.so.6 #1 0xf7df2e2c in abort () from /lib/libc.so.6 #2 0xf7e03b2c in ?? () from /lib/libc.so.6 #3 0xf7e03bb0 in __assert_fail () from /lib/libc.so.6 #4 0x004c85d0 in pager_open_journal (pPager=0x6448e0) at ./sqlite3.c:57398 #5 pager_write (pPg=0x66d6a0) at ./sqlite3.c:57596 #6 0x004cfaf4 in insertCell (pPage=0x66d6c8, i=0, pCell=0x643bb4 "\002\002\r", sz=4, pTemp=0x0, iChild=0, pRC=0xffffda40) at ./sqlite3.c:71088 #7 0x004d9bb4 in sqlite3BtreeInsert (pCur=0x64d398, pX=0xffffdb70, flags=<optimized out>, seekResult=<optimized out>) at ./sqlite3.c:73173 #8 0x0051d110 in sqlite3VdbeExec (p=<optimized out>) at ./sqlite3.c:90754 #9 0x0052b354 in sqlite3Step (p=0x64dc90) at ./sqlite3.c:83488 #10 sqlite3_step (pStmt=0x64dc90) at ./sqlite3.c:18017 #11 0x00565aa0 in sessionApplyOneOp (pIter=0x656f10, p=0xffffdee8, xConflict=0x447ca4 <conflictCall>, pCtx=0x0, pbReplace=0xffffde74, pbRetry=0xffffde78) at ./sqlite3.c:205933 #12 0x00565ee8 in sessionApplyOneWithRetry (db=0x6431c0, pIter=0x656f10, pApply=0xffffdee8, xConflict=0x447ca4 <conflictCall>, pCtx=0x0) at ./sqlite3.c:205968 #13 0x00591948 in sessionChangesetApply (db=0x6431c0, pIter=0x656f10, xFilter=0x0, xConflict=0x447ca4 <conflictCall>, pCtx=0x0, ppRebase=0x0, pnRebase=0x0, flags=<optimized out>) at ./sqlite3.c:206207 #14 0x005928f4 in sqlite3changeset_apply_v2 (db=0x6431c0, nChangeset=<optimized out>, pChangeset=<optimized out>, xFilter=0x0, xConflict=0x447ca4 <conflictCall>, pCtx=0x0, ppRebase=0x0, pnRebase=0x0, flags=0) at ./sqlite3.c:206288 #15 0x00417bb0 in sqlite3changeset_apply (pCtx=0x0, xConflict=0x447ca4 <conflictCall>, xFilter=0x0, pChangeset=0x6664d0, nChangeset=<optimized out>, db=<optimized out>) at ./sqlite3.c:206315 #16 main (argc=3, argv=<optimized out>) at /var/tmp/portage/dev-db/sqlite-3.32.3/work/sqlite-src-3320300-.ppc/test/sessionfuzz.c:930 (gdb) </verbatim></pre>
sessionfuzz fails on some architectures (ARM, PPC, SPARC)
(1.1) By Arfrever Frehtes Taifersar Arahesis (Arfrever) on 2020-07-22 20:11:45 edited from 1.0 [link]
Some users have reported that sessionfuzz fails on some architectures (ARM, PPC, SPARC). I do not know if underlying cause of problem is the same on all of these architectures. I do not have access to that hardware. sessionfuzz succeeds for me on x86_32 and x86_64. [https://bugs.gentoo.org/685874] [https://bugs.gentoo.org/733092] <b>SQLite configuration</b>: <pre><verbatim>export CPPFLAGS="-DSQLITE_ENABLE_API_ARMOR -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_HIDDEN_COLUMNS -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_ENABLE_NORMALIZE -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT -DSQLITE_SOUNDEX -DSQLITE_USE_URI -DSQLITE_SECURE_DELETE" ./configure --enable-load-extension --enable-threadsafe --enable-fts5 --enable-session --disable-debug --disable-editline --enable-readline --with-readline-inc=-I/usr/include/readline --disable-static --enable-tcl </verbatim></pre> <b>GDB output on PPC</b>: <pre><verbatim>Reading symbols from ./sessionfuzz... (gdb) r Starting program: /var/tmp/portage/dev-db/sqlite-3.32.3/work/sqlite-src-3320300-.ppc/sessionfuzz run test/sessionfuzz-data1.db [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/libthread_db.so.1". sessionfuzz-data1.db: sessionfuzz: ./sqlite3.c:57398: pager_open_journal: Assertion `rc!=SQLITE_OK || isOpen(pPager->jfd)' failed. Program received signal SIGABRT, Aborted. 0xf7e0d1d0 in raise () from /lib/libc.so.6 (gdb) bt #0 0xf7e0d1d0 in raise () from /lib/libc.so.6 #1 0xf7df2e2c in abort () from /lib/libc.so.6 #2 0xf7e03b2c in ?? () from /lib/libc.so.6 #3 0xf7e03bb0 in __assert_fail () from /lib/libc.so.6 #4 0x004c85d0 in pager_open_journal (pPager=0x6448e0) at ./sqlite3.c:57398 #5 pager_write (pPg=0x66d6a0) at ./sqlite3.c:57596 #6 0x004cfaf4 in insertCell (pPage=0x66d6c8, i=0, pCell=0x643bb4 "\002\002\r", sz=4, pTemp=0x0, iChild=0, pRC=0xffffda40) at ./sqlite3.c:71088 #7 0x004d9bb4 in sqlite3BtreeInsert (pCur=0x64d398, pX=0xffffdb70, flags=<optimized out>, seekResult=<optimized out>) at ./sqlite3.c:73173 #8 0x0051d110 in sqlite3VdbeExec (p=<optimized out>) at ./sqlite3.c:90754 #9 0x0052b354 in sqlite3Step (p=0x64dc90) at ./sqlite3.c:83488 #10 sqlite3_step (pStmt=0x64dc90) at ./sqlite3.c:18017 #11 0x00565aa0 in sessionApplyOneOp (pIter=0x656f10, p=0xffffdee8, xConflict=0x447ca4 <conflictCall>, pCtx=0x0, pbReplace=0xffffde74, pbRetry=0xffffde78) at ./sqlite3.c:205933 #12 0x00565ee8 in sessionApplyOneWithRetry (db=0x6431c0, pIter=0x656f10, pApply=0xffffdee8, xConflict=0x447ca4 <conflictCall>, pCtx=0x0) at ./sqlite3.c:205968 #13 0x00591948 in sessionChangesetApply (db=0x6431c0, pIter=0x656f10, xFilter=0x0, xConflict=0x447ca4 <conflictCall>, pCtx=0x0, ppRebase=0x0, pnRebase=0x0, flags=<optimized out>) at ./sqlite3.c:206207 #14 0x005928f4 in sqlite3changeset_apply_v2 (db=0x6431c0, nChangeset=<optimized out>, pChangeset=<optimized out>, xFilter=0x0, xConflict=0x447ca4 <conflictCall>, pCtx=0x0, ppRebase=0x0, pnRebase=0x0, flags=0) at ./sqlite3.c:206288 #15 0x00417bb0 in sqlite3changeset_apply (pCtx=0x0, xConflict=0x447ca4 <conflictCall>, xFilter=0x0, pChangeset=0x6664d0, nChangeset=<optimized out>, db=<optimized out>) at ./sqlite3.c:206315 #16 main (argc=3, argv=<optimized out>) at /var/tmp/portage/dev-db/sqlite-3.32.3/work/sqlite-src-3320300-.ppc/test/sessionfuzz.c:930 (gdb) </verbatim></pre>