DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9732>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9732 calling XML parser from a JNI library crashes the Java VM Summary: calling XML parser from a JNI library crashes the Java VM Product: Xerces-C++ Version: 1.7.0 Platform: PC URL: http://www.biochec.com/beta/bckLogin.html OS/Version: Linux Status: NEW Severity: Blocker Priority: Other Component: Miscellaneous AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] We have built a JNI that references a base shared-library which in turn incorporates Xerces-C++ parsing. The base library has been built/tested successfully under both Win2K and RHL7.2. The JNI has been built/tested successfully under Win2K running JRE1.4. However, running the JNI under RHL7.2 with JRE1.4, we receive the following crash: --------------------------------------------------------------- An unexpected exception has been detected in native code outside the VM. Unexpected Signal : 11 occurred at PC=0x4C6FB6BD Function=lock__8XMLMutex+0x19 Library=/work/lib/libxerces-c1_7_0.so Current Java thread: at com.bioChec.bioChecKey_JNI.bCk_VerifySignature(Native Method) at com.bioChec.vendor.bioChecKey.server.bpServerSDK.GetVerifyScore (bpServerSDK.java:37) at com.bioChec.server.bpxVerificationImpl.rmi_VERIFY_AUTH (bpxVerificationImpl.java:109) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261) at sun.rmi.transport.Transport$1.run(Transport.java:148) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:144) at sun.rmi.transport.tcp.TCPTransport.handleMessages (TCPTransport.java:460) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run (TCPTransport.java:701) at java.lang.Thread.run(Thread.java:536) Dynamic libraries: 08048000-0804d000 r-xp 00000000 08:05 55531 /opt/j2sdk1.4.0/bin/java 0804d000-0804e000 rw-p 00004000 08:05 55531 /opt/j2sdk1.4.0/bin/java 40000000-40016000 r-xp 00000000 08:05 415105 /lib/ld-2.2.4.so 40016000-40017000 rw-p 00015000 08:05 415105 /lib/ld-2.2.4.so 40018000-40027000 r-xp 00000000 08:05 415166 /lib/libpthread-0.9.so 40027000-4002f000 rw-p 0000e000 08:05 415166 /lib/libpthread-0.9.so 4002f000-40032000 r-xp 00000000 08:05 415142 /lib/libdl-2.2.4.so 40032000-40033000 rw-p 00002000 08:05 415142 /lib/libdl-2.2.4.so 40033000-40168000 r-xp 00000000 08:05 415108 /lib/libc-2.2.4.so 40168000-4016d000 rw-p 00134000 08:05 415108 /lib/libc-2.2.4.so 40171000-40434000 r-xp 00000000 08:05 37916 /opt/j2sdk1.4.0/jre/lib/i386/client/libjvm.so 40434000-4057c000 rw-p 002c2000 08:05 37916 /opt/j2sdk1.4.0/jre/lib/i386/client/libjvm.so 40590000-405a3000 r-xp 00000000 08:05 415122 /lib/libnsl-2.2.4.so 405a3000-405a4000 rw-p 00012000 08:05 415122 /lib/libnsl-2.2.4.so 405a6000-405da000 r-xp 00000000 08:05 253760 /usr/lib/libstdc++-2-libc6.1-1- 2.9.0.so 405da000-405e6000 rw-p 00033000 08:05 253760 /usr/lib/libstdc++-2-libc6.1-1- 2.9.0.so 405a3000-405a4000 rw-p 00012000 08:05 415122 /lib/libnsl-2.2.4.so 405a6000-405da000 r-xp 00000000 08:05 253760 /usr/lib/libstdc++-2-libc6.1-1- 2.9.0.so 405da000-405e6000 rw-p 00033000 08:05 253760 /usr/lib/libstdc++-2-libc6.1-1- 2.9.0.so 405e8000-4060a000 r-xp 00000000 08:05 415144 /lib/libm-2.2.4.so 4060a000-4060b000 rw-p 00021000 08:05 415144 /lib/libm-2.2.4.so 4060b000-40614000 r-xp 00000000 08:05 37914 /opt/j2sdk1.4.0/jre/lib/i386/native_threads/libhpi.so 40614000-40615000 rw-p 00008000 08:05 37914 /opt/j2sdk1.4.0/jre/lib/i386/native_threads/libhpi.so 40615000-40626000 r-xp 00000000 08:05 37920 /opt/j2sdk1.4.0/jre/lib/i386/libverify.so 40626000-40628000 rw-p 00010000 08:05 37920 /opt/j2sdk1.4.0/jre/lib/i386/libverify.so 40628000-40649000 r-xp 00000000 08:05 37921 /opt/j2sdk1.4.0/jre/lib/i386/libjava.so 40649000-4064b000 rw-p 00020000 08:05 37921 /opt/j2sdk1.4.0/jre/lib/i386/libjava.so 4064c000-40660000 r-xp 00000000 08:05 37923 /opt/j2sdk1.4.0/jre/lib/i386/libzip.so 40660000-40663000 rw-p 00013000 08:05 37923 /opt/j2sdk1.4.0/jre/lib/i386/libzip.so 40663000-41cdb000 r--s 00000000 08:05 37963 /opt/j2sdk1.4.0/jre/lib/rt.jar 41d1d000-41d34000 r--s 00000000 08:05 37944 /opt/j2sdk1.4.0/jre/lib/sunrsasign.jar 41d34000-41da2000 r--s 00000000 08:05 37946 /opt/j2sdk1.4.0/jre/lib/jsse.jar 41da2000-41db5000 r--s 00000000 08:05 37945 /opt/j2sdk1.4.0/jre/lib/jce.jar 41db5000-42036000 r--s 00000000 08:05 37961 /opt/j2sdk1.4.0/jre/lib/charsets.jar 42036000-421b6000 r--s 00000000 08:05 1259231 /usr/oracle/jdbc/lib/classes12.zip 4425e000-4425f000 r--p 00000000 08:05 2093843 /usr/lib/locale/en_US/LC_IDENTIFICATION 4425f000-44260000 r--p 00000000 08:05 1498214 /usr/lib/locale/en_US/LC_MEASUREMENT 4c2e0000-4c30b000 r--p 00000000 08:05 1299471 /usr/lib/locale/en_US/LC_CTYPE 4c30b000-4c30c000 r--p 00000000 08:05 2039795 /usr/lib/locale/en_US/LC_TELEPHONE 4c30c000-4c30d000 r--p 00000000 08:05 2040102 /usr/lib/locale/en_US/LC_ADDRESS 4c30d000-4c30e000 r--p 00000000 08:05 2039803 /usr/lib/locale/en_US/LC_NAME 4c30e000-4c30f000 r--p 00000000 08:05 2111650 /usr/lib/locale/en_US/LC_PAPER 4c30f000-4c310000 r--p 00000000 08:05 2039801 /usr/lib/locale/en_US/LC_MESSAGES/SYS_LC_MESSAGES 4c310000-4c311000 r--p 00000000 08:05 1497990 /usr/lib/locale/en_US/LC_MONETARY 4c311000-4c317000 r--p 00000000 08:05 2057477 /usr/lib/locale/en_US/LC_COLLATE 4c317000-4c318000 r--p 00000000 08:05 2094022 /usr/lib/locale/en_US/LC_TIME 4c318000-4c319000 r--p 00000000 08:05 1299493 /usr/lib/locale/en_US/LC_NUMERIC 4c319000-4c323000 r-xp 00000000 08:05 415154 /lib/libnss_files-2.2.4.so 4c323000-4c324000 rw-p 00009000 08:05 415154 /lib/libnss_files-2.2.4.so 4c34f000-4c352000 r-xp 00000000 08:05 2239404 /work/bioChecKey/redist/linux/libbioChecKey_JNI.so 4c352000-4c353000 rw-p 00002000 08:05 2239404 /work/bioChecKey/redist/linux/libbioChecKey_JNI.so 4c35e000-4c37b000 r--s 00000000 08:05 651451 /opt/j2sdk1.4.0/jre/lib/ext/sunjce_provider.jar 4c37b000-4c37d000 r--s 00000000 08:05 651452 /opt/j2sdk1.4.0/jre/lib/ext/dnsns.jar 4c37d000-4c420000 r--s 00000000 08:05 651453 /opt/j2sdk1.4.0/jre/lib/ext/localedata.jar 4c420000-4c42e000 r--s 00000000 08:05 651454 /opt/j2sdk1.4.0/jre/lib/ext/ldapsec.jar 4c42e000-4c43d000 r--s 00000000 08:05 813018 /export/bioChec/classes/rmi/bioChecVerification.jar 4c43d000-4c44f000 r-xp 00000000 08:05 37926 /opt/j2sdk1.4.0/jre/lib/i386/libnet.so 4c44f000-4c450000 rw-p 00011000 08:05 37926 /opt/j2sdk1.4.0/jre/lib/i386/libnet.so 4c450000-4c451000 r-xp 00000000 08:05 37937 /opt/j2sdk1.4.0/jre/lib/i386/librmi.so 4c451000-4c452000 rw-p 00000000 08:05 37937 /opt/j2sdk1.4.0/jre/lib/i386/librmi.so 4c452000-4c475000 r-xp 00000000 08:05 252922 /usr/lib/libglib-1.2.so.0.0.10 4c475000-4c476000 rw-p 00022000 08:05 252922 /usr/lib/libglib-1.2.so.0.0.10 4c476000-4c4af000 r-xp 00000000 08:05 252739 /usr/lib/libstdc++-3-libc6.2-2- 2.10.0.so 4c4af000-4c4b6000 rw-p 00038000 08:05 252739 /usr/lib/libstdc++-3-libc6.2-2- 2.10.0.so 4c4b8000-4c5d0000 r-xp 00000000 08:05 2239297 /work/bioChecKey/redist/linux/libbioChecKey.so 4c5d0000-4c5d7000 rw-p 00117000 08:05 2239297 /work/bioChecKey/redist/linux/libbioChecKey.so 4c5d8000-4c7fc000 r-xp 00000000 08:05 145017 /opt/xerces-c1_7_0- linux7.2/lib/libxerces-c1_7_0.so 4c7fc000-4c86f000 rw-p 00223000 08:05 145017 /opt/xerces-c1_7_0- linux7.2/lib/libxerces-c1_7_0.so Local Time = Sun Jun 9 22:40:48 2002 Elapsed Time = 10 # # The exception above was detected in native code outside the VM # # Java VM: Java HotSpot(TM) Client VM (1.4.0-b92 mixed mode) # # An error report file has been saved as hs_err_pid2991.log. # Please refer to the file for further information. # --------------------------------------------------------------- We have compiled and linked under RHL7.2 with the following LD options: -L/usr/lib -L/usr/local/lib -L/usr/ucb/lib -L/usr/lib/gcc-lib/i386-redhat- linux/2.96 -lglib -lstdc++ -lm -lpthread -lbioChecKey -lxerces-c1_7_0 --------------------------------------------------------------- What are any obvious things I can check to further debug this? Why would this work under Win2K and not Linux? Given the obvious answer -- the implementation of threads and locks differs greatly between the 2 OSes -- does this mean I need to build a single-threaded version under Java? Or would that just create more problems? Thanks for all your help! John --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
