1

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

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

谁能弄清楚这个错误的原因是什么?

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;
}
4

5 回答 5

4

谁能弄清楚这个错误的原因是什么?

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

于 2012-06-19T13:32:41.677 回答
3

谷歌搜索让EXCEPTION_ACCESS_VIOLATION我在 Oracle 网站上发现该 JVM 存在一些仍在调查中的错误

于 2012-06-19T13:37:00.463 回答
1

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

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

于 2021-01-07T19:09:35.127 回答
0

好的,我可以确认java中存在错误。我刚收到他们发来的确认新错误的邮件。

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

于 2012-06-20T10:02:16.133 回答
0

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

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

于 2012-06-19T13:35:13.390 回答