Hi all,
I'm instrumenting some java security classes so that I can output logging from them into Logback, and I'm running into a stack trace that I don't understand:
[Byte Buddy] ERROR sun.security.pkcs12.PKCS12KeyStore [null, module java.base, Thread[main,5,main], loaded=true]
java.lang.UnsupportedOperationException: NestMember requires ASM7
at net.bytebuddy.jar.asm.ClassVisitor.visitNestMember(ClassVisitor.java:251)
at net.bytebuddy.jar.asm.ClassVisitor.visitNestMember(ClassVisitor.java:254)
at net.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining$WithFullProcessing$RedefinitionClassVisitor.onVisitNestMember(TypeWriter.java:5117)
at net.bytebuddy.utility.visitor.MetadataAwareClassVisitor.visitNestMember(MetadataAwareClassVisitor.java:233)
at net.bytebuddy.jar.asm.ClassReader.accept(ClassReader.java:673)
at net.bytebuddy.jar.asm.ClassReader.accept(ClassReader.java:401)
at net.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining.create(TypeWriter.java:3919)
at net.bytebuddy.dynamic.scaffold.TypeWriter$Default.make(TypeWriter.java:2193)
at net.bytebuddy.dynamic.scaffold.inline.RedefinitionDynamicTypeBuilder.make(RedefinitionDynamicTypeBuilder.java:224)
at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer.doTransform(AgentBuilder.java:10930)
at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer.transform(AgentBuilder.java:10866)
at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer.access$1700(AgentBuilder.java:10584)
at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer$Java9CapableVmDispatcher.run(AgentBuilder.java:11331)
at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer$Java9CapableVmDispatcher.run(AgentBuilder.java:11270)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer.doPrivileged(AgentBuilder.java)
at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer.transform(AgentBuilder.java:10808)
at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer$ByteBuddy$ModuleSupport.transform(Unknown Source)
This happens even if I load up the latest ASM onto the classpath. I haven't seen very many other instances of this error, so the usual "stackoverflow copy/paste" solution isn't working.
Here's a github project replicating the error (note you must have =debug on the agent to see the trace)
And here's a most stripped down version of logging instrumentation to see how it should work:
Any ideas?
Thanks,
Will.