On 03/12/2013 06:45 PM, bkk wrote:
Below is the backtrace from the gdb when the failure happened.
Seems odd to me. Assuming this is happening within the sysfault-2.1 test case, then the first stack should be setting errno to EINTR. Causing the robust_ftruncate() function to retry ts_ftruncate(). The second call should succeed. Is it invoking ts_ftruncate() a second time after the first (failing) call returns. Is the failing call that we can see in the stack trace below really setting errno to EINTR? Dan.
#0 tsIsFail () at ./src/test_syscall.c:163 #1 0x000324b4 in tsIsFailErrno (zFunc=0xc8920 "ftruncate") at ./src/test_syscall.c:196 #2 0x0003268c in ts_ftruncate (fd=5, n=206456) at ./src/test_syscall.c:273 #3 0x000627f0 in robust_ftruncate (sz=0, h=5) at sqlite3.c:23589 #4 unixTruncate (nByte=0, id=0x12f2e0) at sqlite3.c:26363 #5 unixTruncate (id=0x12f2e0, nByte=<optimized out>) at sqlite3.c:26348 #6 0x00069284 in sqlite3OsTruncate (size=0, id=0x12f2e0) at sqlite3.c:15034 #7 pager_end_transaction (pPager=0x12f148, hasMaster=<optimized out>, bCommit=1) at sqlite3.c:39294 #8 0x0006945c in sqlite3PagerCommitPhaseTwo (pPager=0x12f148) at sqlite3.c:43388 #9 0x0007a5dc in sqlite3BtreeCommitPhaseTwo (bCleanup=0, p=0x131e50) at sqlite3.c:51636 #10 sqlite3BtreeCommitPhaseTwo (p=0x131e50, bCleanup=0) at sqlite3.c:51622 #11 0x0008bd2c in vdbeCommit (p=0x131c88, db=0x14c6c0) at sqlite3.c:60488 #12 sqlite3VdbeHalt (p=0x131c88) at sqlite3.c:60877 #13 0x000b6a84 in sqlite3VdbeExec (p=0x131c88) at sqlite3.c:64906 #14 0x000a50b8 in sqlite3Step (p=0x131c88) at sqlite3.c:62344 #15 sqlite3_step (pStmt=<optimized out>) at sqlite3.c:62418 #16 0x00038a78 in dbEvalStep (p=0x7efff288) at ./src/tclsqlite.c:1400 #17 0x0003bde0 in DbObjCmd (cd=0x130468, interp=0x107198, objc=<optimized out>, objv=0x10802c) at ./src/tclsqlite.c:2251 ================================================================================ (gdb) backtrace #0 unixTruncate (nByte=0, id=0x12f2e0) at sqlite3.c:26366 #1 unixTruncate (id=0x12f2e0, nByte=<optimized out>) at sqlite3.c:26348 #2 0x00069284 in sqlite3OsTruncate (size=0, id=0x12f2e0) at sqlite3.c:15034 #3 pager_end_transaction (pPager=0x12f148, hasMaster=<optimized out>, bCommit=1) at sqlite3.c:39294 #4 0x0006945c in sqlite3PagerCommitPhaseTwo (pPager=0x12f148) at sqlite3.c:43388 #5 0x0007a5dc in sqlite3BtreeCommitPhaseTwo (bCleanup=0, p=0x131e50) at sqlite3.c:51636 #6 sqlite3BtreeCommitPhaseTwo (p=0x131e50, bCleanup=0) at sqlite3.c:51622 #7 0x0008bd2c in vdbeCommit (p=0x131c88, db=0x14c6c0) at sqlite3.c:60488 #8 sqlite3VdbeHalt (p=0x131c88) at sqlite3.c:60877 #9 0x000b6a84 in sqlite3VdbeExec (p=0x131c88) at sqlite3.c:64906 #10 0x000a50b8 in sqlite3Step (p=0x131c88) at sqlite3.c:62344 #11 sqlite3_step (pStmt=<optimized out>) at sqlite3.c:62418 #12 0x00038a78 in dbEvalStep (p=0x7efff288) at ./src/tclsqlite.c:1400 #13 0x0003bde0 in DbObjCmd (cd=0x130468, interp=0x107198, objc=<optimized out>, objv=0x10802c) at ./src/tclsqlite.c:2251 #14 0x2aaf4348 in ?? () #15 0x2aaf4348 in ?? () ================================================================================ (gdb) backtrace #0 unixLogErrorAtLine (errcode=1546, zFunc=0xc8920 "ftruncate", zPath=0x12f350 "/home/brijesh/mySQLtry/test.db-journal", iLine=26366) at sqlite3.c:23979 #1 0x00069284 in sqlite3OsTruncate (size=0, id=0x12f2e0) at sqlite3.c:15034 #2 pager_end_transaction (pPager=0x12f148, hasMaster=<optimized out>, bCommit=1) at sqlite3.c:39294 #3 0x0006945c in sqlite3PagerCommitPhaseTwo (pPager=0x12f148) at sqlite3.c:43388 #4 0x0007a5dc in sqlite3BtreeCommitPhaseTwo (bCleanup=0, p=0x131e50) at sqlite3.c:51636 #5 sqlite3BtreeCommitPhaseTwo (p=0x131e50, bCleanup=0) at sqlite3.c:51622 #6 0x0008bd2c in vdbeCommit (p=0x131c88, db=0x14c6c0) at sqlite3.c:60488 #7 sqlite3VdbeHalt (p=0x131c88) at sqlite3.c:60877 #8 0x000b6a84 in sqlite3VdbeExec (p=0x131c88) at sqlite3.c:64906 #9 0x000a50b8 in sqlite3Step (p=0x131c88) at sqlite3.c:62344 #10 sqlite3_step (pStmt=<optimized out>) at sqlite3.c:62418 #11 0x00038a78 in dbEvalStep (p=0x7efff288) at ./src/tclsqlite.c:1400 #12 0x0003bde0 in DbObjCmd (cd=0x130468, interp=0x107198, objc=<optimized out>, objv=0x10802c) at ./src/tclsqlite.c:2251 #13 0x2aaf4348 in ?? () #14 0x2aaf4348 in ?? () ================================================================================ #0 sqlite3Step (p=<optimized out>) at sqlite3.c:62366 #1 sqlite3_step (pStmt=<optimized out>) at sqlite3.c:62418 #2 0x00038a78 in dbEvalStep (p=0x7efff288) at ./src/tclsqlite.c:1400 #3 0x0003bde0 in DbObjCmd (cd=0x130468, interp=0x107198, objc=<optimized out>, objv=0x10802c) at ./src/tclsqlite.c:2251 #4 0x2aaf4348 in ?? () #5 0x2aaf4348 in ?? () -- View this message in context: http://sqlite.1065341.n5.nabble.com/TCL-Test-failures-on-ARM-tp67612p67641.html Sent from the SQLite mailing list archive at Nabble.com. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users