You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by bu...@apache.org on 2002/06/10 04:20:19 UTC
DO NOT REPLY [Bug 9732] New: -
calling XML parser from a JNI library crashes the Java VM
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: xerces-c-dev@xml.apache.org
ReportedBy: checco@checco.com
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: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org