That's a problem; any idea if the ASM code inside Plastic (for Tapestry
5.3+) works on JDK 8?

Javassist is 100% gone in 5.4.

I've seen some troubling discussions about bytecode changes in JDK 8 that
are going to cause a lot of havoc.


On Thu, Sep 19, 2013 at 11:12 AM, Kalle Korhonen <kalle.o.korho...@gmail.com
> wrote:

> 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
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

Reply via email to