Can't reproduce this. The only options you have that I'm not using are alloc_mode=default and fsync_mode=posix (kernel is too old here), but they're the default values anyway. So, if you start with no database, create it, then query it, you get the error? i.e. the third command here reports an IO error, correct? rm a.db sqlite3 a.db "CREATE TABLE t1(x, y)" sqlite3 a.db "SELECT * FROM sqlite_schema" If so, can you try running: rm a.db sqlite3 a.db "CREATE TABLE t1(x, y)" strace -o strace_error.log sqlite3 a.db "SELECT * FROM sqlite_schema" and then post the contents of file "strace_error.log" for us? Thanks, Dan.