用swt的OleFrame调用ocx导致jvm崩溃

jilk89757 2013-09-03 09:35:56
#
# An unexpected error has been detected by Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x70cee046, pid=604, tid=3436
#
# Java VM: Java HotSpot(TM) Client VM (11.0-b16 mixed mode, sharing windows-x86)
# Problematic frame:
# C [MFC42.DLL+0x1e046]
#
# 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 (0x00229800): JavaThread "main" [_thread_in_native, id=3436, stack(0x00330000,0x00380000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x00000020

Registers:
EAX=0x00000000, EBX=0x0037f8c8, ECX=0x00000000, EDX=0x005a1620
ESP=0x0037f8a0, EBP=0x0037f8ac, ESI=0x0087af20, EDI=0x00000000
EIP=0x70cee046, EFLAGS=0x00010246

Top of Stack: (sp=0x0037f8a0)
0x0037f8a0: 0037f8c8 0037f920 00000000 00000000
0x0037f8b0: 04b1e9c3 0037f8c8 0037f920 00000000
0x0037f8c0: 00000000 0087af20 0037f8f0 0087af20
0x0037f8d0: 005aa1c0 00000000 04b207bc 00000000
0x0037f8e0: 00000000 0037f900 0037f9a0 00000000
0x0037f8f0: 00000000 00000000 00000000 00000000
0x0037f900: 70d7427a 00000000 00000000 70d5d46d
0x0037f910: fffffffe 0037f9a0 d7ce322e 70d5d41f

Instructions: (pc=0x70cee046)
0x70cee036: 90 90 90 8b ff 55 8b ec 53 8b 5d 08 57 8b f9 53
0x70cee046: ff 77 20 ff 15 cc a4 dc 70 8d 43 08 50 ff 77 20


Stack: [0x00330000,0x00380000], sp=0x0037f8a0, free space=318k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [MFC42.DLL+0x1e046]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j org.eclipse.swt.internal.ole.win32.COM.VtblCall(IIILorg/eclipse/swt/internal/ole/win32/GUID;IILorg/eclipse/swt/internal/ole/win32/DISPPARAMS;ILorg/eclipse/swt/internal/ole/win32/EXCEPINFO;[I)I+0
j org.eclipse.swt.internal.ole.win32.IDispatch.Invoke(ILorg/eclipse/swt/internal/ole/win32/GUID;IILorg/eclipse/swt/internal/ole/win32/DISPPARAMS;ILorg/eclipse/swt/internal/ole/win32/EXCEPINFO;[I)I+19
j org.eclipse.swt.ole.win32.OleAutomation.invoke(II[Lorg/eclipse/swt/ole/win32/Variant;[ILorg/eclipse/swt/ole/win32/Variant;)I+232
j org.eclipse.swt.ole.win32.OleAutomation.invoke(I[Lorg/eclipse/swt/ole/win32/Variant;)Lorg/eclipse/swt/ole/win32/Variant;+14
j cn.com.yzj.YZJTest.testSealUI(Lorg/eclipse/swt/widgets/Composite;)V+419
j cn.com.yzj.YZJTest.main([Ljava/lang/String;)V+71
v ~StubRoutines::call_stub

--------------- P R O C E S S ---------------

Java Threads: ( => current thread )
0x01e8d800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=1464, stack(0x04580000,0x045d0000)]
0x01e84c00 JavaThread "CompilerThread0" daemon [_thread_blocked, id=3508, stack(0x044f0000,0x04540000)]
0x01e84800 JavaThread "Attach Listener" daemon [_thread_blocked, id=4052, stack(0x04460000,0x044b0000)]
0x01e83000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=3012, stack(0x043d0000,0x04420000)]
0x01e36000 JavaThread "Finalizer" daemon [_thread_blocked, id=1356, stack(0x04340000,0x04390000)]
0x01e33c00 JavaThread "Reference Handler" daemon [_thread_blocked, id=2976, stack(0x042b0000,0x04300000)]
=>0x00229800 JavaThread "main" [_thread_in_native, id=3436, stack(0x00330000,0x00380000)]

Other Threads:
0x01e32400 VMThread [stack: 0x01f10000,0x01f60000] [id=2604]
0x01e8dc00 WatcherThread [stack: 0x04610000,0x04660000] [id=2432]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
def new generation total 960K, used 803K [0x241a0000, 0x242a0000, 0x24680000)
eden space 896K, 86% used [0x241a0000, 0x24260ab8, 0x24280000)
from space 64K, 51% used [0x24290000, 0x24298448, 0x242a0000)
to space 64K, 0% used [0x24280000, 0x24280000, 0x24290000)
tenured generation total 4096K, used 1566K [0x24680000, 0x24a80000, 0x281a0000)
the space 4096K, 38% used [0x24680000, 0x24807bb0, 0x24807c00, 0x24a80000)
compacting perm gen total 12288K, used 2374K [0x281a0000, 0x28da0000, 0x2c1a0000)
the space 12288K, 19% used [0x281a0000, 0x283f1aa8, 0x283f1c00, 0x28da0000)
ro space 8192K, 67% used [0x2c1a0000, 0x2c702d98, 0x2c702e00, 0x2c9a0000)
rw space 12288K, 53% used [0x2c9a0000, 0x2d010640, 0x2d010800, 0x2d5a0000)

Dynamic libraries:
0x00400000 - 0x00424000 D:\Program Files (x86)\Java\jdk1.6.0_11\bin\javaw.exe
0x76f90000 - 0x770e7000 C:\Windows\SYSTEM32\ntdll.dll
0x74710000 - 0x74840000 C:\Windows\SYSTEM32\KERNEL32.DLL
0x74c30000 - 0x74cd6000 C:\Windows\SYSTEM32\KERNELBASE.dll
0x75390000 - 0x7543e000 C:\Windows\SYSTEM32\ADVAPI32.dll
0x748b0000 - 0x749c6000 C:\Windows\SYSTEM32\USER32.dll
0x75240000 - 0x752f1000 C:\Windows\SYSTEM32\msvcrt.dll
0x74bf0000 - 0x74c24000 C:\Windows\SYSTEM32\sechost.dll
0x74ee0000 - 0x74f8c000 C:\Windows\SYSTEM32\RPCRT4.dll
0x745e0000 - 0x746dd000 C:\Windows\SYSTEM32\GDI32.dll
0x745c0000 - 0x745dc000 C:\Windows\SYSTEM32\SspiCli.dll
0x745b0000 - 0x745b9000 C:\Windows\SYSTEM32\CRYPTBASE.dll
0x74550000 - 0x745a1000 C:\Windows\SYSTEM32\bcryptPrimitives.dll
0x74840000 - 0x74860000 C:\Windows\system32\IMM32.DLL
0x76720000 - 0x767fd000 C:\Windows\SYSTEM32\MSCTF.dll
0x73b40000 - 0x73b47000 C:\PROGRA~2\NVIDIA~1\3DVISI~1\nvStInit.dll
0x746e0000 - 0x746e6000 C:\Windows\SYSTEM32\PSAPI.DLL
0x73a90000 - 0x73b33000 C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6871_none_50944e7cbcb706e5\MSVCR90.dll
0x7c340000 - 0x7c396000 D:\Program Files (x86)\Java\jdk1.6.0_11\jre\bin\msvcr71.dll
0x6d8b0000 - 0x6db06000 D:\Program Files (x86)\Java\jdk1.6.0_11\jre\bin\client\jvm.dll
0x74220000 - 0x74241000 C:\Windows\SYSTEM32\WINMM.dll
0x741f0000 - 0x7421a000 C:\Windows\SYSTEM32\WINMMBASE.dll
0x73d40000 - 0x73de7000 C:\Windows\system32\apphelp.dll
0x6d330000 - 0x6d338000 D:\Program Files (x86)\Java\jdk1.6.0_11\jre\bin\hpi.dll
0x6d860000 - 0x6d86c000 D:\Program Files (x86)\Java\jdk1.6.0_11\jre\bin\verify.dll
0x6d3d0000 - 0x6d3ef000 D:\Program Files (x86)\Java\jdk1.6.0_11\jre\bin\java.dll
0x6d8a0000 - 0x6d8af000 D:\Program Files (x86)\Java\jdk1.6.0_11\jre\bin\zip.dll
0x10000000 - 0x10063000 C:\Users\liuyq\AppData\Local\Temp\swtlib-32\swt-win32-3650.dll
0x769b0000 - 0x76ac9000 C:\Windows\SYSTEM32\ole32.dll
0x74e50000 - 0x74edb000 C:\Windows\SYSTEM32\OLEAUT32.dll
0x751b0000 - 0x75239000 C:\Windows\SYSTEM32\comdlg32.dll
0x72df0000 - 0x72fe8000 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9200.16579_none_8937eec6860750f5\COMCTL32.dll
0x75440000 - 0x76506000 C:\Windows\SYSTEM32\SHELL32.dll
0x73760000 - 0x73774000 C:\Windows\SYSTEM32\USP10.dll
0x74f90000 - 0x75148000 C:\Windows\SYSTEM32\WININET.dll
0x74a90000 - 0x74bc6000 C:\Windows\SYSTEM32\combase.dll
0x749d0000 - 0x74a10000 C:\Windows\SYSTEM32\SHLWAPI.dll
0x76cd0000 - 0x76ec8000 C:\Windows\SYSTEM32\iertutil.dll
0x74170000 - 0x741e5000 C:\Windows\SYSTEM32\SHCORE.DLL
0x73530000 - 0x735b8000 C:\Windows\system32\uxtheme.dll
0x72d70000 - 0x72d89000 C:\Windows\SYSTEM32\dwmapi.dll
0x74a10000 - 0x74a84000 C:\Windows\SYSTEM32\clbcatq.dll
0x71dd0000 - 0x71dd8000 C:\Windows\SYSTEM32\msiltcfg.dll
0x74540000 - 0x74548000 C:\Windows\SYSTEM32\VERSION.dll
0x70df0000 - 0x7103e000 C:\Windows\SYSTEM32\msi.dll
0x04b10000 - 0x04bb3000 C:\yzjlib\XUSBVIDEO.ocx
0x04bc0000 - 0x04cc0000 C:\yzjlib\cxcore100.dll
0x04cc0000 - 0x04d60000 C:\yzjlib\highgui100.dll
0x70cd0000 - 0x70de9000 C:\Windows\SYSTEM32\MFC42.DLL
0x71db0000 - 0x71dc8000 C:\Windows\SYSTEM32\OLEPRO32.DLL
0x70c60000 - 0x70cc7000 C:\Windows\SYSTEM32\MSVCP60.dll
0x04d60000 - 0x04d95000 C:\yzjlib\libguide40.dll
0x71d90000 - 0x71da8000 C:\Windows\SYSTEM32\AVIFIL32.dll
0x71d60000 - 0x71d81000 C:\Windows\SYSTEM32\MSVFW32.dll
0x70c40000 - 0x70c54000 C:\Windows\SYSTEM32\AVICAP32.dll
0x70b90000 - 0x70c31000 C:\Windows\SYSTEM32\ODBC32.dll
0x716e0000 - 0x716f4000 C:\Windows\SYSTEM32\MSACM32.dll
0x72290000 - 0x722aa000 C:\Windows\SYSTEM32\CRYPTSP.dll
0x72250000 - 0x7228e000 C:\Windows\system32\rsaenh.dll
0x70af0000 - 0x70b90000 C:\Windows\SYSTEM32\sxs.dll
0x720d0000 - 0x720e3000 C:\Windows\SYSTEM32\devenum.dll
0x76ad0000 - 0x76c7f000 C:\Windows\SYSTEM32\setupapi.dll
0x76510000 - 0x76556000 C:\Windows\SYSTEM32\CFGMGR32.dll
0x74bd0000 - 0x74bee000 C:\Windows\SYSTEM32\DEVOBJ.dll
0x73190000 - 0x731b6000 C:\Windows\SYSTEM32\ntmarta.dll
0x76c80000 - 0x76cc2000 C:\Windows\SYSTEM32\WINTRUST.dll
0x76590000 - 0x76711000 C:\Windows\SYSTEM32\CRYPT32.dll
0x76560000 - 0x76572000 C:\Windows\SYSTEM32\MSASN1.dll
0x720c0000 - 0x720cb000 C:\Windows\SYSTEM32\msdmo.dll
0x70ac0000 - 0x70af0000 C:\Windows\SYSTEM32\qcap.dll
0x70a80000 - 0x70ab2000 C:\Windows\SYSTEM32\ksproxy.ax
0x71d50000 - 0x71d55000 C:\Windows\SYSTEM32\ksuser.dll
0x708c0000 - 0x70a75000 C:\Windows\SYSTEM32\d3d9.dll
0x708b0000 - 0x708ba000 C:\Windows\SYSTEM32\vidcap.ax
0x70890000 - 0x708ad000 C:\Windows\SYSTEM32\kswdmcap.ax
0x68d00000 - 0x68ecc000 C:\yzjlib\ImagePreProc.dll
0x63600000 - 0x63623000 C:\yzjlib\libgomp-1.dll
0x62480000 - 0x6249e000 C:\yzjlib\pthreadGC2.dll
0x74860000 - 0x748b0000 C:\Windows\SYSTEM32\WS2_32.dll
0x76800000 - 0x76808000 C:\Windows\SYSTEM32\NSI.dll
0x6aac0000 - 0x6ab28000 C:\yzjlib\ImageResize.dll

...全文
532 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
-Space 2014-11-13
  • 打赏
  • 举报
回复
你好 能把你的代码发给我吗 我现在在做SWT调用ocx控件的功能 我的邮箱353207407@qq.com
jilk89757 2013-09-03
  • 打赏
  • 举报
回复
VM Arguments: jvm_args: -Dfile.encoding=GBK java_command: cn.com.yzj.YZJTest Launcher Type: SUN_STANDARD Environment Variables: PATH=D:/Program Files (x86)/Java/jdk1.6.0_11/bin/../jre/bin/client;D:/Program Files (x86)/Java/jdk1.6.0_11/bin/../jre/bin;D:/Program Files (x86)/Java/jdk1.6.0_11/bin/../jre/lib/i386;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;.;D:\Program Files (x86)\Java\jdk1.6.0_11;D:\Program Files (x86)\Java\jdk1.6.0_11\bin;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;D:\INFOTECH;D:\INFOTECH USERNAME=liuyq OS=Windows_NT PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel --------------- S Y S T E M --------------- OS: Windows NT 6.2 Build 9200 CPU:total 8 (8 cores per cpu, 2 threads per core) family 6 model 10 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, ht Memory: 4k page, physical 4085928k(2915096k free), swap 4194303k(4076556k free) vm_info: Java HotSpot(TM) Client VM (11.0-b16) for windows-x86 JRE (1.6.0_11-b03), built on Nov 10 2008 02:15:12 by "java_re" with MS VC++ 7.1 time: Tue Sep 03 08:50:15 2013 elapsed time: 1 seconds 对方朝代提供的方法中有能调成功,也有调用出现jvm崩溃的; 所以注册的ocx应该是没问题的 求高手提供解决思路啊
jilk89757 2013-09-03
  • 打赏
  • 举报
回复
已经找到解决方法,在swt调用时 界面没显示出来就调用此方法 会导致jvm崩溃 如果将此方法放置在一个事件中则正常 猜测:此方法是打开嵌入界面的视频设备,当界面没有创建完时就打视频设备找不到界面组件对象,所以jvm提示非法访问,而其他能正常方法的方法不依赖于界面对象 欢迎拍砖

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧