Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8305429

Assertion failure: CFG Node with no controlling input?

XMLWordPrintable

    • generic
    • generic

      ADDITIONAL SYSTEM INFORMATION :
      > cat /etc/lsb-release
      DISTRIB_ID=Ubuntu
      DISTRIB_RELEASE=20.04
      DISTRIB_CODENAME=focal
      DISTRIB_DESCRIPTION="Ubuntu 20.04.5 LTS"

      > java -version
      openjdk version "11.0.19-internal" 2023-04-18
      OpenJDK Runtime Environment (fastdebug build 11.0.19-internal+0-adhoc.simon.jdk11u-dev)
      OpenJDK 64-Bit Server VM (fastdebug build 11.0.19-internal+0-adhoc.simon.jdk11u-dev, mixed mode)

      > javac -version
      javac 11.0.19-internal

      A DESCRIPTION OF THE PROBLEM :
      HotSpot crashed with the following assertion:

      # Internal Error (/home/simon/JVMs/jdk11u-dev/src/hotspot/share/opto/loopnode.cpp:3910), pid=2067755, tid=2067767
      # assert(!in->is_CFG()) failed: CFG Node with no controlling input?

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. javac T.java
      2. java -XX:-BackgroundCompilation -XX:-PrintCompilation --illegal-access=deny T

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      No crash
      ACTUAL -
      HotSpot crashed

      ---------- BEGIN SOURCE ----------
      import java.io.PrintStream;

      class T {
        static long z;
        float r;

        static long foo(int u) {
          int a = 98, d = 10;
          int c, e, f, g;
          int h = 22003;
          int l[] = new int[256];
          double m = 2.7574;
          boolean b = false;
          short s = 27815;
          float q[] = new float[256];
          do {
            for (c = 1; c < 4; ++c) {
              e = 1;
              do z += u - a;
              while (++e < 2);
              if (b) break;
            }
            u -= u;
            for (f = 1; f < 4; ++f) {
              l[a] = (int) 43L;
              if (b) continue;
              l[a - 1] &= c;
              try {
                Object w = new Object();
                for (int k = 750; k < 14733; k += 1) AxOutputRedirectionHelper.redirect();
              } catch (ArithmeticException a_e) {
              }
              try {
                g = u / u;
              } catch (ArithmeticException a_e) {
              }
              z = 27670;
              q[f - 1] = 41725;
              s += h;
            }
          } while (++a < 145);
          long rr = d + Double.doubleToLongBits(m);
          return rr;
        }

        int boo() {
          r /= foo(56306);
          long rr = 1;
          return (int) rr;
        }

        void zoo() {
          r -= boo();
        }

        public static void main(String[] g) {
          T t = new T();
          t.zoo();
        }

        static class AxOutputRedirectionHelper {
          static PrintStream devNull;

          static void redirect() {
            System.setOut(devNull);
          }
        }
      }

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

      FREQUENCY : always


        1. hs_err_pid9468.log
          53 kB
        2. replay_pid9468.log
          97 kB
        3. T.java
          1 kB

            dskantz Daniel Skantz
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: