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

StackOverflowError in disjointType on bad bytecode

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: P5 P5
    • 9
    • 8
    • tools
    • x86_64
    • linux

      FULL PRODUCT VERSION :
      Both 1.7.0_45 and jdk1.8.0-b129 fail.

      ADDITIONAL OS VERSION INFORMATION :
      Linux localhost.localdomain 3.11.10-100.fc18.x86_64 #1 SMP Mon Dec 2 20:28:38 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux (Fedora 20)

      A DESCRIPTION OF THE PROBLEM :
      While working on a bug in the Kawa Scheme-to-bytecode compiler, I accidentally generated a class file that caused a later use of javac to StackOverflowError. The Kawa bug was that a class produced by the Kawa compiler (compiling gnu/kawa/slib/srfi69.scm) was written in the wrong place, overwriting gnu/mapping/Procedure.class. Then a later call to javac caused the latter to be confused (no surprise) and eventually StackOverflowError:

      The system is out of resources.
      Consult the following stack trace for details.
      java.lang.StackOverflowError
              at com.sun.tools.javac.code.Types$UnaryVisitor.visit(Types.java:4481)
              at com.sun.tools.javac.code.Types.supertype(Types.java:2289)
              at com.sun.tools.javac.code.Types$15.visitClassType(Types.java:1953)
              at com.sun.tools.javac.code.Types$15.visitClassType(Types.java:1942)
              at com.sun.tools.javac.code.Type$ClassType.accept(Type.java:763)
              at com.sun.tools.javac.code.Types$DefaultTypeVisitor.visit(Types.java:4400)
              at com.sun.tools.javac.code.Types.asSuper(Types.java:1939)
              at com.sun.tools.javac.code.Types$15.visitClassType(Types.java:1955)
              at com.sun.tools.javac.code.Types$15.visitClassType(Types.java:1942)
              at com.sun.tools.javac.code.Type$ClassType.accept(Type.java:763)
              at com.sun.tools.javac.code.Types$DefaultTypeVisitor.visit(Types.java:4400
      etc

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      $ javac -cp kawa.jar servlet/*.java

      I will attach the kawa.jar and servlet/*.java code.

      kawa.jar includes the offending gnu/mapping/Procedure.class (which really should have been kawa/lib/srfi69.class).

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      An error message from javac.
      ACTUAL -
      The system is out of resources.
      Consult the following stack trace for details.
      java.lang.StackOverflowError
              at com.sun.tools.javac.code.Types$UnaryVisitor.visit(Types.java:4481)
              at com.sun.tools.javac.code.Types.supertype(Types.java:2289)
              at com.sun.tools.javac.code.Types$15.visitClassType(Types.java:1953)
              at com.sun.tools.javac.code.Types$15.visitClassType(Types.java:1942)
              at com.sun.tools.javac.code.Type$ClassType.accept(Type.java:763)
              at com.sun.tools.javac.code.Types$DefaultTypeVisitor.visit(Types.java:4400)
              at com.sun.tools.javac.code.Types.asSuper(Types.java:1939)
              at com.sun.tools.javac.code.Types$15.visitClassType(Types.java:1955)
              at com.sun.tools.javac.code.Types$15.visitClassType(Types.java:1942)
              at com.sun.tools.javac.code.Type$ClassType.accept(Type.java:763)
              at com.sun.tools.javac.code.Types$DefaultTypeVisitor.visit(Types.java:4400)


      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      I will provide attachment.
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      I plan to fix the Kawa bug ASAP ...

        1. bug.zip
          1.87 MB
        2. kawamin.jar
          13 kB

            sadayapalam Srikanth Adayapalam (Inactive)
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: