Since we don't compile groovy code I think we don't do AST transformations.
https://glaforge.appspot.com/article/groovy-ast-transformations-tutorials

Jacques


Le 14/08/2015 11:02, Cédric Champeau a écrit :
Are you writing your own AST transformations? If so, it is likely a bug in one of them, and the error message is there to tell you something is wrong with it.

2015-08-14 10:52 GMT+02:00 Jacques Le Roux <jacques.le.r...@les7arts.com 
<mailto:jacques.le.r...@les7arts.com>>:

    Hi,

    We heavily rely on Groovy in Apache OFBiz where it replaced BeanShell 7 
years ago. We only use it for scripts, we don't use the compiler.

    I thought upgrading from 2.2.1 to 2.4.4 would be a breeze. So I simply 
deleted groovy-all-2.2.1.jar and added groovy-all-2.4.4.jar locally
    before committing. But I was surprised to get this error, which exists in 
all our scripts.

         [java] Caused by: 
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
         [java] 
component://commonext/webapp/ofbizsetup/organization/changeOrgPartyId.groovy: 
23: A transform used a generics containing ClassNode
    org.ofbiz.service.engine.GroovyBaseScript for the super class cha
    ngeOrgPartyId directly. You are not supposed to do this. Please create a 
new ClassNode referring to the old ClassNode and use the new ClassNode
    instead of the old one. Otherwise the compiler will create wrong
     descriptors and a potential NullPointerException in TypeResolver in the 
OpenJDK. If this is not your own doing, please report this bug to the
    writer of the transform.
         [java]  @ line 23, column 1.
         [java]    partyAcctgPrefAndGroupList = [];
         [java]    ^
         [java]
         [java] 1 error
         [java]
         [java]     at 
org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
 ~[groovy-all-2.4.4.jar:2.4.4]
         [java]     at 
org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1075)
 ~[groovy-all-2.4.4.jar:2.4.4]
         [java]     at 
org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:591)
 ~[groovy-all-2.4.4.jar:2.4.4]
         [java]     at 
org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:569)
 ~[groovy-all-2.4.4.jar:2.4.4]
         [java]     at 
org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:546) 
~[groovy-all-2.4.4.jar:2.4.4]
         [java]     at 
groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298) 
~[groovy-all-2.4.4.jar:2.4.4]
         [java]     at 
groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268) 
~[groovy-all-2.4.4.jar:2.4.4]
         [java]     at 
groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:254) 
~[groovy-all-2.4.4.jar:2.4.4]
         [java]     at 
groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:212) 
~[groovy-all-2.4.4.jar:2.4.4]
         [java]     at 
org.ofbiz.base.util.GroovyUtil.parseClass(GroovyUtil.java:162) 
~[ofbiz-base.jar:?]
         [java]     at 
org.ofbiz.base.util.GroovyUtil.getScriptClassFromLocation(GroovyUtil.java:134) 
~[ofbiz-base.jar:?]
         [java]     at 
org.ofbiz.base.util.GroovyUtil.runScriptAtLocation(GroovyUtil.java:170) 
~[ofbiz-base.jar:?]
         [java]     at 
org.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:342) 
~[ofbiz-base.jar:?]
         [java]     at 
org.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:324) 
~[ofbiz-base.jar:?]
         [java]     at 
org.ofbiz.widget.model.AbstractModelAction$Script.runAction(AbstractModelAction.java:632)
 ~[ofbiz-widget.jar:?]
         [java]     at 
org.ofbiz.widget.model.AbstractModelAction.runSubActions(AbstractModelAction.java:141)
 ~[ofbiz-widget.jar:?]
         [java]     at 
org.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:273)
 ~[ofbiz-widget.jar:?]
         [java]     at 
org.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:164) 
~[ofbiz-widget.jar:?]
         [java]     at 
org.ofbiz.widget.model.ScreenFactory.renderReferencedScreen(ScreenFactory.java:211)
 ~[ofbiz-widget.jar:?]
         [java]     at 
org.ofbiz.widget.model.ModelScreenWidget$IncludeScreen.renderWidgetString(ModelScreenWidget.java:780)
 ~[ofbiz-widget.jar:?]
         [java]     at 
org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98)
 ~[ofbiz-widget.jar:?]
         [java]     at 
org.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280)
 ~[ofbiz-widget.jar:?]
         [java]     at 
org.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:164) 
~[ofbiz-widget.jar:?]
         [java]     at 
org.ofbiz.widget.model.ScreenFactory.renderReferencedScreen(ScreenFactory.java:211)
 ~[ofbiz-widget.jar:?]
         [java]     at 
org.ofbiz.widget.model.ModelScreenWidget$DecoratorScreen.renderWidgetString(ModelScreenWidget.java:860)
 ~[ofbiz-widget.jar:?]
         [java]     at 
org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98)
 ~[ofbiz-widget.jar:?]
         [java]     at 
org.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280)
 ~[ofbiz-widget.jar:?]
         [java]     at 
org.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:164) 
~[ofbiz-widget.jar:?]
         [java]     ... 28 more

    I looked for similar cases on the Internet and found
    https://issues.apache.org/jira/browse/GROOVY-5112
    https://issues.apache.org/jira/browse/GROOVY-6691

    So do you think this could be a bug in Groovy or should we rather dive in 
in our code?

    Thanks

    Jacques



Reply via email to