Preprocessor Macro:
#if defined (_AIX)
Looks like the MJ file is not getting created, sqlite 3.5.9 This is also
reproducible via the command line: Possibly an issue with the journal mode code
that was introduced.
SQLite version 3.5.9
Enter ".help" for instructions
sqlite> attach database '../db/ixp_15a6.db' as m;
sqlite> begin immediate;
sqlite> commit;
SQL error: disk I/O error
Truss output for "Begin immediate":
kread(0, 0xF036FAF0, 4096) (sleeping...)
kread(0, 0xF036FAF0, 4096) = 17
kfcntl(3, 12, 0x2FF21168) = 0
kfcntl(3, 12, 0x2FF21168) = 0
kfcntl(3, 12, 0x2FF21168) = 0
access("/home/ixion/ix_propagator/data/db/ajax102/batch/bat_28.db-journal", 0)
Err#2 ENOENT
fstatx(3, 0x2FF210D0, 128, 010) = 0
klseek(3, 0, 24, 0x00000000) = 0
kread(3, "\0\0\0\n\0\0\0\0\0\0\0\0".., 16) = 16
kfcntl(3, 12, 0x2FF21388) = 0
open("/home/ixion/ix_propagator/data/db/ajax102/batch/bat_28.db-journal",
O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE) = 5
open("/home/ixion/ix_propagator/data/db/ajax102/batch", O_RDONLY|O_LARGEFILE) =
6
kfcntl(6, F_GETFD, 0x00000000) = 0
kfcntl(6, F_SETFD, 0x00000001) = 0
kfcntl(5, F_GETFD, 0x00000000) = 0
kfcntl(5, F_SETFD, 0x00000001) = 0
fstatx(5, 0x2FF211E0, 128, 010) = 0
klseek(5, 0, 0, 0x00000000) = 0
kwrite(5, " � �05 � � c �\0\0\0\0".., 512)
= 512
kfcntl(4, 12, 0x2FF21168) = 0
kfcntl(4, 12, 0x2FF21168) = 0
kfcntl(4, 12, 0x2FF21168) = 0
access("/home/ixion/ix_propagator/data/db/ajax102/batch/../db/ixp_15a6.db-journal",
0) Err#2 ENOENT
fstatx(4, 0x2FF210D0, 128, 010) = 0
klseek(4, 0, 24, 0x00000000) = 0
kread(4, "\0\0\0\t\0\0\0\0\0\0\0\0".., 16) = 16
kfcntl(4, 12, 0x2FF21388) = 0
open("/home/ixion/ix_propagator/data/db/ajax102/batch/../db/ixp_15a6.db-journal",
O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE) = 7
open("/home/ixion/ix_propagator/data/db/ajax102/batch/../db",
O_RDONLY|O_LARGEFILE) = 8
kfcntl(8, F_GETFD, 0x00000000) = 0
kfcntl(8, F_SETFD, 0x00000001) = 0
kfcntl(7, F_GETFD, 0x00000000) = 0
kfcntl(7, F_SETFD, 0x00000001) = 0
fstatx(7, 0x2FF211E0, 128, 010) = 0
klseek(7, 0, 0, 0x00000000) = 0
kwrite(7, " � �05 � � c �\0\0\0\0".., 512)
= 512
kfcntl(1, F_GETFL, 0x20002398) = 2
kwrite(1, 0xF0373B18, 8) = 8
kfcntl(1, F_GETFL, 0x20002398) = 2
kread(0, 0xF036FAF0, 4096) = 1
yield() =
kread(0, 0xF036FAF0, 4096) (sleeping...)
===================================
Truss output for the commit:
kread(0, 0xF036FAF0, 4096) (sleeping...)
kread(0, 0xF036FAF0, 4096) = 8
access("/home/ixion/ix_propagator/data/db/ajax102/batch/bat_28.db-mj7DF9F4DF",
0) Err#2 ENOENT
open("/home/ixion/ix_propagator/data/db/ajax102/batch/bat_28.db-mj7DF9F4DF",
O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE) = 9
open("/home/ixion/ix_propagator/data/db/ajax102/batch", O_RDONLY|O_LARGEFILE) =
10
kfcntl(10, F_GETFD, 0x00000000) = 0
kfcntl(10, F_SETFD, 0x00000001) = 0
kfcntl(9, F_GETFD, 0x00000000) = 0
kfcntl(9, F_SETFD, 0x00000001) = 0
fstatx(9, 0x2FF21170, 128, 010) = 0
klseek(9, 0, 0, 0x00000000) = 0
kwrite(9, " / h o m e / i x i o n /".., 66) = 66
klseek(9, 0, 66, 0x00000000) = 0
kwrite(9, " / h o m e / i x i o n /".., 74) = 74
fsync(9) = 0
fsync(10) Err#9 EBADF
close(10) = 0
close(9) = 0
unlink("/home/ixion/ix_propagator/data/db/ajax102/batch/bat_28.db-mj7DF9F4DF")
= 0
open("/home/ixion/ix_propagator/data/db/ajax102/batch", O_RDONLY|O_LARGEFILE) =
9
kfcntl(9, F_GETFD, 0x00000000) = 0
kfcntl(9, F_SETFD, 0x00000001) = 0
fsync(9) Err#9 EBADF
close(9) = 0
close(6) = 0
close(5) = 0
unlink("/home/ixion/ix_propagator/data/db/ajax102/batch/bat_28.db-journal") = 0
kfcntl(3, 12, 0x2FF211F0) = 0
kfcntl(3, 12, 0x2FF211F0) = 0
kfcntl(3, 12, 0x2FF210F0) = 0
close(8) = 0
close(7) = 0
unlink("/home/ixion/ix_propagator/data/db/ajax102/batch/../db/ixp_15a6.db-journal")
= 0
kfcntl(4, 12, 0x2FF211F0) = 0
kfcntl(4, 12, 0x2FF211F0) = 0
kfcntl(4, 12, 0x2FF210F0) = 0
kwrite(1, 0xF0373B18, 26) = 26
kfcntl(1, F_GETFL, 0x20002398) = 2
kwrite(1, 0xF0373B18, 8) = 8
kfcntl(1, F_GETFL, 0x20002398) = 2
kread(0, 0xF036FAF0, 4096) = 1
"D. Richard Hipp" <[EMAIL PROTECTED]> wrote:
On Jul 14, 2008, at 1:31 PM, Ken wrote:
> sqlite 3.5.9 and AIX 5.3
>
> Upon commit of a main DB with an attached DB sqlite returns (1290)
> 0x50A SQLITE_IOERR_DIR_FSYNC
>
>
> what would cause this? Any ideas on how to resolve?
SQLite is attempting to fsync() a directory after unlinking the master
journal file from that directory. Apparently AIX does not like you to
call fsync() on a directory. Can you provide us more information on
the capabilities and limitations of AIX in the area of fsync() so that
we can try to figure out what it expects? Perhaps also provide us
with a C preprocessor macro that we can use to conditionally compile
for AIX.
D. Richard Hipp
[EMAIL PROTECTED]
"D. Richard Hipp" <[EMAIL PROTECTED]> wrote:
On Jul 14, 2008, at 1:31 PM, Ken wrote:
> sqlite 3.5.9 and AIX 5.3
>
> Upon commit of a main DB with an attached DB sqlite returns (1290)
> 0x50A SQLITE_IOERR_DIR_FSYNC
>
>
> what would cause this? Any ideas on how to resolve?
SQLite is attempting to fsync() a directory after unlinking the master
journal file from that directory. Apparently AIX does not like you to
call fsync() on a directory. Can you provide us more information on
the capabilities and limitations of AIX in the area of fsync() so that
we can try to figure out what it expects? Perhaps also provide us
with a C preprocessor macro that we can use to conditionally compile
for AIX.
D. Richard Hipp
[EMAIL PROTECTED]
"D. Richard Hipp" <[EMAIL PROTECTED]> wrote:
On Jul 14, 2008, at 1:31 PM, Ken wrote:
> sqlite 3.5.9 and AIX 5.3
>
> Upon commit of a main DB with an attached DB sqlite returns (1290)
> 0x50A SQLITE_IOERR_DIR_FSYNC
>
>
> what would cause this? Any ideas on how to resolve?
SQLite is attempting to fsync() a directory after unlinking the master
journal file from that directory. Apparently AIX does not like you to
call fsync() on a directory. Can you provide us more information on
the capabilities and limitations of AIX in the area of fsync() so that
we can try to figure out what it expects? Perhaps also provide us
with a C preprocessor macro that we can use to conditionally compile
for AIX.
D. Richard Hipp
[EMAIL PROTECTED]
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users