当前位置: 首页 > 知识库问答 >
问题:

Java运行时环境通过项目的类检测到的致命错误

邴修远
2023-03-14

我可以找到这个错误,是由项目的一个类引起的,但我显然不知道问题专家在哪里。我希望有人能帮助我。

我真的很期待帮助。非常感谢。

Java运行时环境检测到一个致命错误:

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

Current thread (0x0000000019cef000):  JavaThread "C2 CompilerThread2" 
daemon [_thread_in_native, id=25532, 
stack(0x000000001a6e0000,0x000000001a7e0000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x0000000000000008

Registers:
RAX=0x0000000000000000, RBX=0x0000000000000000, RCX=0x000000001ca6b570, 
RDX=0x0000000000004000
RSP=0x000000001a7db520, RBP=0x000000001b079d30, RSI=0x000000001ca6b570, 
RDI=0x000000001a7dba60
R8 =0x0000000000000000, R9 =0x000000001e07bfc0, R10=0x000000001a7dba60, 
R11=0x000000001afe4df0
R12=0x000000001acd5a80, R13=0x000000001ce513d8, R14=0x000000001a7db608, 
R15=0x000000001a7db628
RIP=0x0000000064e7b23f, EFLAGS=0x0000000000010206

Top of Stack: (sp=0x000000001a7db520)
0x000000001a7db520:   000000001b07a038 000000001b079d30
0x000000001a7db530:   000000001dd7e290 000000001a7dba60
0x000000001a7db540:   000000001b079d30 000000001a7db678
0x000000001a7db550:   000000001a7db6d0 0000000064e7ca69
0x000000001a7db560:   000000001b07a038 00000000000003d3
0x000000001a7db570:   0000000000000001 0000000019cd9dd0
0x000000001a7db580:   000000001a7dc438 0000000064ec7490
0x000000001a7db590:   000000001d6d8500 0000000019cd9dd0
0x000000001a7db5a0:   0000000019d16cc0 000000001a7db6d0
0x000000001a7db5b0:   0000000019cd9dd0 000000000000002b
0x000000001a7db5c0:   000000001a7dba60 0000000064e7e813
0x000000001a7db5d0:   000000001a7dba60 0000000000000001
0x000000001a7db5e0:   0000000000000001 000000001a7db678
0x000000001a7db5f0:   000000001d6d8550 000000001d6e04e8
0x000000001a7db600:   0000000000247c80 0000000019cd9dd0
0x000000001a7db610:   0000000000000400 000000001b11bbf0 

Instructions: (pc=0x0000000064e7b23f)
0x0000000064e7b21f:   4c 89 64 24 50 4c 8b e0 4c 3b e8 0f 84 4f 01 00
0x0000000064e7b22f:   00 44 8b 43 28 4c 8b 8f f8 09 00 00 4b 8b 1c c1
0x0000000064e7b23f:   48 8b 43 08 48 83 38 00 75 2a 8b 57 28 0f 1f 40
0x0000000064e7b24f:   00 8b 43 28 3b c2 73 0c 8b c8 48 8b 47 30 48 8b 


Register to memory mapping:

RAX=0x0000000000000000 is an unknown value
RBX=0x0000000000000000 is an unknown value
RCX=0x000000001ca6b570 is an unknown value
RDX=0x0000000000004000 is an unknown value
RSP=0x000000001a7db520 is pointing into the stack for thread: 
0x0000000019cef000
RBP=0x000000001b079d30 is an unknown value
RSI=0x000000001ca6b570 is an unknown value
RDI=0x000000001a7dba60 is pointing into the stack for thread: 
0x0000000019cef000
R8 =0x0000000000000000 is an unknown value
R9 =0x000000001e07bfc0 is an unknown value
R10=0x000000001a7dba60 is pointing into the stack for thread: 
0x0000000019cef000
R11=0x000000001afe4df0 is an unknown value
R12=0x000000001acd5a80 is an unknown value
R13=0x000000001ce513d8 is an unknown value
R14=0x000000001a7db608 is pointing into the stack for thread: 
0x0000000019cef000
R15=0x000000001a7db628 is pointing into the stack for thread: 
0x0000000019cef000


Stack: [0x000000001a6e0000,0x000000001a7e0000],  sp=0x000000001a7db520,  
free space=1005k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native 
code)
V  [jvm.dll+0x4cb23f]
V  [jvm.dll+0x4cca69]
V  [jvm.dll+0x4ce813]
V  [jvm.dll+0x47e1e0]
V  [jvm.dll+0x47f013]
V  [jvm.dll+0x4618a2]
V  [jvm.dll+0xa6a62]
V  [jvm.dll+0xa73af]
V  [jvm.dll+0x2467ef]
V  [jvm.dll+0x29fd2a]
C  [msvcr100.dll+0x21d9f]
C  [msvcr100.dll+0x21e3b]
C  [KERNEL32.DLL+0x17bd4]
C  [ntdll.dll+0x6ced1]


Current CompileTask:
C2:   1511  309       4       
InsertionNeighborhoodLocNew::InsertionNeighborhood (2858 bytes)
for(int x=0; x<nFac; x++) {
    for(int y=0; y<nJob; y++) {

        if(ZZ[x][y][0]==0 && y!=0) {
            flag=y-1;
            ZZf[0][x]=ZZ[x][flag][nMachine-1];
            merkerZZf[0][x]=ZZ[x][flag][nMachine-1];
            break;
        }
            else{
                if(ZZ[x][y][0]==0 && y==0) {
                ZZf[0][x]=0;
                merkerZZf[0][x]=0;
                }
                    else {
                        if(ZZ[x][nJob-1][0]!=0) {
                        flag=nJob-1;
                        ZZf[0][x]=ZZ[x][flag][nMachine-1];
                        merkerZZf[0][x]=ZZ[x][flag][nMachine-1];
                        }
                    }

            }
    }
}

通过这段代码,我基本上试图区分与我所处理的问题相关的情况。我意识到由于我删除了带有“Merkerzzf”的行,所以我不会导致错误。我不知道为什么。

共有1个答案

唐经国
2023-03-14

这是JVM中的一个致命错误,不是您的错。当JVM试图将insertionneighthood代码编译为本机代码时,就会发生这种情况。您可以尝试更改代码(修改结构,但保持逻辑不变),这样C2编译器(见下文)就不会遇到这种情况,但这首先不应该发生。

它看起来就是这个bug的一个例子,因为您显然有更简单的代码,所以您应该提交一个bug报告。不要丢失导致错误的当前代码。

C2编译器(除了C1)是JVM的内部优化编译器,负责分析正在运行的字节码,并为其确定最佳本机代码。它还可以扔掉以前编译的代码并重新编译它,这对性能很重要。假设(简化)您的代码从处理只有01数据开始,代码被编译成高效的代码。稍后,您将获得0-1000000范围内的数据,编译后的代码并不是很有效,因此JVM将其丢弃并重新编译,以便更有效地处理这些数据。

 类似资料:
  • 我在Netbeans中创建了一个Java项目,该项目在我的计算机上运行时没有问题(无论是在Netbeans中还是在运行jar文件时),但是当我试图在另一台计算机上运行该项目时,我会得到以下错误消息: Java运行时环境检测到一个致命错误: exception_access_visultion(0xC0000005)在PC=0x0000000062478337,PID=2860,TID=0x0000

  • 下面给出了我的代码。它是一个给数据库添加叶子的程序。我得到的是java运行时环境检测到的致命错误,我不明白为什么。我是Java新手,所以对此感到非常困惑。有人能告诉我为什么会这样吗?我也在安装错误文件。我也试图理解这一点,但找不到错误所在的位置。

  • 下面给出了我的代码。这是一个把叶子添加到数据库的程序。我得到了致命的错误已经被Java运行时环境检测到了,我不明白为什么。我是新来Java的,所以我对此很困惑。有人能告诉我为什么会这样吗?我也在放错误文件。我也试着理解这一点,但找不到错误所在的位置。 这是错误文件 “demo”是数据库的名称,它有4列,即empid、Fname、Lname、designation。该程序的工作原理是,当我输入员工I

  • 我在Eclipse IDE与Arduino接口时遇到了麻烦。我已经完成了在Arduino和Eclipse IDE之间进行通信所必需的所有过程(例如安装rxtx.jar和构建路径,然后在Eclipse工作区文件夹中复制serial.dll和parallel.dll文件...) 我还检查了Arduino IDE和Eclipse代码中的Arduino COM端口配置。

  • 我在Netbeans中创建了一个Java项目,该项目在我的计算机上没有问题地运行(在Netbeans中和通过运行jar文件),但是当我尝试在另一台计算机上运行该项目时,我得到以下错误消息: Java运行时环境检测到一个致命错误: EXCEPTION_ACCESS_VIOLATION(0xC0000005)(PC=0x000000000062478337,PID=2860,TID=0x0000000

  • 我试图在我的parrot home OS中安装ZAP代理,但我无法安装它,我在终端中收到的错误如下: