我正在使用IHM中的SWT/jface进行RCP Java项目,我正在遇到一个严重的问题,导致应用程序崩溃。我尝试检查PID文件,但是PID文件中堆栈中的最后一种方法不同。我增加了XMX和XMS,但崩溃仍然存在,我正在寻找一个帮助我解决的索引,但无法解决。
从PID文件bellow
> # A fatal error has been detected by the Java Runtime Environment: > # > # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000005f8c04fa, pid=5268, tid=0x00000000000008c0 > # > # JRE version: Java(TM) SE Runtime Environment (8.0_102-b14) (build 1.8.0_102-b14) > # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.102-b14 mixed mode windows-amd64 compressed oops) > # Problematic frame: > # C 0x000000005f8c04fa > # > # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows > # > # If you would like to submit a bug report, please visit: > # http://bugreport.java.com/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 (0x000000000226f800): JavaThread "main" > [_thread_in_native, id=2240, > stack(0x00000000026a0000,0x00000000027a0000)] > > siginfo: ExceptionCode=0xc0000005, reading address 0x0000000000000013 > > Registers: RAX=0x0000000000040b3e, RBX=0x0000000000000002, > RCX=0x0000000040b3ed30, RDX=0x0000000000000002 RSP=0x000000000279a700, > RBP=0x0000000040b3e000, RSI=0x0000000040b3e000, RDI=0x0000000000000000 > R8 =0x0000000000000001, R9 =0x0000000000000001, > R10=0x0000000004deb3c9, R11=0x0000000004deb398 R12=0x00000000609a8730, > R13=0x0000000000000000, R14=0x0000000000000001, R15=0x0000000000000000 > RIP=0x000000005f8c04fa, EFLAGS=0x0000000000010202 > > Top of Stack: (sp=0x000000000279a700) 0x000000000279a700: > 000000000279a848 0000000000000000 0x000000000279a710: > 000000000226f800 000000000279a7d8 0x000000000279a720: > 000000000226f800 000000000279a808 0x000000000279a730: > 0000000000000000 0000000000470000 0x000000000279a740: > 000000000279a7d8 000000005f8bf2e3 0x000000000279a750: > 0000000000000002 0000000040b3ed30 0x000000000279a760: > 000000000279a7f0 0000000000470000 0x000000000279a770: > 0000000000000000 0000000004deb447 0x000000000279a780: > 0000000024385638 00000006dce5dbb0 0x000000000279a790: > 0000000000421054 0000000002c06f44 0x000000000279a7a0: > 0000000000000002 0000000004e7aef4 0x000000000279a7b0: > 0000000000000000 0000000000000000 0x000000000279a7c0: > 0000000036bb84e0 0000000000000000 0x000000000279a7d0: > 000000000279a868 00000006dd0f16a0 0x000000000279a7e0: > 00000006dd0f16a0 0000000002a77f10 0x000000000279a7f0: > 000000000279a868 0000000002a77f10 > > Instructions: (pc=0x000000005f8c04fa) 0x000000005f8c04da: 81 e3 ff > 07 00 00 48 03 db 49 39 b4 dc d0 08 00 0x000000005f8c04ea: 00 75 28 > 49 8b 9c dc d8 08 00 00 48 85 db 74 20 0x000000005f8c04fa: 0f b6 43 > 11 41 3b c0 75 17 41 83 f8 01 0f 85 80 0x000000005f8c050a: 01 00 00 > ff 43 18 e9 78 01 00 00 48 8b 5c 24 50 > > > Register to memory mapping: > > RAX=0x0000000000040b3e is an unknown value RBX=0x0000000000000002 is > an unknown value RCX=0x0000000040b3ed30 is an unknown value > RDX=0x0000000000000002 is an unknown value RSP=0x000000000279a700 is > pointing into the stack for thread: 0x000000000226f800 > RBP=0x0000000040b3e000 is an unknown value RSI=0x0000000040b3e000 is > an unknown value RDI=0x0000000000000000 is an unknown value R8 > =0x0000000000000001 is an unknown value R9 =0x0000000000000001 is an unknown value R10=0x0000000004deb3c9 is at entry_point+73 in > (nmethod*)0x0000000004deb210 R11=0x0000000004deb398 is at > entry_point+24 in (nmethod*)0x0000000004deb210 R12=0x00000000609a8730 > is an unknown value R13=0x0000000000000000 is an unknown value > R14=0x0000000000000001 is an unknown value R15=0x0000000000000000 is > an unknown value > > > Stack: [0x00000000026a0000,0x00000000027a0000], > sp=0x000000000279a700, free space=1001k Native frames: (J=compiled > Java code, j=interpreted, Vv=VM code, C=native code) C > 0x000000005f8c04fa C 0x000000005f8bf2e3 C 0x0000000004deb447 > > Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) J 10363 > org.eclipse.swt.internal.win32.OS.HeapAlloc(JII)J (0 bytes) @ > 0x0000000004deb3c9 [0x0000000004deb380+0x49] j > org.eclipse.swt.widgets.CoolBar.createItem(Lorg/eclipse/swt/widgets/CoolItem;I)V+114 > j > org.eclipse.swt.widgets.CoolItem.<init>(Lorg/eclipse/swt/widgets/CoolBar;I)V+17 > j > fr.ifp.temisflow.api.basintools.ui.ui.widget.CoolItemFactory.createCoolItem(ILorg/eclipse/swt/widgets/Control;II)Lorg/eclipse/swt/widgets/CoolItem;+58
和我的VM参数et Environment变量是:
> VM Arguments: jvm_args:
> -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:58325 -Xms400m -Xmx4000m -XX:-UseGCOverheadLimit -XX:+UseConcMarkSweepGC -XX:+AggressiveOpts -Dfile.encoding=Cp1252 java_command: org.eclipse.equinox.launcher.Main -launcher
> -os win32 -ws win32 -arch x86_64 -nl en_GB -consoleLog java_class_path (initial):
> C:Users.metadata.pluginsorg.eclipse.pde.core.bundle_poolpluginsorg.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
> Launcher Type: SUN_STANDARD
>
> Environment Variables: PATH=C:/Program
> Files/Java/jre1.8.0_102/bin/server;C:/Program
> Files/Java/jre1.8.0_102/bin;C:/Program
> Files/Java/jre1.8.0_102/lib/amd64;C:Program Files (x86)Common
> FilesIntelShared Librariesredistintel64mpirt;C:Program Files
> (x86)Common FilesIntelShared
> Librariesredistintel64compiler;C:ProgramDataOracleJavajavapath;C:windowssystem32;C:windows;C:windowsSystem32Wbem;C:windowsSystem32WindowsPowerShellv1.0;C:Program
> Files (x86)WinMerge;C:Program Files (x86)Common
> FilesSYSTEMMSMAPI1036;C:Userseclipse;
> USERNAME=** OS=Windows_NT PROCESSOR_IDENTIFIER=Intel64 Family 6
> Model 26 Stepping 5, GenuineIntel
>
>
>
> --------------- S Y S T E M ---------------
>
> OS: Windows 7 , 64 bit Build 7601 (6.1.7601.23572)
>
> CPU:total 4 (4 cores per cpu, 2 threads per core) family 6 model 26
> stepping 5, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1,
> sse4.2, popcnt, ht, tsc, tscinvbit, tscinv
>
> Memory: 4k page, physical 12580408k(5019496k free), swap
> 25158956k(16067112k free)
>
> vm_info: Java HotSpot(TM) 64-Bit Server VM (25.102-b14) for
> windows-amd64 JRE (1.8.0_102-b14), built on Jun 22 2016 13:15:21 by
> "java_re" with MS VC++ 10.0 (VS2010)
我还浏览了工作区中的.metadata中的日志,但在崩溃期间没有日志。
是否有可能解决Java 8的Java致命错误的解决方案或规则Skout?
检查您的RAM。
我每天几次遭受了同样的错误EXCEPTION_ACCESS_VIOLATION (0xc0000005)
,直到我运行内存诊断工具并发现我的一个RAM模块有故障。
参考:JVM崩溃except_access_violation(0xc0000005)
周年纪念编辑:自从我通过更换故障的RAM模块解决问题以来已经有一年多了。现在,有几个星期,我又经历了同样的错误。我只是运行内存诊断工具和BAM!它再次检测到内存错误。因此,认真的人:检查您的公羊。