2016-07-31 6 views
0

lié à la question discuté here je reçois l'exception suivante:Byte instrumentation ami provoque une exception: java.lang.IllegalStateException: reste inattendue sur la pile d'opérandes: -1

[Byte Buddy] ERROR com.panaya.as.web.util.WebAnalyticsUtils$AnalyticsData[WebappClassLoader 
    context: 
    delegate: false 
    repositories: 
----------> Parent Classloader: 
ClassRealm[plugin>org.apache.tomcat.maven:tomcat7-maven-plugin:2.2-1614397209, parent: [email protected]] 
, null] 
java.lang.IllegalStateException: Unexpected remainder on the operand stack: -1 
    at net.bytebuddy.utility.StackAwareMethodVisitor.drainStack(StackAwareMethodVisitor.java:120) 
    at net.bytebuddy.asm.Advice$AdviceVisitor$WithExitAdvice.onVisitInsn(Advice.java:1704) 
    at net.bytebuddy.utility.ExceptionTableSensitiveMethodVisitor.visitInsn(ExceptionTableSensitiveMethodVisitor.java:288) 
    at org.objectweb.asm.ClassReader.a(Unknown Source) 
    at org.objectweb.asm.ClassReader.b(Unknown Source) 
    at org.objectweb.asm.ClassReader.accept(Unknown Source) 
    at org.objectweb.asm.ClassReader.accept(Unknown Source) 
    at net.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining.create(TypeWriter.java:3018) 
    at net.bytebuddy.dynamic.scaffold.TypeWriter$Default.make(TypeWriter.java:1617) 
    at net.bytebuddy.dynamic.scaffold.inline.RedefinitionDynamicTypeBuilder.make(RedefinitionDynamicTypeBuilder.java:171) 
    at net.bytebuddy.agent.builder.AgentBuilder$Default$Transformation$Simple$Resolution.apply(AgentBuilder.java:5849) 
    at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer.transform(AgentBuilder.java:6242) 
    at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer.access$900(AgentBuilder.java:6067) 
    at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer$LegacyVmDispatcher.run(AgentBuilder.java:6566) 
    at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer$LegacyVmDispatcher.run(AgentBuilder.java:6516) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer.transform(AgentBuilder.java:6180) 
    at sun.instrument.TransformerManager.transform(TransformerManager.java:188) 
    at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428) 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361) 
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1191) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1669) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547) 
    ... 

L'agent fonctionne sur une entreprise application web sur un serveur Tomcat. La plupart des classes sont instrumentées sans aucun problème, mais quand même ... J'ai essayé de reproduire l'exception dans un violon autonome, mais je n'ai pas trouvé de spécification unique pour la classe sur laquelle l'instrumentation échoue ... il s'agit d'un cadre ou d'une annotation spécifique que la classe utilise.

Appréciez tous les pointeurs ....

+0

Quelle version de Byte Buddy utilisez-vous? –

+0

Cela se produit après la mise à jour vers la version 1.4.16 – esaar

+0

Je veux dire qu'il * se produit * après la mise à jour ... – esaar

Répondre

0

Vous avez trouvé un bug dans l'octet d'amis. Il est résolu dans la version 1.4.17 qui est maintenant disponible auprès de Maven Central.