Possible bug in JavaSourceClassLoader?

View: New views
2 Messages — Rating Filter:   Alert me  

Possible bug in JavaSourceClassLoader?

by Robert.Klaus :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I'm using Janino 2.5.9 to compile generated source code as part of my
JUnit Tests. I have a case where in the source code a statement

If (true)
   throw new RuntimeException();

occurred.

The source code compiles fine using JDK 1.6.01. When compiling with
Janino I get a strange StackTrace (see below).
I have no idea what went wrong, so any help is appreciated.

Regards,
Robert

java.lang.RuntimeException: Cannot "set()" Offset more than once
        at org.codehaus.janino.CodeContext$Offset.set(CodeContext.java)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
        at org.codehaus.janino.UnitCompiler.access$11(UnitCompiler.java)
        at
org.codehaus.janino.UnitCompiler$3.visitWhileStatement(UnitCompiler.java
)
        at org.codehaus.janino.Java$WhileStatement.accept(Java.java)
        at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
        at org.codehaus.janino.UnitCompiler.access$7(UnitCompiler.java)
        at
org.codehaus.janino.UnitCompiler$3.visitBlock(UnitCompiler.java)
        at org.codehaus.janino.Java$Block.accept(Java.java)
        at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
        at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
        at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
        at
org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(Un
itCompiler.java)
        at
org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java)
        at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
        at
org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java)
        at
org.codehaus.janino.JavaSourceClassLoader.generateBytecodes(JavaSourceCl
assLoader.java)
        at
org.codehaus.janino.JavaSourceClassLoader.findClass(JavaSourceClassLoade
r.java)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        at
org.codehaus.janino.SimpleCompiler$AuxiliaryClassLoader.loadClass(Simple
Compiler.java)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        at
org.codehaus.janino.SimpleCompiler$AuxiliaryClassLoader.loadClass(Simple
Compiler.java)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        at
org.codehaus.janino.SimpleCompiler$AuxiliaryClassLoader.loadClass(Simple
Compiler.java)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at
de.visualrules.test.harness.janino.JaninoHelper$JaninoSession.compile(Ja
ninoHelper.java:108)
        at
de.visualrules.test.harness.janino.JaninoHelper$JaninoSession.compile(Ja
ninoHelper.java:116)
        at
de.visualrules.test.harness.janino.JaninoHelper$JaninoSession.compile(Ja
ninoHelper.java:150)
        ... <rest is Junit TestCase>




-------------------------------------------------------------
Robert Klaus
Diplom Informatiker
Product Development
-------------------------------------------------------------
Innovations Softwaretechnologie GmbH
Ziegelei 7
88090 Immenstaad
Germany
Phone: +49(0)7545-202-339
robert.klaus@...
www.visual-rules.com
-------------------------------------------------------------
Executives:
Achim Berger, Thomas Cotic, Walter Pitz
Register Court Ulm HRB 631622
-------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email


Re: Possible bug in JavaSourceClassLoader?

by Arno Unkrig :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Robert,

can you please develop a minimized test scenario and file a bug report
on jira.codehaus.org? Registration is painless and free.

FYI: If you need a temporary workaround, you can use
"Boolean.TRUE.booleanValue()" (or some other NON-CONSTANT representation
of "true") instead of "true".


CU

Arno

Robert.Klaus@... schrieb:

> Hi,
>
> I'm using Janino 2.5.9 to compile generated source code as part of my
> JUnit Tests. I have a case where in the source code a statement
>
> If (true)
>    throw new RuntimeException();
>
> occurred.
>
> The source code compiles fine using JDK 1.6.01. When compiling with
> Janino I get a strange StackTrace (see below).
> I have no idea what went wrong, so any help is appreciated.
>
> Regards,
> Robert
>
> java.lang.RuntimeException: Cannot "set()" Offset more than once
> at org.codehaus.janino.CodeContext$Offset.set(CodeContext.java)
> at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
> at org.codehaus.janino.UnitCompiler.access$11(UnitCompiler.java)
> at
> org.codehaus.janino.UnitCompiler$3.visitWhileStatement(UnitCompiler.java
> )
> at org.codehaus.janino.Java$WhileStatement.accept(Java.java)
> at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
> at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
> at org.codehaus.janino.UnitCompiler.access$7(UnitCompiler.java)
> at
> org.codehaus.janino.UnitCompiler$3.visitBlock(UnitCompiler.java)
> at org.codehaus.janino.Java$Block.accept(Java.java)
> at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
> at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
> at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
> at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java)
> at
> org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(Un
> itCompiler.java)
> at
> org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java)
> at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java)
> at
> org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java)
> at
> org.codehaus.janino.JavaSourceClassLoader.generateBytecodes(JavaSourceCl
> assLoader.java)
> at
> org.codehaus.janino.JavaSourceClassLoader.findClass(JavaSourceClassLoade
> r.java)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
> at
> org.codehaus.janino.SimpleCompiler$AuxiliaryClassLoader.loadClass(Simple
> Compiler.java)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
> at
> org.codehaus.janino.SimpleCompiler$AuxiliaryClassLoader.loadClass(Simple
> Compiler.java)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
> at
> org.codehaus.janino.SimpleCompiler$AuxiliaryClassLoader.loadClass(Simple
> Compiler.java)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at
> de.visualrules.test.harness.janino.JaninoHelper$JaninoSession.compile(Ja
> ninoHelper.java:108)
> at
> de.visualrules.test.harness.janino.JaninoHelper$JaninoSession.compile(Ja
> ninoHelper.java:116)
> at
> de.visualrules.test.harness.janino.JaninoHelper$JaninoSession.compile(Ja
> ninoHelper.java:150)
> ... <rest is Junit TestCase>
>
>
>
>
> -------------------------------------------------------------
> Robert Klaus
> Diplom Informatiker
> Product Development
> -------------------------------------------------------------
> Innovations Softwaretechnologie GmbH
> Ziegelei 7
> 88090 Immenstaad
> Germany
> Phone: +49(0)7545-202-339
> robert.klaus@...
> www.visual-rules.com
> -------------------------------------------------------------
> Executives:
> Achim Berger, Thomas Cotic, Walter Pitz
> Register Court Ulm HRB 631622
> -------------------------------------------------------------
>
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
>
>     http://xircles.codehaus.org/manage_email
>
>
>


---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email