Closed dynamobi-build closed 12 years ago
[author="jvs", created="Wed, 10 Mar 2010 22:31:18 -0500 (GMT-05:00)"]
Latest Janino has this fix, so I am going to see if an upgrade allows us to remove the synchronized block:
[author="jvs", created="Fri, 12 Mar 2010 19:59:05 -0500 (GMT-05:00)"]
Oops, hit a regression while attempting to upgrade:
[author="jvs", created="Wed, 21 Apr 2010 01:07:56 -0500 (GMT-05:00)"]
Got a fix from Arno for JANINO-143, which I'll check in (janino-2.6.0-rc3).
Although I'm removing the synchronization, I'm adding a new class SynchronizedJaninoCompiler which we can use as a fallback in case more Janino multithreading bugs arise.
[author="jvs", created="Wed, 21 Apr 2010 11:57:39 -0500 (GMT-05:00)"]
Fixed in //open/dev in eigenchange 13564.
Fallback in case of problems is:
alter system set "javaCompilerClassName" = 'org.eigenbase.javac.SynchronizedJaninoCompiler';
[reporter="jvs", created="Mon, 19 Feb 2007 11:26:36 -0500 (GMT-05:00)"] Without it, got failures like this in codeCache.mtsql:
[org.codehaus.janino.CompileException: File net/sf/farrago/dynamic/stmt4/ExecutableStmt.java, Line 129, Column 47: No applicable constructor/method found for actual parameters "byte[], int, int"; candidates are: "void net.sf.farrago.type.runtime.BytePointer.setPointer(byte[], int, int)"
org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:7155)
org.codehaus.janino.UnitCompiler.findMostSpecificIInvocable(UnitCompiler.java:5359)
org.codehaus.janino.UnitCompiler.findMostSpecificIInvocable(UnitCompiler.java:5298)
org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:5198)
org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:5153)
org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:2649)
org.codehaus.janino.UnitCompiler.access$4600(UnitCompiler.java:47)
org.codehaus.janino.UnitCompiler$7.visitMethodInvocation(UnitCompiler.java:2109)
org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2502)
org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:2128)
org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:3068)
org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:1643)
org.codehaus.janino.UnitCompiler.access$2100(UnitCompiler.java:47)
org.codehaus.janino.UnitCompiler$4.visitMethodInvocation(UnitCompiler.java:1618)
org.codehaus.janino.Java$MethodInvocation.accept(Java.java:2502)
org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1637)
org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:936)
org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:47)
org.codehaus.janino.UnitCompiler$2.visitExpressionStatement(UnitCompiler.java:491)
org.codehaus.janino.Java$ExpressionStatement.accept(Java.java:1278)
org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:510)
org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:529)
org.codehaus.janino.UnitCompiler.access$300(UnitCompiler.java:47)
org.codehaus.janino.UnitCompiler$2.visitBlock(UnitCompiler.java:490)
org.codehaus.janino.Java$Block.accept(Java.java:1233)
org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:510)
org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1529)
org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:222)
org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:345)
org.codehaus.janino.UnitCompiler$1.visitAnonymousClassDeclaration(UnitCompiler.java:83)
org.codehaus.janino.Java$AnonymousClassDeclaration.accept(Java.java:480)
org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:91)]