COM4J crashes JVM with Access Violation
I am attempting to interface with Dragon Naturally Speaking 11 using COM4J (20110320). It starts up successfully and I am able interact with a COM object including getting events from it.
However once it has started up and is listening for events to come in, the JVM will eventually crash with EXCEPTION_ACCESS_VIOLATION. The timing of this is rather erratic and can be anything from almost immediately to taking a couple of minutes.
What is reported as the problematic frame varies, jvm.dll, oleaut32.dll & com4j-x86.dll have all occurred with various offsets. The Java frames are consistent being:
j com4j.Variant.convertTo(Ljava/lang/Class;)Ljava/lang/Object;+0
j com4j.EventProxy$EventMethod.invoke(Ljava/lang/Object;I[Lcom4j/Variant;)Ljava/lang/Objec开发者_Go百科t;+85
j com4j.EventProxy.invoke(II[Lcom4j/Variant;)Ljava/lang/Object;+52
v ~StubRoutines::call_stub
j com4j.Win32Lock.suspend0(I)V+0
j com4j.Win32Lock.suspend()V+4,
j com4j.ComThread.run0()V+14
j com4j.ComThread.run()V+27
v ~StubRoutines::call_stub
Running Windows 7 Pro SP1 x64, JDK 1.6.0u24 x86.
I have performed a quick test in C# with the same COM object it hasn't crashed.
Anyone able to share an insight?
Cheers, Daniel.
精彩评论