Hi David,

I tried the nested 036 library also and it suffers from the same
symptoms.  I'll attach the call stacks at the end in case you are
interested to see the failure points.


I did try the following experiment though.  On a PPC, I made a simple
universal dynamic library project using XCode specifying the
NativeDB.c and the NativeDB.h file that gets created by your make
script as the only source files.  Rather than use the SQLite 3.4.0
source, I told it to link against Apple's internal dynamic SQLite 3.0
library and I named the target libsqlitejdbc.jnilib.

When I replaced your runtime library with this one, the file locking
problems _seemed_ to go away.  I have read some other postings that
hint that Apple uses some different locking in their version of SQLite
to get around network problems.

One problem with this is that Apple's version seems to be missing a
few functions such as sqlite3_table_column_metadata,
sqlite3_column_table_name & sqlite3_column_table_name16, so I just
stubbed those calls out for now, to get it to link.

This was just idiot savant coding though, I am not really a Mac guy.
But maybe using the Apple internal SQLite implementation is a possible
option?  Although that would only work for OS X 10.4+.


File write failure:
java.lang.RuntimeException: java.io.IOException: Operation not
supported
        at org.ibex.nestedvm.UnixRuntime.sys_fcntl_lock(UnixRuntime.java:869)
        at org.ibex.nestedvm.UnixRuntime._syscall(UnixRuntime.java:159)
        at org.ibex.nestedvm.Runtime.syscall(Runtime.java:1074)
        at org.sqlite.SQLite.run_0xcc400(build/SQLite.mips)
        at org.sqlite.SQLite.trampoline(build/SQLite.mips)
        at org.sqlite.SQLite._execute(build/SQLite.mips)
        at org.ibex.nestedvm.Runtime.__execute(Runtime.java:506)
        at org.ibex.nestedvm.Runtime.call(Runtime.java:678)
        at org.ibex.nestedvm.Runtime.call(Runtime.java:647)
        at org.sqlite.NestedDB.call(NestedDB.java:376)
        at org.sqlite.NestedDB.call(NestedDB.java:359)
        at org.sqlite.NestedDB.step(NestedDB.java:112)
        at org.sqlite.DB.step(DB.java:80)
        at org.sqlite.DB.execute(DB.java:219)
        at org.sqlite.DB.executeUpdate(DB.java:242)
        at org.sqlite.Stmt.executeUpdate(Stmt.java:83)
        at bJ.d(Unknown Source)
        at bJ.b(Unknown Source)
        at hr.c(Unknown Source)
        at cX.a(Unknown Source)
        at cz.a(Unknown Source)
        at kk.saveSheetFinished(Unknown Source)
        at x.x.x.x.jni.NativeDelegate$2.run(Unknown Source)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
        at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:
269)
        at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:
190)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:
184)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:
176)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: java.io.IOException: Operation not supported
        at sun.nio.ch.FileChannelImpl.lock0(Native Method)
        at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:822)
        at org.ibex.nestedvm.util.Platform$Jdk14._lockFile(Platform.java:220)
        at org.ibex.nestedvm.util.Platform.lockFile(Platform.java:65)
        at org.ibex.nestedvm.util.Seekable$File.lock(Seekable.java:108)
        at org.ibex.nestedvm.UnixRuntime.sys_fcntl_lock(UnixRuntime.java:854)

File read failure:
java.lang.Error: Internal Error in _syscall()
        at org.ibex.nestedvm.Runtime.syscall(Runtime.java:1086)
        at org.sqlite.SQLite.run_0xcc400(build/SQLite.mips)
        at org.sqlite.SQLite.trampoline(build/SQLite.mips)
        at org.sqlite.SQLite._execute(build/SQLite.mips)
        at org.ibex.nestedvm.Runtime.__execute(Runtime.java:506)
        at org.ibex.nestedvm.Runtime.call(Runtime.java:678)
        at org.ibex.nestedvm.Runtime.call(Runtime.java:647)
        at org.sqlite.NestedDB.call(NestedDB.java:376)
        at org.sqlite.NestedDB.call(NestedDB.java:372)
        at org.sqlite.NestedDB.prepare(NestedDB.java:92)
        at org.sqlite.DB.prepare(DB.java:62)
        at org.sqlite.Stmt.executeQuery(Stmt.java:69)

--
Rod



--~--~---------~--~----~------------~-------~--~----~
Mailing List: http://groups.google.com/group/sqlitejdbc?hl=en
To unsubscribe, send email to [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---

Reply via email to