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 ...
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 ...