3

我正在尝试使用 COM4J (20110320) 与 Dragon Naturally speak 11 交互。它成功启动,我能够与 COM 对象进行交互,包括从中获取事件。

但是,一旦它启动并正在侦听即将到来的事件,JVM 最终将因 EXCEPTION_ACCESS_VIOLATION 而崩溃。这个时间是相当不稳定的,可以是从几乎立即到几分钟的任何事情。

报告的问题帧各不相同,jvm.dll、oleaut32.dll 和 com4j-x86.dll 都发生了各种偏移。Java 框架是一致的:

j  com4j.Variant.convertTo(Ljava/lang/Class;)Ljava/lang/Object;+0
j  com4j.EventProxy$EventMethod.invoke(Ljava/lang/Object;I[Lcom4j/Variant;)Ljava/lang/Object;+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

运行 Windows 7 Pro SP1 x64、JDK 1.6.0u24 x86。

我已经在 C# 中使用它没有崩溃的同一个 COM 对象进行了快速测试。

任何人都可以分享一个见解?

干杯,丹尼尔。

4

0 回答 0