assert failed: Following Phi nodes should be on the same memory slice

XMLWordPrintable

    • Type: Bug
    • Resolution: Duplicate
    • Priority: P4
    • None
    • Affects Version/s: 26, 27
    • Component/s: hotspot
    • x86_64
    • linux_ubuntu

      ADDITIONAL SYSTEM INFORMATION :
      # JRE version: OpenJDK Runtime Environment (27.0) (fastdebug build 27-internal-adhoc.user.jdk)
      # Java VM: OpenJDK 64-Bit Server VM (fastdebug 27-internal-adhoc.user.jdk, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)

      A DESCRIPTION OF THE PROBLEM :
      I am using a fastdebug build compiled from the latest JDK source code obtained from GitHub. I encountered this issue while running a very simple test case.I noticed that this specific assertion failure has been reported previously (JDK-8350971), but the test case triggering the failure in this instance appears to be different from the one documented in that report.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      javac Test.java && java Test


      ---------- BEGIN SOURCE ----------
      class Test {
          long instanceCount;
          int var13;

          synchronized long foo(long var) {
              return 1;
          }

          void mainTest(String[] strArr1) {
              int i3;
              boolean b = false;
              for (int i4 = 0; i4 < 1000000; i4++) {
                  i3 = Integer.valueOf((int) instanceCount);
                  for (int i7 = 1; i7 < 4; i7++) {
                      if (b)
                          continue;
                      for (int i9 = 1; i9 < 2; i9++) {
                          int var14 = 0;
                          while (var14 < 20000) {
                              var13++;
                              var14++;
                          }
                          foo(instanceCount);
                          i3 = new MyInteger((int) (i9 + instanceCount)).value;
                      }
                  }
              }
          }

          void main(String[] strArr) {
              Test test = new Test();
              test.mainTest(strArr);
          }
      }

      class MyInteger {
          int value;

          MyInteger(int value) {
              this.value = value;
          }
      }

      ---------- END SOURCE ----------

            Assignee:
            Unassigned
            Reporter:
            Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: