0 Replies Latest reply on Sep 17, 2012 12:29 PM by sergioffpc

    java.io.EOFException

    sergioffpc

      Hi,

       

      I'm using javassist (3.16.1-GA) to change some existing classes and create new ones.

       

      On the first stage I modify all my classes to inject new getters and setters for all declared fields, this works fine.

       

      On the second stage I generate the new classes that invokes the getters and setters.

       

      The problem is that most classes generate well and compile, but others raises the following exception.  Has anyone have this problem?

       

      Source code is in here http://pastebin.com/fnXKnwBr

       

      Thanks!

       

      EXCEPTION RAISED

       

      Exception in thread "main" java.lang.RuntimeException: java.io.EOFException

          at javassist.CtClassType.getClassFile2(CtClassType.java:204)

          at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:98)

          at javassist.compiler.MemberResolver.lookupMethod(MemberResolver.java:84)

          at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:711)

          at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:688)

          at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:157)

          at javassist.compiler.ast.CallExpr.accept(CallExpr.java:46)

          at javassist.compiler.JvstTypeChecker.atMethodArgs(JvstTypeChecker.java:221)

          at javassist.compiler.TypeChecker.atMethodCallCore(TypeChecker.java:709)

          at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:688)

          at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:157)

          at javassist.compiler.ast.CallExpr.accept(CallExpr.java:46)

          at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:242)

          at javassist.compiler.CodeGen.atStmnt(CodeGen.java:330)

          at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

          at javassist.compiler.CodeGen.atStmnt(CodeGen.java:351)

          at javassist.compiler.ast.Stmnt.accept(Stmnt.java:50)

          at javassist.compiler.CodeGen.atMethodBody(CodeGen.java:292)

          at javassist.compiler.CodeGen.atMethodDecl(CodeGen.java:274)

          at javassist.compiler.ast.MethodDecl.accept(MethodDecl.java:44)

          at javassist.compiler.Javac.compileMethod(Javac.java:169)

          at javassist.compiler.Javac.compile(Javac.java:95)

          at javassist.CtNewMethod.make(CtNewMethod.java:74)

          at javassist.CtNewMethod.make(CtNewMethod.java:45)

          at pt.ptinovacao.pof.serializer.PofSerializeBuilder.createMethod(PofSerializeBuilder.java:126)

          at pt.ptinovacao.pof.serializer.PofSerializeBuilder.makeSerializerClass(PofSerializeBuilder.java:374)

          at pt.ptinovacao.pof.serializer.PofSerializeBuilder.buildSerializer(PofSerializeBuilder.java:112)

          at pt.ptinovacao.pof.serializer.PofSerializeBuilder.main(PofSerializeBuilder.java:58)

      Caused by: java.io.EOFException

          at java.io.DataInputStream.readFully(DataInputStream.java:197)

          at java.io.DataInputStream.readFully(DataInputStream.java:169)

          at javassist.bytecode.CodeAttribute.<init>(CodeAttribute.java:108)

          at javassist.bytecode.AttributeInfo.read(AttributeInfo.java:81)

          at javassist.bytecode.MethodInfo.read(MethodInfo.java:528)

          at javassist.bytecode.MethodInfo.<init>(MethodInfo.java:87)

          at javassist.bytecode.ClassFile.read(ClassFile.java:793)

          at javassist.bytecode.ClassFile.<init>(ClassFile.java:114)

          at javassist.CtClassType.getClassFile2(CtClassType.java:191)

          ... 27 more