Just a heads up for anybody venturing to try running Tapestry 5 webapp on
JRE8. Looks like the latest Javassist is incompatible, I'm getting a stack
trace copied below on advised classes. Looks like a straight-up issue with
Javassist. I didn't find any relevant bug open but I'll follow up with
them. Let me know if anybody has more info.
Kalle
Caused by: java.lang.RuntimeException: java.io.IOException: invalid
constant type: 15
at javassist.CtClassType.getClassFile2(CtClassType.java:203)
at javassist.CtClassType.subtypeOf(CtClassType.java:303)
at javassist.CtClassType.subtypeOf(CtClassType.java:318)
at
javassist.compiler.MemberResolver.compareSignature(MemberResolver.java:247)
at
javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:119)
at
javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:96)
at
javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:704)
at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:681)
at
javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156)
at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45)
at
javassist.compiler.JvstTypeChecker.atCastToRtype(JvstTypeChecker.java:112)
at
javassist.compiler.JvstTypeChecker.atCastExpr(JvstTypeChecker.java:93)
at javassist.compiler.ast.CastExpr.accept(CastExpr.java:54)
at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:241)
at javassist.compiler.CodeGen.compileExpr(CodeGen.java:228)
at javassist.compiler.CodeGen.atReturnStmnt2(CodeGen.java:597)
at
javassist.compiler.JvstCodeGen.atReturnStmnt(JvstCodeGen.java:424)
at javassist.compiler.CodeGen.atStmnt(CodeGen.java:362)
at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
at javassist.compiler.CodeGen.atMethodBody(CodeGen.java:291)
at javassist.compiler.Javac.compileBody(Javac.java:222)
at javassist.CtBehavior.setBody(CtBehavior.java:401)
at javassist.CtBehavior.setBody(CtBehavior.java:375)
at
org.apache.tapestry5.ioc.internal.services.ClassFabImpl.addMethod(ClassFabImpl.java:226)
... 176 more
Caused by: java.io.IOException: invalid constant type: 15
at javassist.bytecode.ConstPool.readOne(ConstPool.java:1090)
at javassist.bytecode.ConstPool.read(ConstPool.java:1033)
at javassist.bytecode.ConstPool.<init>(ConstPool.java:149)
at javassist.bytecode.ClassFile.read(ClassFile.java:737)
at javassist.bytecode.ClassFile.<init>(ClassFile.java:108)
at javassist.CtClassType.getClassFile2(CtClassType.java:190)
... 199 more
JRE8. Looks like the latest Javassist is incompatible, I'm getting a stack
trace copied below on advised classes. Looks like a straight-up issue with
Javassist. I didn't find any relevant bug open but I'll follow up with
them. Let me know if anybody has more info.
Kalle
Caused by: java.lang.RuntimeException: java.io.IOException: invalid
constant type: 15
at javassist.CtClassType.getClassFile2(CtClassType.java:203)
at javassist.CtClassType.subtypeOf(CtClassType.java:303)
at javassist.CtClassType.subtypeOf(CtClassType.java:318)
at
javassist.compiler.MemberResolver.compareSignature(MemberResolver.java:247)
at
javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:119)
at
javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:96)
at
javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:704)
at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:681)
at
javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156)
at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45)
at
javassist.compiler.JvstTypeChecker.atCastToRtype(JvstTypeChecker.java:112)
at
javassist.compiler.JvstTypeChecker.atCastExpr(JvstTypeChecker.java:93)
at javassist.compiler.ast.CastExpr.accept(CastExpr.java:54)
at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:241)
at javassist.compiler.CodeGen.compileExpr(CodeGen.java:228)
at javassist.compiler.CodeGen.atReturnStmnt2(CodeGen.java:597)
at
javassist.compiler.JvstCodeGen.atReturnStmnt(JvstCodeGen.java:424)
at javassist.compiler.CodeGen.atStmnt(CodeGen.java:362)
at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
at javassist.compiler.CodeGen.atMethodBody(CodeGen.java:291)
at javassist.compiler.Javac.compileBody(Javac.java:222)
at javassist.CtBehavior.setBody(CtBehavior.java:401)
at javassist.CtBehavior.setBody(CtBehavior.java:375)
at
org.apache.tapestry5.ioc.internal.services.ClassFabImpl.addMethod(ClassFabImpl.java:226)
... 176 more
Caused by: java.io.IOException: invalid constant type: 15
at javassist.bytecode.ConstPool.readOne(ConstPool.java:1090)
at javassist.bytecode.ConstPool.read(ConstPool.java:1033)
at javassist.bytecode.ConstPool.<init>(ConstPool.java:149)
at javassist.bytecode.ClassFile.read(ClassFile.java:737)
at javassist.bytecode.ClassFile.<init>(ClassFile.java:108)
at javassist.CtClassType.getClassFile2(CtClassType.java:190)
... 199 more