【问题标题】:EXCEPTION_ACCESS_VIOLATION in JavaJava 中的 EXCEPTION_ACCESS_VIOLATION
【发布时间】:2012-06-19 13:29:50
【问题描述】:

我可能在 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;
}

【问题讨论】:

  • 哪一行?在哪里?你有 StackTrace 吗?
  • 哪行代码抛出异常?
  • 刚刚测试了您发布的代码,它在我的机器(1.7.0_03)上运行良好。您使用的是什么版本的 Java?
  • 在 1.6.0_31 上工作,但在 1.7.0_05 上确实失败了
  • 如果你设法减少导致崩溃的代码,这可能会很有趣。

标签: java


【解决方案1】:

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

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

【讨论】:

  • 它在 windows64 位上使用 jave 1.6 或 1.7。我在两台不同的计算机上进行了测试(具有相同的规格)并得到了相同的结果
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        【解决方案5】:

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

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

        【讨论】:

          猜你喜欢
          • 2010-09-13
          • 1970-01-01
          • 2013-07-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多