[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Failed fs-test 65 (Was: Re: 1.9.5 up for signing/testing)

From: Evgeny Kotkov <evgeny.kotkov_at_visualsvn.com>
Date: Thu, 24 Nov 2016 02:05:12 +0300

Branko Čibej <brane_at_apache.org> writes:

> It is reproducible whether run as a single test, all of fs-test or the
> whole test suite; but only with SQLite 3.8.10.2. I suspect it is a test
> bug, but haven't followed up; could be due to a bug in SQLite itself,
> e.g., that the older version returns the wrong error code.
>
> The only potential problem as far as I can see is that 3.8.10.2 is the
> version of SQLite shipped with OSX — hence, the version that most
> binaries will be linking with.

Well, it gets interesting.

I can reproduce the failure under OS X 10.11 with bundled SQLite 3.8.10.2.
However, this failure is specific to SQLite that is shipped with OS X.
Official versions (including 3.8.10.2 from [1]) return SQLITE_BUSY,
as promised in the documentation, and the test passes.

`dtrace` shows that the version shipped with OS X is heavily patched.
There's a different syscall pattern: guarded_open_np/guarded_pwrite_np/
guarded_close_np instead of open/write/close, pread instead of lseek+read,
different fcntl calls, etc. The sqlite3.h headers are also a bit different.

I would guess that SQLite version shipped with OS X has a custom VFS
implementation, which doesn't keep some of the promises of the official
version, or contains a bug that results in an I/O error instead of expected
SQLITE_BUSY error.

Could you please confirm this by running the test with the official 3.8.10.2
from [1]?

[1] https://sqlite.org/2015/sqlite-amalgamation-3081002.zip

Thanks,
Evgeny Kotkov
Received on 2016-11-24 00:05:48 CET

This is an archived mail posted to the Subversion Dev mailing list.