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: [email protected]
For additional commands, e-mail: [email protected]