3

COM4J (20110320) を使用して、Dragon Naturally Speaking 11 とのインターフェイスを試みています。正常に起動し、COM オブジェクトからイベントを取得するなど、COM オブジェクトと対話できます。

ただし、JVM が起動して受信イベントをリッスンすると、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 を実行しています。

クラッシュしていない同じ COM オブジェクトを使用して、C# で簡単なテストを実行しました。

洞察を共有できる人はいますか?

乾杯、ダニエル。

4

0 に答える 0