Paul, On 12. 7. 2016, at 3:29, Paul King <[email protected]> wrote:
> I assume (given you say heavily transformed) that you don't have a > simple way to reproduce the error? Alas, precisely; I have tried to isolate the cause, but in vain :( I just hope the callstack along with whatever code there is at WideningCategories.java:237 might help; if not, well, I am afraid my report would be good-for-nothing :( Thanks and all the best, OC > On Tue, Jul 12, 2016 at 7:26 AM, OC <[email protected]> wrote: >> Hi there, >> >> with a pretty complex and heavily AST-transformed code, which, nevertheless, >> *without typechecking builds and runs all right*, with a typechecker >> compilation crashes in the following way (Groovy 2.4.7). >> >> The problem might well be caused by a mistake in my own typechecking >> extension script (which, essentially, turns all typechecker errors to >> warnings); still, though, I think the compiler should not crash this way >> (instead, it might report a reasonable error): >> >> === >>>>> a serious error occurred: BUG! exception in phase 'instruction selection' >>>>> in source unit >>>>> '/Users/ocs/Projects/WO_XC_ProBOIS/SberDat2/../OCShared/src/scomponents/DFEOList.groovy' >>>>> unexpected NullpointerException >>>>> stacktrace: >> BUG! exception in phase 'instruction selection' in source unit >> '/Users/ocs/Projects/WO_XC_ProBOIS/SberDat2/../OCShared/src/scomponents/DFEOList.groovy' >> unexpected NullpointerException >> at >> org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1058) >> at >> org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:591) >> at >> org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:569) >> at >> org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:546) >> at >> org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:525) >> at >> org.codehaus.groovy.tools.FileSystemCompiler.compile(FileSystemCompiler.java:61) >> at >> org.codehaus.groovy.tools.FileSystemCompiler.doCompilation(FileSystemCompiler.java:217) >> at >> org.codehaus.groovy.tools.FileSystemCompiler.commandLineCompile(FileSystemCompiler.java:150) >> at >> org.codehaus.groovy.tools.FileSystemCompiler.commandLineCompileWithErrorHandling(FileSystemCompiler.java:180) >> at >> org.codehaus.groovy.tools.FileSystemCompiler.main(FileSystemCompiler.java:164) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:601) >> at >> org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:109) >> at >> org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:131) >> Caused by: java.lang.NullPointerException >> at >> org.codehaus.groovy.ast.tools.WideningCategories.parameterizeLowestUpperBound(WideningCategories.java:237) >> at >> org.codehaus.groovy.ast.tools.WideningCategories.lowestUpperBound(WideningCategories.java:211) >> at >> org.codehaus.groovy.ast.tools.WideningCategories.parameterizeLowestUpperBound(WideningCategories.java:250) >> at >> org.codehaus.groovy.ast.tools.WideningCategories.lowestUpperBound(WideningCategories.java:211) >> at >> org.codehaus.groovy.ast.tools.WideningCategories.lowestUpperBound(WideningCategories.java:163) >> at >> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.popAssignmentTracking(StaticTypeCheckingVisitor.java:3256) >> at >> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitIfElse(StaticTypeCheckingVisitor.java:3215) >> at org.codehaus.groovy.ast.stmt.IfStatement.visit(IfStatement.java:43) >> at >> org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37) >> at >> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:166) >> at >> org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) >> at >> org.codehaus.groovy.ast.CodeVisitorSupport.visitTryCatchFinally(CodeVisitorSupport.java:84) >> at >> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitTryCatchFinally(ClassCodeVisitorSupport.java:231) >> at >> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitTryCatchFinally(StaticTypeCheckingVisitor.java:3361) >> at >> org.codehaus.groovy.ast.stmt.TryCatchStatement.visit(TryCatchStatement.java:44) >> at >> org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37) >> at >> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:166) >> at >> org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) >> at >> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:104) >> at >> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:115) >> at >> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitConstructorOrMethod(StaticTypeCheckingVisitor.java:1784) >> at >> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:126) >> at >> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.startMethodInference(StaticTypeCheckingVisitor.java:2119) >> at >> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethod(StaticTypeCheckingVisitor.java:2078) >> at >> org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1078) >> at >> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:53) >> at >> org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitClass(StaticTypeCheckingVisitor.java:249) >> at >> org.codehaus.groovy.transform.StaticTypesTransformation.visit(StaticTypesTransformation.java:66) >> at >> org.codehaus.groovy.transform.ASTTransformationVisitor.visitClass(ASTTransformationVisitor.java:134) >> at >> org.codehaus.groovy.transform.ASTTransformationVisitor$2.call(ASTTransformationVisitor.java:178) >> at >> org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1053) >> === >> >> All the best, >> OC >>
