Java中的EXCEPTION_ACCESS_VIOLATION

时间:2012-06-19 13:29:50

标签: java

我可能在Java中遇到过一个奇怪的错误。 当我运行以下代码时,我得到“EXCEPTION_ACCESS_VIOLATION”异常。

我知道代码没有意义(就逻辑而言),因为它是我最初编写的代码的子集。如果我删除了几行,那么这个bug就会消失。

任何人都可以弄清楚这个错误的原因是什么吗?

public static void main(String[] args) {
    for (int i=0; i < 4000; i++) {
        System.out.println("item " + i);
        test1();
    }

    //runBatch();   
    System.out.println("Done! bye bye..");
}

public static int test1() {
    int     count;
    int     allMiddleCount;
    int[]   b = new int[0];

    allMiddleCount  = 0;
    for (int i = 1; i < 64; i++)
    {
        // evaluating the size of the subset
        count = 0;
        for (int j = 0; j < 6; j++)
            count++;

        allMiddleCount++;
    }

    for (int i=0; i < allMiddleCount; i++) {

    }

    return 0;
}

5 个答案:

答案 0 :(得分:3)

  

有人能弄明白这个错误的原因吗?

如果进程正在死亡而不是正常的Java异常,那么它基本上就是一个JVM错误。您还没有说明您使用的是哪个版本,或者您正在使用哪个版本,但请尝试更新到更高版本。

答案 1 :(得分:3)

在{@ 1}}上搜索我在Oracle网站上发现存在一些仍在调查中的JVM的错误

答案 2 :(得分:1)

我在使用 java 在我的项目中运行一些特定的 dll 时遇到了这个异常,经过几个月调查我们的所有环境后解决了这个异常,如果有人仍然需要它,这里是链接。 EXCEPTION_ACCESS_VIOLATION in Jacob dll using VM in Jenkins pipeline

那里有我们尝试过的所有事情的描述,也许会有用。通过不仅返回到 java 版本,而且返回到特定的构建版本,问题得到解决。 (在我们的例子中是 java 8 build 141)

答案 3 :(得分:0)

我测试了你的代码;工作正常。

我的猜测是,这是由硬件或软件平台问题引起的。

答案 4 :(得分:0)

好的,我可以确认java中存在错误。我刚从他们那里得到一封确认新错误的邮件。

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7178093 (该网站将在两天内更新..)