JNI Invocation - BAD SYS CALL
rs
rscheckelhoff at fourcalorieservers.com
Thu Oct 9 15:37:29 UTC 2008
Hello FreeBSD java experts:
I created a little c++ test program to launch the java vm (JDK1.6.0 on Freebsd 7.0) from native code with jni:
...
...
//
// Pertinent line of code in test prog
//
JNI_CreateJavaVM(&jvm,(void **)&env, &vm_args);
...
...
When the test program is executed with truss, the following partial result indicates that a call to non-existent ksem_init call is causing SIGSYS.
...
...
lstat("/usr",{mode=drwxr-xr-x ,inode=2,size=512,blksize=4096}) = 0 (0x0)
lstat("/usr/local",{mode=drwxr-xr-x ,inode=2237440,size=512,blksize=4096}) = 0 (0x0)
lstat("/usr/local/jdk1.6.0",{mode=drwxr-xr-x ,inode=2500448,size=512,blksize=4096}) = 0 (0x0)
lstat("/usr/local/jdk1.6.0/java",{mode=drwxr-xr-x ,inode=2500507,size=2048,blksize=4096}) = 0 (0x0)
gettimeofday({1223561385.433876},0x0) = 0 (0x0)
stat("/usr/local/jdk1.6.0/java",{mode=drwxr-xr-x ,inode=2500507,size=2048,blksize=4096}) = 0 (0x0)
gettimeofday({1223561385.435170},0x0) = 0 (0x0)
gettimeofday({1223561385.435451},0x0) = 0 (0x0)
lseek(3,0x2b0d74c,SEEK_SET) = 45143884 (0x2b0d74c)
read(3,"PK\^C\^D\n\0\0\0\0\0\M^U\M^Q\f9"...,30) = 30 (0x1e)
lseek(3,0x2b0d791,SEEK_SET) = 45143953 (0x2b0d791)
read(3,"\M-J\M-~\M-:\M->\0\0\0001\0<\b\0"...,1134) = 1134 (0x46e)
gettimeofday({1223561385.436426},0x0) = 0 (0x0)
gettimeofday({1223561385.436553},0x0) = 0 (0x0)
gettimeofday({1223561385.436811},0x0) = 0 (0x0)
gettimeofday({1223561385.436972},0x0) = 0 (0x0)
gettimeofday({1223561385.437336},0x0) = 0 (0x0)
gettimeofday({1223561385.437588},0x0) = 0 (0x0)
gettimeofday({1223561385.437729},0x0) = 0 (0x0)
gettimeofday({1223561385.437879},0x0) = 0 (0x0)
gettimeofday({1223561385.438150},0x0) = 0 (0x0)
gettimeofday({1223561385.537357},0x0) = 0 (0x0)
gettimeofday({1223561385.537543},0x0) = 0 (0x0)
ksem_init(0xbfbfe87c,0x0,0x2804a419,0x28077200,0x510,0x0) ERR#78 'Function not implemented'
SIGNAL 12 (SIGSYS)
Subsequent culling of mailing list indicates that 7.0-RELEASE GENERIC kernel does not enable P1003_1B_SEMAPHORES, and so the "Function not implemented" messages is reasonable. Before I go to rebuild the kernel with with additional semaphore option, can anybody tell me if there are issues/caveats with doing this?
- Thanks
Ron
More information about the freebsd-java
mailing list