java - 在 RCP 应用程序中运行测试时,SWTBot 使 JVM 崩溃

标签 java junit jvm eclipse-rcp native-code

我正在根据 SWTBot User Guide 使用示例项目尝试 SWTBot 。我的问题是,当我运行第二个测试 (MessageCreateTest) 时,JVM 崩溃并收到以下错误:

A fatal error has been detected by the Java Runtime Environment:
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000007fefd644929, pid=4852, tid=5556
JRE version: 6.0_18-b07
Java VM: Java HotSpot(TM) 64-Bit Server VM (16.0-b13 mixed mode windows-amd64 )
Problematic frame:
C  [SHELL32.dll+0xa4929]
An error report file with more information is saved as:
D:\work\v8\workspace\test_workspace\org.rcpmail.test\hs_err_pid4852.log
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.

我的测试类:

package org.rcpmail.test;

import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
import org.junit.Before;
import org.junit.Test;

public class MessageCreateTest {

  private SWTWorkbenchBot bot;

  @Test
  public void canCreateAMessage() throws Exception {
    bot.menu("File").menu("Open Another Message View").click();
  }

  @Before
  public void setup() {
    bot = new SWTWorkbenchBot();
  }
}

我检查了此处包含的错误日志文件:

---------------  T H R E A D  ---------------

Current thread (0x000000000053b800):  JavaThread "main" [_thread_in_native, id=5556, stack(0x0000000002370000,0x0000000002470000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x0000000000000000

Registers:
EAX=0x000000007ffffffe, EBX=0x0000000000000010, ECX=0x000000000246cc90, EDX=0x0000000000000104
ESP=0x000000000246cb08, EBP=0x000000000246cc90, ESI=0x0000000000000010, EDI=0x0000000000000000
EIP=0x000007fefd644929, EFLAGS=0x0000000000010202

Top of Stack: (sp=0x000000000246cb08)
0x000000000246cb08:   000007fefd8f961d 000000000000013f
0x000000000246cb18:   000000000000013c 000050446227f7fe
0x000000000246cb28:   00000000001a5710 0000000000291930
0x000000000246cb38:   0000000000000202 0000000000291998
0x000000000246cb48:   000007fefd8f9700 0000000000000010
0x000000000246cb58:   000000000246cf48 0000000000271b58
0x000000000246cb68:   0000000000000000 000000000246cb80
0x000000000246cb78:   00000000324d0080 000007fefd9f3124
0x000000000246cb88:   0000000000000000 0028002000730025
0x000000000246cb98:   0000000000000029 000000000028a1d0
0x000000000246cba8:   00000000001a57b4 000000000028a1d0
0x000000000246cbb8:   0000000000000104 000000000246ce90
0x000000000246cbc8:   00000000001a5710 00000000000000e9
0x000000000246cbd8:   000000000246cbe0 00000000001a0230
0x000000000246cbe8:   00000000000011f5 0055005c003a0043
0x000000000246cbf8:   0073007200650073 006500640065005c 

Instructions: (pc=0x000007fefd644929)
0x000007fefd644919:   d2 4c 2b c1 90 90 90 49 8d 04 12 49 3b c3 74 18
0x000007fefd644929:   41 0f b7 04 08 66 41 3b c3 74 0d 66 89 01 48 83 


Stack: [0x0000000002370000,0x0000000002470000],  sp=0x000000000246cb08,  free space=3f20000000000000000k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [SHELL32.dll+0xa4929]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  org.eclipse.swt.internal.win32.OS.VtblCall(IJ)I+0
j  org.eclipse.swt.widgets.TaskBar.getDirectory(JJ[CZ)J+141
j  org.eclipse.swt.widgets.TaskBar.getDirectory([C)Ljava/lang/String;+204
j  org.eclipse.swt.widgets.TaskBar.setMenu(Lorg/eclipse/swt/widgets/Menu;)V+97
j  org.eclipse.swt.widgets.TaskItem.setMenu(Lorg/eclipse/swt/widgets/Menu;)V+53
v  ~StubRoutines::call_stub
j  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j  sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
j  sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+161
j  org.eclipse.mylyn.internal.commons.ui.TaskBarManager$TaskBarMenuManager.setMenuOnTaskItem(Lorg/eclipse/swt/widgets/Widget;Lorg/eclipse/swt/widgets/Menu;)V+45
j  org.eclipse.mylyn.internal.commons.ui.TaskBarManager$TaskBarMenuManager.update(ZZ)V+68
j  org.eclipse.jface.action.MenuManager.update(Z)V+3
j  org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin.addSystemTaskBarActions()V+55
j  org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin.access$6(Lorg/eclipse/mylyn/internal/tasks/ui/TasksUiPlugin;)V+1
j  org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin$TasksUiInitializationJob.runInUIThread(Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/core/runtime/IStatus;+211
j  org.eclipse.ui.progress.UIJob$1.run()V+53
j  org.eclipse.swt.widgets.RunnableLock.run()V+11
j  org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Z)Z+29
j  org.eclipse.swt.widgets.Display.runAsyncMessages(Z)Z+5
j  org.eclipse.swt.widgets.Display.readAndDispatch()Z+91
j  org.eclipse.ui.internal.Workbench.runEventLoop(Lorg/eclipse/jface/window/Window$IExceptionHandler;Lorg/eclipse/swt/widgets/Display;)V+9
j  org.eclipse.ui.internal.Workbench.runUI()I+555
j  org.eclipse.ui.internal.Workbench.access$4(Lorg/eclipse/ui/internal/Workbench;)I+1
j  org.eclipse.ui.internal.Workbench$7.run()V+55
j  org.eclipse.core.databinding.observable.Realm.runWithDefault(Lorg/eclipse/core/databinding/observable/Realm;Ljava/lang/Runnable;)V+12
j  org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;)I+18
j  org.eclipse.ui.PlatformUI.createAndRunWorkbench(Lorg/eclipse/swt/widgets/Display;Lorg/eclipse/ui/application/WorkbenchAdvisor;)I+2
j  org.rcpmail.Application.start(Lorg/eclipse/equinox/app/IApplicationContext;)Ljava/lang/Object;+12
j  org.eclipse.swtbot.eclipse.core.UITestApplication.start(Lorg/eclipse/equinox/app/IApplicationContext;)Ljava/lang/Object;+87
j  org.eclipse.equinox.internal.app.EclipseAppHandle.run(Ljava/lang/Object;)Ljava/lang/Object;+135
j  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Ljava/lang/Object;)Ljava/lang/Object;+103
j  org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Ljava/lang/Object;)Ljava/lang/Object;+29
j  org.eclipse.core.runtime.adaptor.EclipseStarter.run(Ljava/lang/Object;)Ljava/lang/Object;+149
j  org.eclipse.core.runtime.adaptor.EclipseStarter.run([Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Object;+183
v  ~StubRoutines::call_stub
j  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j  sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
j  sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
j  java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+161
j  org.eclipse.equinox.launcher.Main.invokeFramework([Ljava/lang/String;[Ljava/net/URL;)V+211
j  org.eclipse.equinox.launcher.Main.basicRun([Ljava/lang/String;)V+126
j  org.eclipse.equinox.launcher.Main.run([Ljava/lang/String;)I+4
j  org.eclipse.equinox.launcher.Main.main([Ljava/lang/String;)V+10
v  ~StubRoutines::call_stub

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

Java Threads: ( => current thread )
  0x000000002c122800 JavaThread "Worker-2" [_thread_blocked, id=4932, stack(0x0000000032360000,0x0000000032460000)]
  0x000000002ce35800 JavaThread "Worker-1" [_thread_blocked, id=1396, stack(0x0000000032260000,0x0000000032360000)]
  0x000000002d696000 JavaThread "WorkbenchTestable" [_thread_blocked, id=5784, stack(0x0000000032160000,0x0000000032260000)]
  0x000000002ecc6800 JavaThread "Worker-0" [_thread_in_vm, id=5760, stack(0x0000000031960000,0x0000000031a60000)]
  0x000000002d346000 JavaThread "Worker-JM" [_thread_blocked, id=6064, stack(0x000000002e760000,0x000000002e860000)]
  0x000000002cc27800 JavaThread "[Timer] - Main Queue Handler" daemon [_thread_blocked, id=5176, stack(0x000000002e660000,0x000000002e760000)]
  0x000000002d18f000 JavaThread "Bundle File Closer" daemon [_thread_blocked, id=5568, stack(0x000000002e460000,0x000000002e560000)]
  0x000000002cdcc800 JavaThread "Start Level Event Dispatcher" daemon [_thread_blocked, id=5164, stack(0x000000002e360000,0x000000002e460000)]
  0x000000002c9b8800 JavaThread "Framework Event Dispatcher" daemon [_thread_blocked, id=5944, stack(0x000000002e260000,0x000000002e360000)]
  0x000000002cda6000 JavaThread "State Saver" [_thread_blocked, id=1036, stack(0x000000002e160000,0x000000002e260000)]
  0x000000002b7cb800 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=4904, stack(0x000000002bd60000,0x000000002be60000)]
  0x000000002b7ca800 JavaThread "CompilerThread1" daemon [_thread_blocked, id=1128, stack(0x000000002bc60000,0x000000002bd60000)]
  0x000000002b7b5800 JavaThread "CompilerThread0" daemon [_thread_blocked, id=5652, stack(0x000000002bb60000,0x000000002bc60000)]
  0x000000002b7b1800 JavaThread "Attach Listener" daemon [_thread_blocked, id=4332, stack(0x000000002ba60000,0x000000002bb60000)]
  0x000000002b7aa800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=288, stack(0x000000002b960000,0x000000002ba60000)]
  0x0000000000527000 JavaThread "Finalizer" daemon [_thread_blocked, id=4720, stack(0x000000002b660000,0x000000002b760000)]
  0x0000000000520800 JavaThread "Reference Handler" daemon [_thread_blocked, id=5248, stack(0x000000002b560000,0x000000002b660000)]
=>0x000000000053b800 JavaThread "main" [_thread_in_native, id=5556, stack(0x0000000002370000,0x0000000002470000)]

Other Threads:
  0x000000000051c000 VMThread [stack: 0x000000002b460000,0x000000002b560000] [id=2328]
  0x000000002b7cc800 WatcherThread [stack: 0x000000002be60000,0x000000002bf60000] [id=5404]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 PSYoungGen      total 139008K, used 71391K [0x000000001fe90000, 0x000000002a930000, 0x000000002a930000)
  eden space 130048K, 48% used [0x000000001fe90000,0x0000000023b8fe48,0x0000000027d90000)
  from space 8960K, 99% used [0x000000002a070000,0x000000002a928048,0x000000002a930000)
  to   space 11520K, 0% used [0x00000000292b0000,0x00000000292b0000,0x0000000029df0000)
 PSOldGen        total 49600K, used 30640K [0x000000000a930000, 0x000000000d9a0000, 0x000000001fe90000)
  object space 49600K, 61% used [0x000000000a930000,0x000000000c71c020,0x000000000d9a0000)
 PSPermGen       total 34816K, used 34638K [0x0000000005530000, 0x0000000007730000, 0x000000000a930000)
  object space 34816K, 99% used [0x0000000005530000,0x0000000007703bd0,0x0000000007730000)

Dynamic libraries:
0x0000000000400000 - 0x000000000042e000     D:\work\v8\tool\win7-64\jdk1.6.0_18\bin\javaw.exe
0x0000000076ed0000 - 0x0000000077079000     C:\Windows\SYSTEM32\ntdll.dll
0x0000000076a00000 - 0x0000000076b1f000     C:\Windows\system32\kernel32.dll
0x000007fefc9d0000 - 0x000007fefca3c000     C:\Windows\system32\KERNELBASE.dll
0x000007fefd100000 - 0x000007fefd1db000     C:\Windows\system32\ADVAPI32.dll
0x000007fefcd10000 - 0x000007fefcdaf000     C:\Windows\system32\msvcrt.dll
0x000007fefd0b0000 - 0x000007fefd0cf000     C:\Windows\SYSTEM32\sechost.dll
0x000007fefd470000 - 0x000007fefd59d000     C:\Windows\system32\RPCRT4.dll
0x0000000076dd0000 - 0x0000000076eca000     C:\Windows\system32\USER32.dll
0x000007fefe5f0000 - 0x000007fefe657000     C:\Windows\system32\GDI32.dll
0x000007fefce20000 - 0x000007fefce2e000     C:\Windows\system32\LPK.dll
0x000007fefce30000 - 0x000007fefcef9000     C:\Windows\system32\USP10.dll
0x000007fefd0d0000 - 0x000007fefd0fe000     C:\Windows\system32\IMM32.DLL
0x000007fefcfa0000 - 0x000007fefd0a9000     C:\Windows\system32\MSCTF.dll
0x000000006d890000 - 0x000000006df35000     D:\work\v8\tool\win7-64\jdk1.6.0_18\jre\bin\server\jvm.dll
0x000007fef9ea0000 - 0x000007fef9edb000     C:\Windows\system32\WINMM.dll
0x000000006d800000 - 0x000000006d80e000     D:\work\v8\tool\win7-64\jdk1.6.0_18\jre\bin\verify.dll
0x000000006d450000 - 0x000000006d477000     D:\work\v8\tool\win7-64\jdk1.6.0_18\jre\bin\java.dll
0x000000006d3b0000 - 0x000000006d3ba000     D:\work\v8\tool\win7-64\jdk1.6.0_18\jre\bin\hpi.dll
0x0000000077090000 - 0x0000000077097000     C:\Windows\system32\PSAPI.DLL
0x000000006d850000 - 0x000000006d862000     D:\work\v8\tool\win7-64\jdk1.6.0_18\jre\bin\zip.dll
0x000007fefc170000 - 0x000007fefc187000     C:\Windows\system32\CRYPTSP.dll
0x000007fefbe70000 - 0x000007fefbeb7000     C:\Windows\system32\rsaenh.dll
0x000007fefbbe0000 - 0x000007fefbbfe000     C:\Windows\system32\USERENV.dll
0x000007fefc8a0000 - 0x000007fefc8af000     C:\Windows\system32\profapi.dll
0x000007fefc7d0000 - 0x000007fefc7df000     C:\Windows\system32\CRYPTBASE.dll
0x000000006d6a0000 - 0x000000006d6b7000     D:\work\v8\tool\win7-64\jdk1.6.0_18\jre\bin\net.dll
0x000007fefcdd0000 - 0x000007fefce1d000     C:\Windows\system32\WS2_32.dll
0x000007fefe660000 - 0x000007fefe668000     C:\Windows\system32\NSI.dll
0x000007fefc110000 - 0x000007fefc165000     C:\Windows\system32\mswsock.dll
0x000007fefc100000 - 0x000007fefc107000     C:\Windows\System32\wship6.dll
0x000007fefacc0000 - 0x000007fefacd5000     C:\Windows\system32\NLAapi.dll
0x000007fef78d0000 - 0x000007fef78e5000     C:\Windows\system32\napinsp.dll
0x000007fef78b0000 - 0x000007fef78c9000     C:\Windows\system32\pnrpnsp.dll
0x000007fefbf90000 - 0x000007fefbfeb000     C:\Windows\system32\DNSAPI.dll
0x000007fef78a0000 - 0x000007fef78ab000     C:\Windows\System32\winrnr.dll
0x000007fefbab0000 - 0x000007fefbab7000     C:\Windows\System32\wshtcpip.dll
0x000007fefa900000 - 0x000007fefa927000     C:\Windows\system32\IPHLPAPI.DLL
0x000007fefa7c0000 - 0x000007fefa7cb000     C:\Windows\system32\WINNSI.DLL
0x000007fef8460000 - 0x000007fef8468000     C:\Windows\system32\rasadhlp.dll
0x000007fefa680000 - 0x000007fefa6d3000     C:\Windows\System32\fwpuclnt.dll
0x000000006d6c0000 - 0x000000006d6cb000     D:\work\v8\tool\win7-64\jdk1.6.0_18\jre\bin\nio.dll
0x0000000072000000 - 0x0000000072012000     D:\work\v8\tool\win7-64\eclipse-custom-3.6.0\plugins\org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.2.R36x_v20101222\eclipse_1312.dll
0x000007fefb0b0000 - 0x000007fefb2a4000     C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_fa396087175ac9ac\COMCTL32.dll
0x000007fefd3f0000 - 0x000007fefd461000     C:\Windows\system32\SHLWAPI.dll
0x000007fefb9e0000 - 0x000007fefb9ec000     C:\Windows\system32\VERSION.dll
0x000000002c4a0000 - 0x000000002c53b000     D:\work\v8\workspace\test_workspace\.metadata\.plugins\org.eclipse.pde.core\pde-junit\org.eclipse.osgi\bundles\611\1\.cp\swt-win32-3659.dll
0x000007fefd1e0000 - 0x000007fefd3e3000     C:\Windows\system32\ole32.dll
0x000007fefe670000 - 0x000007fefe747000     C:\Windows\system32\OLEAUT32.dll
0x000007fefcf00000 - 0x000007fefcf97000     C:\Windows\system32\comdlg32.dll
0x000007fefd5a0000 - 0x000007fefe328000     C:\Windows\system32\SHELL32.dll
0x0000000076c70000 - 0x0000000076dca000     C:\Windows\system32\WININET.dll
0x00000000770a0000 - 0x00000000770a3000     C:\Windows\system32\Normaliz.dll
0x00000000767f0000 - 0x00000000769fd000     C:\Windows\system32\iertutil.dll
0x0000000076b20000 - 0x0000000076c6d000     C:\Windows\system32\urlmon.dll
0x000007fefafd0000 - 0x000007fefb026000     C:\Windows\system32\uxtheme.dll
0x000007fefaa10000 - 0x000007fefaa28000     C:\Windows\system32\dwmapi.dll
0x00000000003e0000 - 0x00000000003fe000     D:\work\v8\workspace\test_workspace\.metadata\.plugins\org.eclipse.pde.core\pde-junit\org.eclipse.osgi\bundles\611\1\.cp\swt-gdip-win32-3659.dll
0x000007fefadb0000 - 0x000007fefafc5000     C:\Windows\WinSxS\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.17514_none_2b24536c71ed437a\gdiplus.dll
0x000007fef2af0000 - 0x000007fef2b44000     C:\Windows\system32\oleacc.dll
0x000007fefb5a0000 - 0x000007fefb6cc000     C:\Windows\system32\propsys.dll
0x000007fefcc70000 - 0x000007fefcd09000     C:\Windows\system32\CLBCatQ.DLL
0x000007fef46a0000 - 0x000007fef486a000     C:\Windows\system32\explorerframe.dll
0x000007fefab10000 - 0x000007fefab53000     C:\Windows\system32\DUser.dll
0x000007fefabc0000 - 0x000007fefacb2000     C:\Windows\system32\DUI70.dll
0x000007fef7c60000 - 0x000007fef7c71000     D:\work\v8\workspace\test_workspace\.metadata\.plugins\org.eclipse.pde.core\pde-junit\org.eclipse.osgi\bundles\95\1\.cp\jWinHttp-1.0.0.dll
0x000007fef90c0000 - 0x000007fef9131000     C:\Windows\system32\WINHTTP.dll
0x000007fef9050000 - 0x000007fef90b4000     C:\Windows\system32\webio.dll
0x000007fefa650000 - 0x000007fefa661000     C:\Windows\system32\dhcpcsvc6.DLL
0x000007fefa5d0000 - 0x000007fefa5e8000     C:\Windows\system32\dhcpcsvc.DLL
0x000007fefc740000 - 0x000007fefc765000     C:\Windows\system32\SspiCli.dll
0x000007fefbd70000 - 0x000007fefbd7a000     C:\Windows\system32\credssp.dll
0x000007fefc950000 - 0x000007fefc986000     C:\Windows\system32\CFGMGR32.dll
0x000007fefc880000 - 0x000007fefc894000     C:\Windows\system32\RpcRtRemote.dll
0x000007fefa010000 - 0x000007fefa017000     C:\Windows\system32\msimg32.dll
0x000007fefe3b0000 - 0x000007fefe587000     C:\Windows\system32\SETUPAPI.dll
0x000007fefca40000 - 0x000007fefca5a000     C:\Windows\system32\DEVOBJ.dll
0x000007fefb080000 - 0x000007fefb0ad000     C:\Windows\system32\ntmarta.dll
0x000007fefe590000 - 0x000007fefe5e2000     C:\Windows\system32\WLDAP32.dll

VM Arguments:
jvm_args: -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m -Declipse.pde.launch=true -Declipse.p2.data.area=@config.dir\p2 -Dfile.encoding=Cp1250 
java_command: org.eclipse.equinox.launcher.Main -os win32 -ws win32 -arch x86_64 -nl hu_HU -consoleLog -version 3 -port 56944 -testLoaderClass org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader -loaderpluginname org.eclipse.jdt.junit4.runtime -classNames org.rcpmail.test.MessageCreateTest -application org.eclipse.swtbot.eclipse.core.swtbottestapplication -product org.rcpmail.product -data D:\work\v8\workspace\test_workspace/../junit-workspace -configuration file:D:/work/v8/workspace/test_workspace/.metadata/.plugins/org.eclipse.pde.core/pde-junit/ -dev file:D:/work/v8/workspace/test_workspace/.metadata/.plugins/org.eclipse.pde.core/pde-junit/dev.properties -os win32 -ws win32 -arch x86_64 -nl hu_HU -consoleLog -testpluginname org.rcpmail.test
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=D:\work\v8\tool\win7-64\jdk1.6.0_18
PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;;D:\work\v8\;D:\work\v8\tool\win7-64\jdk1.6.0_18\bin;D:\work\v8\tool\win7-64\eclipse-custom-3.6.0;D:\work\v8\tool\win7-64\apache-ant-1.8.0\bin;\bin;D:\work\v8\tool\win7-64\svn-win32-1.6.6\bin
USERNAME=edem
OS=Windows_NT
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 30 Stepping 5, GenuineIntel



---------------  S Y S T E M  ---------------

OS: Windows 7 Build 7601 Service Pack 1

CPU:total 4 (8 cores per cpu, 2 threads per core) family 6 model 30 stepping 5, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, ht

Memory: 4k page, physical 8379508k(5484476k free), swap 16757168k(13043912k free)

vm_info: Java HotSpot(TM) 64-Bit Server VM (16.0-b13) for windows-amd64 JRE (1.6.0_18-b07), built on Dec 17 2009 13:24:11 by "java_re" with MS VC++ 8.0 (VS2005)

time: Mon Aug 01 15:36:17 2011
elapsed time: 5 seconds

我尝试了所有可能的排列来解决这个问题,但似乎没有任何帮助。 我尝试过:

  • 切换工作空间
  • 不同版本的 eclipse
  • 更改 jvm/应用程序参数

但是我无法更改 java 安装,因为我们正在使用固定版本。您知道问题出在哪里吗?

我这里有示例 RCP Mail 程序及其根据我上面粘贴的链接进行的测试。

最佳答案

该错误表明您正在使用 64 位 JVM。

Java VM: Java HotSpot(TM) 64-Bit Server VM (16.0-b13 mixed mode windows-amd64 )

错误来自 32 位 dll。

Problematic frame:
C  [SHELL32.dll+0xa4929]

所以我猜问题是,代码以某种方式加载了 32 位库,但您需要 64 位库。安装 64 位版本的 eclipse 可能会有所帮助,但这可能还不够,因为 SWT Bot 可能会以特殊方式加载 DLL。如果是这样,我希望您不是第一个遇到此问题的人(但我不是另一个人;))。

关于java - 在 RCP 应用程序中运行测试时,SWTBot 使 JVM 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6899518/

相关文章:

java - 不能用不同类型的参数继承

java - 使用 JUnit 和 Mockito 测试类时出现异常

java - 有没有jvm使用三色标记算法来标记可达对象?

jvm - Java - 无效的最大堆大小

java - 有没有办法在游戏循环中进行随机滴答?

java - 如何防止测试在部署期间运行?

java - 如何打印对象的实现类

java - 嵌入式 Spring-Kafka 导致不相关的单元测试失败

java - 无法在 IntelliJ IDEA 中的 Maven 项目内运行 JUnit 测试

java - 从 SBT 资源文件夹中读取文件而不转义字符