I've seen something like this happen before when fsync() did not work correctly on a platform, and subsequent fstat() calls returned erroneous information.
In any event, see if your NFS server is using async IO for its writes. It probably is, as async is the default and is much faster - but it's also less safe. Try mounting NFS with sync and rerun the tests. Even if it works, the speed (or lack thereof) may make it unusable. http://www.troubleshooters.com/linux/nfs.htm --- Arun Bhalla <[EMAIL PROTECTED]> wrote: > Arun Bhalla wrote: > > 2) In order to help diagnose the problem, we ran some unit tests, and we > > had some unusual results: > > > c) On a Linux/x86 VM (running under Windows), some tests fail. I > > don't have the specifics at the moment, but that would be cause for > > alarm, particularly the failures are above (a) and (b), assuming those > > are not problematic. > > Here are the test failures. It looks like to me that the NFS > implementation is the problem and not SQLite, but if someone can confirm > one way or the other or provide hints, that would be great. > > From SQLite 3.4.1: > > avtrans-9.2.1-1024... > Expected: [1024 67941cd790716d4a63548cd51aa51707] > Got: [404 624f6573af0850effc03dad438a7bb22] > avtrans-9.2.2-1024... > Expected: [1024 67941cd790716d4a63548cd51aa51707] > Got: [400 32e7ee7933bb9daedb9beebd4ee3b6e9] > avtrans-9.2.3-1024... Ok > avtrans-9.2.4-1024... Ok > avtrans-9.2.5-1024... Ok > avtrans-9.3.1-434... > Expected: [434 61b0d88626a9cfb71469d42bbce87c2d] > Got: [415 5453c0f719486ccee158ec7690caa467] > avtrans-9.3.2-434... > Expected: [434 61b0d88626a9cfb71469d42bbce87c2d] > Got: [418 9727721910a7c205200e90b7c1407f15] > avtrans-9.3.3-434... Ok > avtrans-9.3.4-434... Ok > avtrans-9.3.5-434... Ok > avtrans-9.4.1-449... > Error: database disk image is malformed > avtrans-9.4.2-449... > Error: cannot start a transaction within a transaction > avtrans-9.4.3-449... > Error: database disk image is malformed > avtrans-9.4.4-449... Ok > avtrans-9.4.5-449... Ok > /nfs/t/sqlite-3.4.1/.libs/lt-testfixture: database disk image > is malformed > while executing > "db eval {SELECT count(*), md5sum(x) FROM t3}" > (procedure "signature" line 2) > invoked from within > "signature" > ("for" body line 2) > invoked from within > "for {set i 2} {$i<=$limit} {incr i} { > set ::sig [signature] > set cnt [lindex $::sig 0] > if {$i%2==0} { > execsql {PRAGMA fullfsync=ON} > } else ..." > (file "./test/avtrans.test" line 863) > invoked from within > "source $testfile" > ("foreach" body line 5) > invoked from within > "foreach testfile [lsort -dictionary [glob $testdir/*.test]] { > set tail [file tail $testfile] > if {[lsearch -exact $EXCLUDE $tail]>=0} continue > ..." > ("for" body line 7) > invoked from within > "for {set Counter 0} {$Counter<$COUNT && $nErr==0} {incr Counter} { > if {$Counter%2} { > set ::SETUP_SQL {PRAGMA default_synchronous=off;} > } else ..." > (file "./test/all.test" line 85) > make: *** [fulltest] Error 1 > > From SQLite 3.5.2: > > avtrans-9.1... > Error: database disk image is malformed > /nfs/t/src/sqlite-3.5.2/.libs/lt-testfixture: database disk > image is malformed > while executing > "db eval {SELECT count(*), md5sum(x) FROM t3}" > (procedure "signature" line 2) > invoked from within > "signature" > ("for" body line 2) > invoked from within > "for {set i 2} {$i<=$limit} {incr i} { > set ::sig [signature] > set cnt [lindex $::sig 0] > if {$i%2==0} { > execsql {PRAGMA fullfsync=ON} > } else ..." > (file "./test/avtrans.test" line 865) > invoked from within > "source $testfile" > ("foreach" body line 5) > invoked from within > "foreach testfile [lsort -dictionary [glob $testdir/*.test]] { > set tail [file tail $testfile] > if {[lsearch -exact $EXCLUDE $tail]>=0} continue > ..." > ("for" body line 7) > invoked from within > "for {set Counter 0} {$Counter<$COUNT && $nErr==0} {incr Counter} { > if {$Counter%2} { > set ::SETUP_SQL {PRAGMA default_synchronous=off;} > } else ..." > (file "./test/all.test" line 83) > make: *** [fulltest] Error 1 ____________________________________________________________________________________ Be a better sports nut! Let your teams follow you with Yahoo Mobile. Try it now. http://mobile.yahoo.com/sports;_ylt=At9_qDKvtAbMuh1G1SQtBI7ntAcJ ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------