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

JShell API: Infinite loop in redeclare by cross reference

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P3 P3
    • 9-repo-kulla
    • None
    • tools
    • None
    • generic
    • generic

      -> class C {}
      -> class D {C c;}

      -> class C {D d;}
      ^- Infinite loop by cross reference - StackOverflowError:

      Exception in thread "main" java.lang.StackOverflowError
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:410)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:262)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
      at com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:156)
      at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:93)
      at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:87)
      at jdk.internal.jshell.impl.TaskFactory$CompileTask.compile(TaskFactory.java:175)
      at jdk.internal.jshell.impl.Eval.declare(Eval.java:497)
      at jdk.internal.jshell.impl.Eval.redeclareUpdates(Eval.java:780)
      at jdk.internal.jshell.impl.Eval.declare(Eval.java:649)
      at jdk.internal.jshell.impl.Eval.redeclareUpdates(Eval.java:780)
      at jdk.internal.jshell.impl.Eval.declare(Eval.java:649)
      at jdk.internal.jshell.impl.Eval.redeclareUpdates(Eval.java:780)
      at jdk.internal.jshell.impl.Eval.declare(Eval.java:649)
      at jdk.internal.jshell.impl.Eval.redeclareUpdates(Eval.java:780)
      etc...

      Test:
      assertEval1("class C {}");
      assertEval1("class D {C c;}");
      assertEval1("class C {D d;}");
      assertEval1("new D().c = new C()");
      assertEval1("new C().d = new D()");

            rfield Robert Field (Inactive)
            shinyafox Shinya Yoshida
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: