On 11/20/19 1:04 PM, Richard Hipp wrote:
On 11/20/19, Dennis Clarke <dcla...@blastwave.org> wrote:

However the tests fail repeatedly with a code dump :


Unable to reproduce the problem.  What do you get when you run:

     ./testfixture test/walvfs.test

What version of TCL are you linking against?

For casual observers, please note that the segfault is in the test
harness, not in SQLite itself.  Probably it is an issue with the test
harness itself and not a problem with the SQLite core.  But we will
see...


Oh yes this is the test suite situation which actually stops the install
process. Sure I could blindly install with the knowledge from extensive
hours and a few years looking over the sqlite code. Sure. However a test
report is sort of essential.

This is linked against tcl8.7a1 wherein I did see :

Tests ended at Thu Nov 07 03:24:35 GMT 2019
all.tcl:        Total   31405   Passed  30187   Skipped 1218    Failed  0
Sourced 148 Test Files.
Number of tests skipped for each constraint:
        9       !ieeeFloatingPoint
        3       asyncPipeChan
        76      bigEndian
        5       bug-3057639
        49      dde
        4       dontCopyLinks
        63      emptyTest
        5       fullutf
        2       hasIsoLocale
        1       knownBadTest
        39      knownBug
        100     localeRegexp
        48      longIs32bit
        14      macosxFileAttr
        45      nonPortable
        5       notNetworkFilesystem
        1       obsolete
        4       readonlyAttr
        3       singleTestInterp
        1       testexprparser && !ieeeFloatingPoint
        7       testpreferstable
        1       testwinclock
        21      testwordend
        189     thread
        2       unthreaded
        2       wideBiggerThanInt
        504     win
        4       winVista

So that is flawless.  Also other software work has already proceeded
with that tcl.

Also :

boe13$ cd sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.006
boe13$ ls -lapb ./testfixture
-rwxr-xr-x. 1 dclarke devl 5426184 Nov 20 04:35 ./testfixture
boe13$ ldd ./testfixture
        linux-vdso.so.1 =>  (0x00007fff993b6000)
        libtcl8.7.so => /opt/bw/lib/libtcl8.7.so (0x00007fd8119bd000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fd8117af000)
        libz.so.1 => /opt/bw/lib/libz.so.1 (0x00007fd811591000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd811375000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fd810fb1000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fd810caf000)
        /lib64/ld-linux-x86-64.so.2 (0x0000560607599000)
boe13$
boe13$ ./testfixture test/walvfs.test
walvfs-1.0... Ok
walvfs-1.1... Ok
walvfs-1.2... Ok
walvfs-1.3... Ok
walvfs-2.0... Ok
walvfs-2.1... Ok
walvfs-2.2... Ok
walvfs-2.3... Ok
walvfs-3.0... Ok
walvfs-3.1... Ok
walvfs-3.2... Ok
walvfs-4.0... Ok
walvfs-4.1... Ok
walvfs-4.2... Ok
walvfs-5.0... Ok
walvfs-5.1... Ok
walvfs-5.2... Ok
walvfs-5.3... Ok
walvfs-5.3... Ok
walvfs-5.4... Ok
walvfs-5.5... Ok
walvfs-5.6... Ok
walvfs-6.0... Ok
walvfs-6.1... Ok
# WARNING: This next test takes around 12 seconds
walvfs-6.2... Ok
walvfs-7.0... Ok
walvfs-7.1... Ok
walvfs-8.0... Ok
walvfs-8.1... Ok
walvfs-8.2... Ok
walvfs-8.3... Ok
Segmentation fault (core dumped)
boe13$

Let's try that in the debugger :

boe13$ TERM=dumb gdb -q ./testfixture
Reading symbols from /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.006/testfixture...done.
(gdb) run test/walvfs.test
Starting program: /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.006/./testfixture test/walvfs.test
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
walvfs-1.0... Ok
walvfs-1.1... Ok
walvfs-1.2... Ok
walvfs-1.3... Ok
walvfs-2.0... Ok
walvfs-2.1... Ok
walvfs-2.2... Ok
walvfs-2.3... Ok
walvfs-3.0... Ok
walvfs-3.1... Ok
walvfs-3.2... Ok
walvfs-4.0... Ok
walvfs-4.1... Ok
walvfs-4.2... Ok
walvfs-5.0... Ok
walvfs-5.1... Ok
walvfs-5.2... Ok
walvfs-5.3... Ok
walvfs-5.3... Ok
walvfs-5.4... Ok
walvfs-5.5... Ok
walvfs-5.6... Ok
walvfs-6.0... Ok
walvfs-6.1... Ok
# WARNING: This next test takes around 12 seconds
walvfs-6.2... Ok
walvfs-7.0... Ok
walvfs-7.1... Ok
walvfs-8.0... Ok
walvfs-8.1... Ok
walvfs-8.2... Ok
walvfs-8.3... Ok

Program received signal SIGSEGV, Segmentation fault.
0x000000000043c71b in tvfsFileControl (pFile=0xa03c80, op=20, pArg=0x7fffffffd918) at /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.006/src/test_vfs.c:549
549       if( p->pScript && (p->mask&TESTVFS_FCNTL_MASK) ){
Missing separate debuginfos, use: debuginfo-install glibc-2.17-196.el7.x86_64
(gdb) where
#0 0x000000000043c71b in tvfsFileControl (pFile=0xa03c80, op=20, pArg=0x7fffffffd918) at /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.006/src/test_vfs.c:549 #1 0x000000000046c4e9 in sqlite3OsFileControl (id=0xa03c80, op=20, pArg=0x7fffffffd918) at sqlite3.c:22475 #2 0x000000000048a47e in databaseIsUnmoved (pPager=0xa03b00) at sqlite3.c:54928 #3 0x000000000048a59c in sqlite3PagerClose (pPager=0xa03b00, db=0x9f5b20) at sqlite3.c:54969
#4  0x000000000049bf12 in sqlite3BtreeClose (p=0x976140) at sqlite3.c:66134
#5 0x000000000054ebac in sqlite3LeaveMutexAndCloseZombie (db=0x9f5b20) at sqlite3.c:157429 #6 0x000000000054eacc in sqlite3Close (db=0x9f5b20, forceZombie=0) at sqlite3.c:157372
#7  0x000000000054eaf0 in sqlite3_close (db=0x9f5b20) at sqlite3.c:157385
#8  0x00000000004611cf in DbDeleteCmd (db=0x98fa18)
at /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.006/src/tclsqlite.c:528 #9 0x00007ffff79dd330 in Tcl_DeleteCommandFromToken (interp=0x7ec318, cmd=0x9fe8a8)
    at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:3184
#10 0x00007ffff79dd179 in Tcl_DeleteCommand (interp=0x7ec318, cmdName=0x903208 "db")
    at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:3045
#11 0x0000000000464d45 in DbObjCmd (cd=0x98fa18, interp=0x7ec318, objc=2, objv=0x7efc18) at /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.006/src/tclsqlite.c:2219 #12 0x00007ffff79dee2a in Dispatch (data=0x979240, interp=0x7ec318, result=0)
    at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:4418
#13 0x00007ffff79deeb7 in TclNRRunCallbacks (interp=0x7ec318, result=0, rootPtr=0x0)
    at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:4451
#14 0x00007ffff79de708 in Tcl_EvalObjv (interp=0x7ec318, objc=5, objv=0x7ef8a0, flags=2097168)
    at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:4181
#15 0x00007ffff79e0bf6 in TclEvalEx (interp=0x7ec318,
script=0x566360 <zMainloop.11226> "if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewl"...,
    numBytes=430, flags=0, line=1, clNextOuter=0x0,
outerScript=0x566360 <zMainloop.11226> "if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewl"...) at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:5320
#16 0x00007ffff79dffc4 in Tcl_EvalEx (interp=0x7ec318,
script=0x566360 <zMainloop.11226> "if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewl"..., numBytes=-1, flags=0) at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:4985
#17 0x00007ffff79e2c68 in Tcl_GlobalEval (interp=0x7ec318,
command=0x566360 <zMainloop.11226> "if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewl"...)
    at /opt/bw/build/nist/tcl8.7a1/generic/tclBasic.c:6983
#18 0x0000000000468e38 in main (argc=2, argv=0x7fffffffe398)
at /opt/bw/build/sqlite-src-3300100_rhel_74_3.10.0-693.el7.x86_64.006/src/tclsqlite.c:4008
(gdb)


In any case feels like a real problem.



--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional



_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to