在Java 8中,是否有任何解决Java致命错误的解决方案



我正在使用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!它再次检测到内存错误。因此,认真的人:检查您的公羊。

最新更新