Hello Everyone,
I am attempting to integrate a Java JNI Library with Tomcat and GWT. I have had good sucess as far as initial proto-typing. I am aware of the classloaders (common, shared, and webapp), but seem to be missing something big here. I basically have problems cleanly using this Java OPC Library. I included a lot of extra information that may or may not be useful, hopefully someone can see something stand out? The library works great when running as Java Application, once I move to Tomcat, i begin to see problems. My hunch is that is has something to do with the JeasyOpc library multi-threading, I have noticed that the threads that it spawns reports that its class loader is 'WebAppClassLoader', the part that I am initially confused about is this, If my classes/libraries(dll) are located in ./common/lib or ./shared/lib why would my threads be loaded by WebAppClassLoader? There are no duplicates in WEB-INF/lib, am I looking in the right place? My shared/lib is generating threads with thread = new Thread(this); Should I be forcing the class loader context that I want?? I am I even looking in the right place? Thanks in Advance, the following are some notes that I took last night, I realize some of it is specific to OPC Client/Server, but I'm hoping my integration technique (Tomcat / Java / JNI) is the problem. JEasyOpc is an open source Java OPC Client Library. This library uses JNI (Java Native Interface) to access JCustomOpc.dll (Delphi originally). Using Tomcat 6 with JRE6 Testing Notes: When running a pure java application, I can successfully connect to the OPC server, register items/groups and also disconnect cleanly from the server (no hanging clients). Taking note that the library always reports Thread-0 no matter how many simultaneous applications I run (ony tested 4-5 at once). When deploying as a webapp on the Tomcat server, I can connect to the OPC server, register tags, and upon exiting, the following conditions occur in some particular order... [1] Upon Exit The library reports shutting down, but with an "UnableRemoveGroupException: Unable to remove some group." exception. The client drops clean from Kepware server (as the java classes has effectively died due to the runtime exception and in Java once all references to a class or library are gone, then it will processed through the garbage collector automatically). [1A] Notice below 4 times on condition [1]. Then does not report disconnect and leaves a client hanging., Tomcat also failed 06.05.2009 17:43:38 [Thread-13] INFO javafish.clients.opc.JEasyOpc - The OPC Client is connected. 06.05.2009 17:43:38 [Thread-13] INFO javafish.clients.opc.JEasyOpc - OPC Groups are registered. 06.05.2009 17:43:38 [Thread-13] INFO javafish.clients.opc.JEasyOpc - Asynchronous mode 2.0 is started. 06.05.2009 17:44:28 [Thread-13] ERROR javafish.clients.opc.JEasyOpc - javafish.clients.opc.exception.UnableRemoveGroupException: Unable to remove some group. 06.05.2009 17:44:28 [Thread-13] INFO javafish.clients.opc.JEasyOpc - The OPC Client is disconnected. 06.05.2009 17:45:14 [Thread-14] INFO javafish.clients.opc.JEasyOpc - The OPC Client is connected. 06.05.2009 17:45:14 [Thread-14] INFO javafish.clients.opc.JEasyOpc - OPC Groups are registered. 06.05.2009 17:45:14 [Thread-14] INFO javafish.clients.opc.JEasyOpc - Asynchronous mode 2.0 is started. 06.05.2009 17:45:25 [Thread-14] ERROR javafish.clients.opc.JEasyOpc - javafish.clients.opc.exception.UnableRemoveGroupException: Unable to remove some group. 06.05.2009 17:45:25 [Thread-14] INFO javafish.clients.opc.JEasyOpc - The OPC Client is disconnected. 06.05.2009 17:45:50 [Thread-15] INFO javafish.clients.opc.JEasyOpc - The OPC Client is connected. 06.05.2009 17:45:50 [Thread-15] INFO javafish.clients.opc.JEasyOpc - OPC Groups are registered. 06.05.2009 17:45:50 [Thread-15] INFO javafish.clients.opc.JEasyOpc - Asynchronous mode 2.0 is started. 06.05.2009 17:45:57 [Thread-15] ERROR javafish.clients.opc.JEasyOpc - javafish.clients.opc.exception.UnableRemoveGroupException: Unable to remove some group. 06.05.2009 17:45:57 [Thread-15] INFO javafish.clients.opc.JEasyOpc - The OPC Client is disconnected. 06.05.2009 17:46:04 [Thread-16] INFO javafish.clients.opc.JEasyOpc - The OPC Client is connected. 06.05.2009 17:46:04 [Thread-16] INFO javafish.clients.opc.JEasyOpc - OPC Groups are registered. 06.05.2009 17:46:04 [Thread-16] INFO javafish.clients.opc.JEasyOpc - Asynchronous mode 2.0 is started. 06.05.2009 17:46:08 [Thread-16] ERROR javafish.clients.opc.JEasyOpc - javafish.clients.opc.exception.UnableRemoveGroupException: Unable to remove some group. 06.05.2009 17:46:08 [Thread-16] INFO javafish.clients.opc.JEasyOpc - The OPC Client is disconnected. 06.05.2009 17:46:14 [Thread-17] INFO javafish.clients.opc.JEasyOpc - The OPC Client is connected. 06.05.2009 17:46:14 [Thread-17] INFO javafish.clients.opc.JEasyOpc - OPC Groups are registered. 06.05.2009 17:46:14 [Thread-17] INFO javafish.clients.opc.JEasyOpc - Asynchronous mode 2.0 is started. [2] Upon exit The library reports that everything shuts down fine, when there is obviously still a hanging client. [2A] Once we get to this point, I then run another instance of the webapp, and crash the Java Runtime Environment, see attached log below [3] Everything works, and cleanly disconnects, log reports 06.05.2009 18:30:19 [Thread-13] INFO javafish.clients.opc.JEasyOpc - The OPC Client is connected. 06.05.2009 18:30:19 [Thread-13] INFO javafish.clients.opc.JEasyOpc - OPC Groups are registered. 06.05.2009 18:30:19 [Thread-13] INFO javafish.clients.opc.JEasyOpc - Asynchronous mode 2.0 is started. 06.05.2009 18:30:22 [Thread-13] INFO javafish.clients.opc.JEasyOpc - OPC Groups are unregistered successfully. 06.05.2009 18:30:22 [Thread-13] INFO javafish.clients.opc.JEasyOpc - The OPC Client is disconnected. Kepware Reports clean disconnect too,. [3A] I'm seeing a pattern here? Clean connect as above, but always on the 2nd connection (i.e. run webapp again) that we get no reporting of shutdown, Kepware reports 1 connection and 0 tags. Which can be cleared by "Tools/Reinitialize" in Kepware. 06.05.2009 18:41:30 [Thread-12] INFO javafish.clients.opc.JEasyOpc - The OPC Client is connected. 06.05.2009 18:41:30 [Thread-12] INFO javafish.clients.opc.JEasyOpc - OPC Groups are registered. 06.05.2009 18:41:30 [Thread-12] INFO javafish.clients.opc.JEasyOpc - Asynchronous mode 2.0 is started. 06.05.2009 18:41:38 [Thread-12] INFO javafish.clients.opc.JEasyOpc - OPC Groups are unregistered successfully. 06.05.2009 18:41:38 [Thread-12] INFO javafish.clients.opc.JEasyOpc - The OPC Client is disconnected. 06.05.2009 18:42:04 [Thread-13] INFO javafish.clients.opc.JEasyOpc - The OPC Client is connected. 06.05.2009 18:42:04 [Thread-13] INFO javafish.clients.opc.JEasyOpc - OPC Groups are registered. 06.05.2009 18:42:04 [Thread-13] INFO javafish.clients.opc.JEasyOpc - Asynchronous mode 2.0 is started. [3b] Kepware reports 1 Connection and Tags, Tomcat is still running. [3c] Kepware reports 1 Connection and All registered Tag, Tomcat is still running. These conditions occur when: * Only client side code resides in the Web Application Class Loader, all server side code and libraries riside in ./common/libs which makes everything there accessible by all web applications. The closeOPC method is called in OpcManager public void closeOPC() { opc.terminate(); JOpc.coUninitialize(); } Follow-up [1] Why exactly is it having trouble removing groups? [2a]. Study output and glean info. [3]. Can I stabilze the system to act like this? -- Close, [3c] when all java code is in ./WEB-INF Running experiments and report output: [3] [3a] Re-Init Kepware Start Tomcat [3] [3] [3a] Re-Init Kepware Start Tomcat [3] [3a] Start Tomcat [3] [3] [1] [3a] Start Tomcat Re-Init Kepware [3] [3a] Start Tomcat Re-Init Kepware [3b] Re-Init Kepware [3] [3a] Start Tomcat ?Re-Init Kepware [1] [3c] Re-Init Kepware [3c] Re-Init Kepware [3c] Kepware 1 Client 1 Active Tag [3c] Kepware 2 Client 1 Active Tag Re-Init Kepware [3c] [3c] [3c] [3c] Kepware 4 Client 1 Active Tag Re-Init Kepware Stop Tomcat Start Tomcat [1] [1] [1] [1] [1a] Re-Started KepWare (Demo Timeout) Start Tomcat [3] [1] [1a] Re-Init Kepware Start Tomcat [1] [3c] ------------------------------------------------------ Next, Moved all server side code to Web Application Classloader ./WEB-INF/libs JCustomOpc.dll remains in ./common/libs Starting test, [3c] [3c] [3c] Kepware reports 3 connections 1 tag Re-Init Kepware [3c] [3c] [3c] Seems to be consistent. [2] What exactly is staying alive, starting from servlet and moving to back-end libraries. "Tools/Reinitialize" in Kepware and notice the connections drop to Zero, and then watch one of the connections re-connect even when your webapp is closed, the library is still alive and well, long after your GWT, Servlet and the servel are dead, this may have everything to do with the way Tomcat deals with the JVM and JNI dll libraries, class loaders etc. ====== stdout.log from tomcat, ============ >From above, you will notice I connected 5 times, and report 4 exceptions upon disconnect, after these 4 times the Kepware server report clean disconnects,. On the 5th connection upon exit, nothing was reported, and Kepware reported 1 connection with 0 tags. (Described in [1] above) The 6th time I attempted to connect and crashed the JRE and Tomcat Server also stopped with this crash report: # # An unexpected error has been detected by Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x77ea4dca, pid=3644, tid=240 # # Java VM: Java HotSpot(TM) Client VM (11.2-b01 mixed mode, sharing windows-x86) # Problematic frame: # C [RPCRT4.dll+0x34dca] # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # --------------- T H R E A D --------------- Current thread (0x02f92400): JavaThread "Thread-17" daemon [_thread_in_native, id=240, stack(0x03b10000,0x03b60000)] siginfo: ExceptionCode=0xc0000005, reading address 0x03ee9786 Registers: EAX=0x00000000, EBX=0x03ee9786, ECX=0x03b5f6b0, EDX=0x00000000 ESP=0x03b5f558, EBP=0x03b5f564, ESI=0x03b5f6b4, EDI=0x03b5f5b4 EIP=0x77ea4dca, EFLAGS=0x00010206 Top of Stack: (sp=0x03b5f558) 0x03b5f558: 00000000 00000000 00000000 03b5f948 0x03b5f568: 77ef660f 00000000 00000007 03eea242 0x03b5f578: 03b5f6b0 0600016e 03b5f980 03a0276c 0x03b5f588: 000bf878 00000010 000a40b0 00000008 0x03b5f598: 00008007 00000000 000bdf80 240cbf88 0x03b5f5a8: 03b5f5a8 2c0f919a 00000000 03b5f588 0x03b5f5b8: 000a40b0 00000000 00000000 03b5f5d0 0x03b5f5c8: 00000010 00e62da1 00000000 00000001 Instructions: (pc=0x77ea4dca) 0x77ea4dba: 5e 14 89 47 08 89 47 0c 39 46 10 89 45 08 76 22 0x77ea4dca: 66 8b 03 f6 c4 08 0f 85 9b d7 00 00 a8 6c 0f 84 Stack: [0x03b10000,0x03b60000], sp=0x03b5f558, free space=317k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [RPCRT4.dll+0x34dca] C [RPCRT4.dll+0x8660f] C [RPCRT4.dll+0x84e42] C [RPCRT4.dll+0x1a83b] C [JCustomOpc.dll+0x64375] C [JCustomOpc.dll+0x643f2] j javafish.clients.opc.JOpc.unregisterGroupsNative()V+0 J javafish.clients.opc.JEasyOpc.run()V j java.lang.Thread.run()V+11 v ~StubRoutines::call_stub Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j javafish.clients.opc.JOpc.unregisterGroupsNative()V+0 J javafish.clients.opc.JEasyOpc.run()V j java.lang.Thread.run()V+11 v ~StubRoutines::call_stub --------------- P R O C E S S --------------- Java Threads: ( => current thread ) =>0x02f92400 JavaThread "Thread-17" daemon [_thread_in_native, id=240, stack(0x03b10000,0x03b60000)] 0x02fb9c00 JavaThread "http-8080-5" daemon [_thread_blocked, id=4444, stack(0x03930000,0x03980000)] 0x02ffa800 JavaThread "http-8080-4" daemon [_thread_blocked, id=3012, stack(0x038e0000,0x03930000)] 0x03072800 JavaThread "http-8080-3" daemon [_thread_in_native, id=2376, stack(0x03890000,0x038e0000)] 0x00990800 JavaThread "http-8080-2" daemon [_thread_blocked, id=5456, stack(0x03840000,0x03890000)] 0x00a0cc00 JavaThread "http-8080-1" daemon [_thread_blocked, id=4760, stack(0x037e0000,0x03830000)] 0x030bb800 JavaThread "TP-Monitor" daemon [_thread_blocked, id=2524, stack(0x03720000,0x03770000)] 0x030d8c00 JavaThread "TP-Processor4" daemon [_thread_in_native, id=4480, stack(0x036d0000,0x03720000)] 0x0305b800 JavaThread "TP-Processor3" daemon [_thread_blocked, id=176, stack(0x03680000,0x036d0000)] 0x03099400 JavaThread "TP-Processor2" daemon [_thread_blocked, id=580, stack(0x03630000,0x03680000)] 0x030c5400 JavaThread "TP-Processor1" daemon [_thread_blocked, id=1764, stack(0x035e0000,0x03630000)] 0x030b5c00 JavaThread "http-8080-Acceptor-0" daemon [_thread_in_native, id=5928, stack(0x03590000,0x035e0000)] 0x0304c800 JavaThread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon [_thread_blocked, id=1960, stack(0x03540000,0x03590000)] 0x009c1c00 JavaThread "Thread-1" [_thread_in_native, id=3808, stack(0x00cb0000,0x00d00000)] 0x00962400 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=5464, stack(0x00c10000,0x00c60000)] 0x0095e800 JavaThread "CompilerThread0" daemon [_thread_blocked, id=6064, stack(0x00bc0000,0x00c10000)] 0x0095a800 JavaThread "Attach Listener" daemon [_thread_blocked, id=4984, stack(0x00b70000,0x00bc0000)] 0x00959400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=4464, stack(0x00b20000,0x00b70000)] 0x00954400 JavaThread "Finalizer" daemon [_thread_blocked, id=700, stack(0x00ad0000,0x00b20000)] 0x0094f800 JavaThread "Reference Handler" daemon [_thread_blocked, id=5188, stack(0x00a80000,0x00ad0000)] 0x006c7400 JavaThread "main" [_thread_in_native, id=1748, stack(0x00670000,0x006c0000)] Other Threads: 0x0094e000 VMThread [stack: 0x00a30000,0x00a80000] [id=4716] 0x00964400 WatcherThread [stack: 0x00c60000,0x00cb0000] [id=2516] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap def new generation total 960K, used 503K [0x24070000, 0x24170000, 0x24550000) eden space 896K, 53% used [0x24070000, 0x240e8268, 0x24150000) from space 64K, 35% used [0x24150000, 0x24155b40, 0x24160000) to space 64K, 0% used [0x24160000, 0x24160000, 0x24170000) tenured generation total 4096K, used 4083K [0x24550000, 0x24950000, 0x28070000) the space 4096K, 99% used [0x24550000, 0x2494cd48, 0x2494ce00, 0x24950000) compacting perm gen total 12288K, used 5369K [0x28070000, 0x28c70000, 0x2c070000) the space 12288K, 43% used [0x28070000, 0x285ae458, 0x285ae600, 0x28c70000) ro space 8192K, 63% used [0x2c070000, 0x2c587e48, 0x2c588000, 0x2c870000) rw space 12288K, 53% used [0x2c870000, 0x2cedcb38, 0x2cedcc00, 0x2d470000) Dynamic libraries: 0x00400000 - 0x0040f000 C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin\tomcat6.exe 0x7c900000 - 0x7c9b2000 C:\WINDOWS\system32\ntdll.dll 0x7c800000 - 0x7c8f6000 C:\WINDOWS\system32\kernel32.dll 0x7e410000 - 0x7e4a1000 C:\WINDOWS\system32\USER32.dll 0x77f10000 - 0x77f59000 C:\WINDOWS\system32\GDI32.dll 0x77dd0000 - 0x77e6b000 C:\WINDOWS\system32\ADVAPI32.dll 0x77e70000 - 0x77f02000 C:\WINDOWS\system32\RPCRT4.dll 0x77fe0000 - 0x77ff1000 C:\WINDOWS\system32\Secur32.dll 0x77c10000 - 0x77c68000 C:\WINDOWS\system32\MSVCRT.dll 0x7c9c0000 - 0x7d1d7000 C:\WINDOWS\system32\SHELL32.dll 0x77f60000 - 0x77fd6000 C:\WINDOWS\system32\SHLWAPI.dll 0x76390000 - 0x763ad000 C:\WINDOWS\system32\IMM32.DLL 0x773d0000 - 0x774d3000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll 0x5d090000 - 0x5d12a000 C:\WINDOWS\system32\comctl32.dll 0x6d800000 - 0x6da56000 C:\Program Files\Java\jre6\bin\client\jvm.dll 0x76b40000 - 0x76b6d000 C:\WINDOWS\system32\WINMM.dll 0x7c360000 - 0x7c3b6000 C:\WINDOWS\system32\MSVCR71.dll 0x6d290000 - 0x6d298000 C:\Program Files\Java\jre6\bin\hpi.dll 0x76bf0000 - 0x76bfb000 C:\WINDOWS\system32\PSAPI.DLL 0x6d7b0000 - 0x6d7bc000 C:\Program Files\Java\jre6\bin\verify.dll 0x6d330000 - 0x6d34f000 C:\Program Files\Java\jre6\bin\java.dll 0x6d7f0000 - 0x6d7ff000 C:\Program Files\Java\jre6\bin\zip.dll 0x6d610000 - 0x6d623000 C:\Program Files\Java\jre6\bin\net.dll 0x71ab0000 - 0x71ac7000 C:\WINDOWS\system32\WS2_32.dll 0x71aa0000 - 0x71aa8000 C:\WINDOWS\system32\WS2HELP.dll 0x10000000 - 0x10036000 C:\WINDOWS\system32\biolsp.dll 0x77a80000 - 0x77b15000 C:\WINDOWS\system32\CRYPT32.dll 0x77b20000 - 0x77b32000 C:\WINDOWS\system32\MSASN1.dll 0x774e0000 - 0x7761d000 C:\WINDOWS\system32\ole32.dll 0x77120000 - 0x771ab000 C:\WINDOWS\system32\OLEAUT32.dll 0x00e10000 - 0x00e22000 C:\WINDOWS\system32\VetRedir.dll 0x71a50000 - 0x71a8f000 C:\WINDOWS\system32\mswsock.dll 0x662b0000 - 0x66308000 C:\WINDOWS\system32\hnetcfg.dll 0x034c0000 - 0x034d8000 C:\Program Files\CA\eTrustITM\ISafe\ISafeIf.dll 0x71a90000 - 0x71a98000 C:\WINDOWS\System32\wshtcpip.dll 0x76f20000 - 0x76f47000 C:\WINDOWS\system32\DNSAPI.dll 0x76fb0000 - 0x76fb8000 C:\WINDOWS\System32\winrnr.dll 0x76f60000 - 0x76f8c000 C:\WINDOWS\system32\WLDAP32.dll 0x63560000 - 0x63568000 C:\Program Files\National Instruments\Shared\mDNS Responder\nimdnsNSP.dll 0x63550000 - 0x63559000 C:\WINDOWS\system32\nimdnsResponder.dll 0x78130000 - 0x781cb000 C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.3053_x-ww_b80fa8ca\MSVCR80.dll 0x76d60000 - 0x76d79000 C:\WINDOWS\system32\Iphlpapi.dll 0x16080000 - 0x160a5000 C:\Program Files\Bonjour\mdnsNSP.dll 0x76fc0000 - 0x76fc6000 C:\WINDOWS\system32\rasadhlp.dll 0x03980000 - 0x039fc000 C:\Program Files\Apache Software Foundation\Tomcat 6.0\common\lib\JCustomOpc.dll 0x77c00000 - 0x77c08000 C:\WINDOWS\system32\version.dll 0x5ad70000 - 0x5ada8000 C:\WINDOWS\system32\uxtheme.dll 0x58d40000 - 0x58d47000 C:\WINDOWS\system32\Wship6.dll 0x76fd0000 - 0x7704f000 C:\WINDOWS\system32\CLBCATQ.DLL 0x77050000 - 0x77115000 C:\WINDOWS\system32\COMRes.dll 0x03b70000 - 0x03e35000 C:\WINDOWS\system32\xpsp2res.dll 0x6d000000 - 0x6d14a000 C:\Program Files\Java\jre6\bin\awt.dll 0x73000000 - 0x73026000 C:\WINDOWS\system32\WINSPOOL.DRV VM Arguments: jvm_args: -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 6.0 -Dcatalina.base=C:\Program Files\Apache Software Foundation\Tomcat 6.0 -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 6.0\endorsed -Djava.io.tmpdir=C:\Program Files\Apache Software Foundation\Tomcat 6.0\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\logging.properties vfprintf java_command: <unknown> Launcher Type: generic Environment Variables: CLASSPATH=.;C:\JOPCClient\lib\opiopcio.jar;C:\Program Files\Java\jre6\lib\ext\QTJava.zip PATH=C:\Program Files\Common Files\ArchestrA\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Dell Preboot Manager\Access Client\v5\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\PROGRA~1\CA\SHARED~1\SCANEN~1;C:\Program Files\CA\SharedComponents\ScanEngine;C:\Program Files\CA\SharedComponents\CAUpdate\;C:\Program Files\CA\SharedComponents\ThirdParty\;C:\Program Files\CA\SharedComponents\SubscriptionLicense\;C:\PROGRA~1\CA\ETRUST~1;C:\PROGRA~1\IVIFOU~1\VISA\WinNT\Bin;C:\Program Files\IVI Foundation\IVI\bin;C:\Program Files\IVI Foundation\VISA\WinNT\Bin\;C:\Program Files\IVI Foundation\VISA\WinNT\Bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Wonderware\InTouch\;C:\Program Files\OpenSSH\bin;C:\Program Files\National Instruments\LabVIEW 8.6\vi.lib\NIScanEngine;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\JOPCClient\bin;c:\program files\java\jdk1.6.0_12\bin;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\National Instruments\LabVIEW 8.6\\vi.lib\NIScanEngine OS=Windows_NT PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 10, GenuineIntel --------------- S Y S T E M --------------- OS: Windows XP Build 2600 Service Pack 3 CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 15 stepping 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3 Memory: 4k page, physical 2095000k(839380k free), swap 4036032k(2764764k free) vm_info: Java HotSpot(TM) Client VM (11.2-b01) for windows-x86 JRE (1.6.0_12-b04), built on Jan 17 2009 09:57:14 by "java_re" with MS VC++ 7.1 time: Wed May 06 17:46:17 2009 elapsed time: 174 seconds ----------------- Here's a second report a few minutes later ------------------------------------ # # An unexpected error has been detected by Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x77ea4dca, pid=5500, tid=4744 # # Java VM: Java HotSpot(TM) Client VM (11.2-b01 mixed mode, sharing windows-x86) # Problematic frame: # C [RPCRT4.dll+0x34dca] # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # --------------- T H R E A D --------------- Current thread (0x02fcc800): JavaThread "Thread-14" daemon [_thread_in_native, id=4744, stack(0x03e80000,0x03ed0000)] siginfo: ExceptionCode=0xc0000005, reading address 0x03b19786 Registers: EAX=0x00000000, EBX=0x03b19786, ECX=0x03ecf890, EDX=0x00000000 ESP=0x03ecf738, EBP=0x03ecf744, ESI=0x03ecf894, EDI=0x03ecf794 EIP=0x77ea4dca, EFLAGS=0x00010206 Top of Stack: (sp=0x03ecf738) 0x03ecf738: 00000000 00000000 00000000 03ecfb28 0x03ecf748: 77ef660f 00000000 00000007 03b1a242 0x03ecf758: 03ecf890 0600016e 03ecfb60 039f1c6c 0x03ecf768: 000b73b8 00000010 000b9038 00000008 0x03ecf778: 00008007 00000000 000a39f0 2407d8a8 0x03ecf788: 03ecf788 2c0f919a 00000000 03ecf768 0x03ecf798: 000b9038 00000000 00000000 03ecf7b0 0x03ecf7a8: 00000010 00e62da1 00000000 00000001 Instructions: (pc=0x77ea4dca) 0x77ea4dba: 5e 14 89 47 08 89 47 0c 39 46 10 89 45 08 76 22 0x77ea4dca: 66 8b 03 f6 c4 08 0f 85 9b d7 00 00 a8 6c 0f 84 Stack: [0x03e80000,0x03ed0000], sp=0x03ecf738, free space=317k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [RPCRT4.dll+0x34dca] C [RPCRT4.dll+0x8660f] C [RPCRT4.dll+0x84e42] C [RPCRT4.dll+0x1a83b] C [JCustomOpc.dll+0x64375] C [JCustomOpc.dll+0x643f2] j javafish.clients.opc.JOpc.unregisterGroupsNative()V+0 j javafish.clients.opc.JOpc.unregisterGroups()V+1 j javafish.clients.opc.JEasyOpc.run()V+274 j java.lang.Thread.run()V+11 v ~StubRoutines::call_stub Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j javafish.clients.opc.JOpc.unregisterGroupsNative()V+0 j javafish.clients.opc.JOpc.unregisterGroups()V+1 j javafish.clients.opc.JEasyOpc.run()V+274 j java.lang.Thread.run()V+11 v ~StubRoutines::call_stub --------------- P R O C E S S --------------- Java Threads: ( => current thread ) =>0x02fcc800 JavaThread "Thread-14" daemon [_thread_in_native, id=4744, stack(0x03e80000,0x03ed0000)] 0x03012400 JavaThread "http-8080-5" daemon [_thread_blocked, id=4864, stack(0x03920000,0x03970000)] 0x00947400 JavaThread "http-8080-4" daemon [_thread_blocked, id=572, stack(0x038d0000,0x03920000)] 0x00a09400 JavaThread "http-8080-3" daemon [_thread_blocked, id=6084, stack(0x03880000,0x038d0000)] 0x0096f400 JavaThread "http-8080-2" daemon [_thread_in_native, id=460, stack(0x03830000,0x03880000)] 0x03117400 JavaThread "http-8080-1" daemon [_thread_blocked, id=1476, stack(0x037e0000,0x03830000)] 0x03115400 JavaThread "TP-Monitor" daemon [_thread_blocked, id=308, stack(0x03720000,0x03770000)] 0x0310f000 JavaThread "TP-Processor4" daemon [_thread_in_native, id=4988, stack(0x036d0000,0x03720000)] 0x0310dc00 JavaThread "TP-Processor3" daemon [_thread_blocked, id=4548, stack(0x03680000,0x036d0000)] 0x0310c800 JavaThread "TP-Processor2" daemon [_thread_blocked, id=4804, stack(0x03630000,0x03680000)] 0x030fe800 JavaThread "TP-Processor1" daemon [_thread_blocked, id=5344, stack(0x035e0000,0x03630000)] 0x030f2000 JavaThread "http-8080-Acceptor-0" daemon [_thread_in_native, id=3464, stack(0x03590000,0x035e0000)] 0x03101400 JavaThread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon [_thread_blocked, id=4620, stack(0x03540000,0x03590000)] 0x009b9800 JavaThread "Thread-1" [_thread_in_native, id=2300, stack(0x00cb0000,0x00d00000)] 0x00962400 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=5680, stack(0x00c10000,0x00c60000)] 0x0095c000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=2520, stack(0x00bc0000,0x00c10000)] 0x0095a800 JavaThread "Attach Listener" daemon [_thread_blocked, id=5928, stack(0x00b70000,0x00bc0000)] 0x00959400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=1936, stack(0x00b20000,0x00b70000)] 0x00951000 JavaThread "Finalizer" daemon [_thread_blocked, id=2772, stack(0x00ad0000,0x00b20000)] 0x0094f800 JavaThread "Reference Handler" daemon [_thread_blocked, id=2660, stack(0x00a80000,0x00ad0000)] 0x006c7400 JavaThread "main" [_thread_in_native, id=5396, stack(0x00670000,0x006c0000)] Other Threads: 0x0094e000 VMThread [stack: 0x00a30000,0x00a80000] [id=732] 0x00963c00 WatcherThread [stack: 0x00c60000,0x00cb0000] [id=2152] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap def new generation total 960K, used 131K [0x24070000, 0x24170000, 0x24550000) eden space 896K, 12% used [0x24070000, 0x2408b6b0, 0x24150000) from space 64K, 33% used [0x24150000, 0x24155600, 0x24160000) to space 64K, 0% used [0x24160000, 0x24160000, 0x24170000) tenured generation total 4096K, used 3958K [0x24550000, 0x24950000, 0x28070000) the space 4096K, 96% used [0x24550000, 0x2492da50, 0x2492dc00, 0x24950000) compacting perm gen total 12288K, used 5362K [0x28070000, 0x28c70000, 0x2c070000) the space 12288K, 43% used [0x28070000, 0x285ac818, 0x285aca00, 0x28c70000) ro space 8192K, 63% used [0x2c070000, 0x2c587e48, 0x2c588000, 0x2c870000) rw space 12288K, 53% used [0x2c870000, 0x2cedcb38, 0x2cedcc00, 0x2d470000) Dynamic libraries: 0x00400000 - 0x0040f000 C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin\tomcat6.exe 0x7c900000 - 0x7c9b2000 C:\WINDOWS\system32\ntdll.dll 0x7c800000 - 0x7c8f6000 C:\WINDOWS\system32\kernel32.dll 0x7e410000 - 0x7e4a1000 C:\WINDOWS\system32\USER32.dll 0x77f10000 - 0x77f59000 C:\WINDOWS\system32\GDI32.dll 0x77dd0000 - 0x77e6b000 C:\WINDOWS\system32\ADVAPI32.dll 0x77e70000 - 0x77f02000 C:\WINDOWS\system32\RPCRT4.dll 0x77fe0000 - 0x77ff1000 C:\WINDOWS\system32\Secur32.dll 0x77c10000 - 0x77c68000 C:\WINDOWS\system32\MSVCRT.dll 0x7c9c0000 - 0x7d1d7000 C:\WINDOWS\system32\SHELL32.dll 0x77f60000 - 0x77fd6000 C:\WINDOWS\system32\SHLWAPI.dll 0x76390000 - 0x763ad000 C:\WINDOWS\system32\IMM32.DLL 0x773d0000 - 0x774d3000 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll 0x5d090000 - 0x5d12a000 C:\WINDOWS\system32\comctl32.dll 0x6d800000 - 0x6da56000 C:\Program Files\Java\jre6\bin\client\jvm.dll 0x76b40000 - 0x76b6d000 C:\WINDOWS\system32\WINMM.dll 0x7c360000 - 0x7c3b6000 C:\WINDOWS\system32\MSVCR71.dll 0x6d290000 - 0x6d298000 C:\Program Files\Java\jre6\bin\hpi.dll 0x76bf0000 - 0x76bfb000 C:\WINDOWS\system32\PSAPI.DLL 0x6d7b0000 - 0x6d7bc000 C:\Program Files\Java\jre6\bin\verify.dll 0x6d330000 - 0x6d34f000 C:\Program Files\Java\jre6\bin\java.dll 0x6d7f0000 - 0x6d7ff000 C:\Program Files\Java\jre6\bin\zip.dll 0x6d610000 - 0x6d623000 C:\Program Files\Java\jre6\bin\net.dll 0x71ab0000 - 0x71ac7000 C:\WINDOWS\system32\WS2_32.dll 0x71aa0000 - 0x71aa8000 C:\WINDOWS\system32\WS2HELP.dll 0x10000000 - 0x10036000 C:\WINDOWS\system32\biolsp.dll 0x77a80000 - 0x77b15000 C:\WINDOWS\system32\CRYPT32.dll 0x77b20000 - 0x77b32000 C:\WINDOWS\system32\MSASN1.dll 0x774e0000 - 0x7761d000 C:\WINDOWS\system32\ole32.dll 0x77120000 - 0x771ab000 C:\WINDOWS\system32\OLEAUT32.dll 0x00e10000 - 0x00e22000 C:\WINDOWS\system32\VetRedir.dll 0x71a50000 - 0x71a8f000 C:\WINDOWS\system32\mswsock.dll 0x662b0000 - 0x66308000 C:\WINDOWS\system32\hnetcfg.dll 0x034c0000 - 0x034d8000 C:\Program Files\CA\eTrustITM\ISafe\ISafeIf.dll 0x71a90000 - 0x71a98000 C:\WINDOWS\System32\wshtcpip.dll 0x76f20000 - 0x76f47000 C:\WINDOWS\system32\DNSAPI.dll 0x76fb0000 - 0x76fb8000 C:\WINDOWS\System32\winrnr.dll 0x76f60000 - 0x76f8c000 C:\WINDOWS\system32\WLDAP32.dll 0x63560000 - 0x63568000 C:\Program Files\National Instruments\Shared\mDNS Responder\nimdnsNSP.dll 0x63550000 - 0x63559000 C:\WINDOWS\system32\nimdnsResponder.dll 0x78130000 - 0x781cb000 C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.3053_x-ww_b80fa8ca\MSVCR80.dll 0x76d60000 - 0x76d79000 C:\WINDOWS\system32\Iphlpapi.dll 0x16080000 - 0x160a5000 C:\Program Files\Bonjour\mdnsNSP.dll 0x76fc0000 - 0x76fc6000 C:\WINDOWS\system32\rasadhlp.dll 0x03970000 - 0x039ec000 C:\Program Files\Apache Software Foundation\Tomcat 6.0\common\lib\JCustomOpc.dll 0x77c00000 - 0x77c08000 C:\WINDOWS\system32\version.dll 0x5ad70000 - 0x5ada8000 C:\WINDOWS\system32\uxtheme.dll 0x58d40000 - 0x58d47000 C:\WINDOWS\system32\Wship6.dll 0x76fd0000 - 0x7704f000 C:\WINDOWS\system32\CLBCATQ.DLL 0x77050000 - 0x77115000 C:\WINDOWS\system32\COMRes.dll 0x03b60000 - 0x03e25000 C:\WINDOWS\system32\xpsp2res.dll 0x6d000000 - 0x6d14a000 C:\Program Files\Java\jre6\bin\awt.dll 0x73000000 - 0x73026000 C:\WINDOWS\system32\WINSPOOL.DRV VM Arguments: jvm_args: -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 6.0 -Dcatalina.base=C:\Program Files\Apache Software Foundation\Tomcat 6.0 -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 6.0\endorsed -Djava.io.tmpdir=C:\Program Files\Apache Software Foundation\Tomcat 6.0\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\logging.properties vfprintf java_command: <unknown> Launcher Type: generic Environment Variables: CLASSPATH=.;C:\JOPCClient\lib\opiopcio.jar;C:\Program Files\Java\jre6\lib\ext\QTJava.zip PATH=C:\Program Files\Common Files\ArchestrA\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\NTRU Cryptosystems\NTRU TCG Software Stack\bin\;C:\Program Files\Wave Systems Corp\Dell Preboot Manager\Access Client\v5\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\PROGRA~1\CA\SHARED~1\SCANEN~1;C:\Program Files\CA\SharedComponents\ScanEngine;C:\Program Files\CA\SharedComponents\CAUpdate\;C:\Program Files\CA\SharedComponents\ThirdParty\;C:\Program Files\CA\SharedComponents\SubscriptionLicense\;C:\PROGRA~1\CA\ETRUST~1;C:\PROGRA~1\IVIFOU~1\VISA\WinNT\Bin;C:\Program Files\IVI Foundation\IVI\bin;C:\Program Files\IVI Foundation\VISA\WinNT\Bin\;C:\Program Files\IVI Foundation\VISA\WinNT\Bin;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Wonderware\InTouch\;C:\Program Files\OpenSSH\bin;C:\Program Files\National Instruments\LabVIEW 8.6\vi.lib\NIScanEngine;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\JOPCClient\bin;c:\program files\java\jdk1.6.0_12\bin;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\National Instruments\LabVIEW 8.6\\vi.lib\NIScanEngine OS=Windows_NT PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 10, GenuineIntel --------------- S Y S T E M --------------- OS: Windows XP Build 2600 Service Pack 3 CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 15 stepping 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3 Memory: 4k page, physical 2095000k(823616k free), swap 4036032k(2735752k free) vm_info: Java HotSpot(TM) Client VM (11.2-b01) for windows-x86 JRE (1.6.0_12-b04), built on Jan 17 2009 09:57:14 by "java_re" with MS VC++ 7.1 time: Wed May 06 18:33:00 2009 elapsed time: 200 seconds -- View this message in context: http://www.nabble.com/Tomcat---Java-JNI-and-Classloading-issues-tp23431354p23431354.html Sent from the Tomcat - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org