Please excuse my previous kludge question.,
Let me start with my first question. My classes are contained and loaded in a jar from ./common/lib (also tried ./shared/lib). When the my common class is instantiated by my web application, the getContextClassLoader reports WebAppClassLoader .. I've doubled checked to make sure i didn't have duplicate classes in ./WEB-INF (I don't). thread = new Thread(this); log.info("JOpc created a new thread : " + thread.toString()); log.info(thread.getContextClassLoader()); My question is, should getContextClassLoader report WebAppClassLoader?? I guess I assumed that it should report something like 'Common'. Am I right to be suspicious about this? Thanks, Scott scarlson wrote: > > > 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-tp23431354p23450553.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