Skip to content

Conversation

@tylerbenson
Copy link
Contributor

When I tried upgrading to Byte Buddy 1.8.0 I get the following error in JerseyTest:

java.lang.ArrayIndexOutOfBoundsException: 1
	at net.bytebuddy.jar.asm.AnnotationWriter.computeParameterAnnotationsSize(AnnotationWriter.java:363)
	at net.bytebuddy.jar.asm.MethodWriter.computeMethodInfoSize(MethodWriter.java:2036)
	at net.bytebuddy.jar.asm.ClassWriter.toByteArray(ClassWriter.java:426)
	at net.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining.create(TypeWriter.java:2946)
	at net.bytebuddy.dynamic.scaffold.TypeWriter$Default.make(TypeWriter.java:1633)
	at net.bytebuddy.dynamic.scaffold.inline.RedefinitionDynamicTypeBuilder.make(RedefinitionDynamicTypeBuilder.java:171)
	at net.bytebuddy.agent.builder.AgentBuilder$Default$Transformation$Simple$Resolution.apply(AgentBuilder.java:8951)
	at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer.doTransform(AgentBuilder.java:9352)
	at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer.transform(AgentBuilder.java:9315)
	at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer.access$1300(AgentBuilder.java:9093)
	at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer$LegacyVmDispatcher.run(AgentBuilder.java:9671)
	at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer$LegacyVmDispatcher.run(AgentBuilder.java:9621)
	at java.security.AccessController.doPrivileged(Native Method)
	at net.bytebuddy.agent.builder.AgentBuilder$Default$ExecutingTransformer.transform(AgentBuilder.java:9240)
	at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
	at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:428)
	at sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
	at sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:144)
	at net.bytebuddy.agent.builder.AgentBuilder$RedefinitionStrategy$Collector$ForRetransformation.doApply(AgentBuilder.java:6216)
	at net.bytebuddy.agent.builder.AgentBuilder$RedefinitionStrategy$Collector.apply(AgentBuilder.java:6071)
	at net.bytebuddy.agent.builder.AgentBuilder$RedefinitionStrategy.apply(AgentBuilder.java:4252)
	at net.bytebuddy.agent.builder.AgentBuilder$Default.installOn(AgentBuilder.java:8307)
	at net.bytebuddy.agent.builder.AgentBuilder$Default$Delegator.installOn(AgentBuilder.java:10006)
	at datadog.trace.agent.tooling.AgentInstaller.installBytebuddyAgent(AgentInstaller.java:71)
	at datadog.trace.agent.test.AgentTestRunner.agentSetup(AgentTestRunner.java:105)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.spockframework.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:188)
	at org.spockframework.runtime.model.MethodInfo.invoke(MethodInfo.java:84)
...

As a result, I'm leaving it at 1.7.11.

cc/ @raphw

@tylerbenson tylerbenson added the comp: core Tracer core label Mar 26, 2018
@tylerbenson tylerbenson requested a review from realark March 26, 2018 07:18
@tylerbenson
Copy link
Contributor Author

I'll work on these errors tomorrow.

@raphw
Copy link
Contributor

raphw commented Mar 26, 2018

Thanks for making me aware of this. I am investigating. I cannot exclude that this is actually a bug in ASM 6.1 which changed the way how parameter annotations are represented to a method visitor. I will let you know once I found out more.

@raphw
Copy link
Contributor

raphw commented Mar 27, 2018

I just pushed a few changes and also updated ASM to 6.1.1 which was just released yesterday. I struggle to reproduce the issue as a unit test but could you build Byte Buddy from master and see if the issue is resolved?

When I patch your build to use my local Maven repository to use 1.8.1-SNAPSHOT, I get further but the build implodes due to some shadow jar plugin issues at some point. But I wonder if the unit test completes as expected.

@raphw
Copy link
Contributor

raphw commented Mar 28, 2018

I released 1.8.1 which should fix that issue.

@tylerbenson
Copy link
Contributor Author

@raph, ok thanks. I’ll try tomorrow.

@tylerbenson
Copy link
Contributor Author

@raphw that seemed to work. Thanks for fixing that!

@tylerbenson tylerbenson merged commit 8001c82 into master Mar 29, 2018
@tylerbenson tylerbenson deleted the tyler/update-deps branch March 29, 2018 03:30
@tylerbenson tylerbenson added this to the 0.6.0 milestone Mar 29, 2018
tylerbenson added a commit that referenced this pull request Dec 3, 2020
Currently fails with the following exception:

```
Bad access to protected data in invokevirtual
Exception Details:
  Location:
    io/netty/util/concurrent/GlobalEventExecutor.execute(Ljava/lang/Runnable;)V @76: invokevirtual
  Reason:
    Type 'java/util/concurrent/AbstractExecutorService' (current frame, stack[0]) is not assignable to 'io/netty/util/concurrent/GlobalEventExecutor'
  Current Frame:
    bci: @76
    flags: { }
    locals: { 'io/netty/util/concurrent/GlobalEventExecutor', 'java/lang/Runnable' }
    stack: { 'java/util/concurrent/AbstractExecutorService', 'java/lang/Runnable', null }
  Bytecode:
    0x0000000: 2bc1 0111 9a00 2201 2ba5 001d b201 172b
    0x0000010: b801 1d9a 0013 2bb6 0048 b601 2313 0125
    0x0000020: b601 2b99 0006 a700 3a2b c101 2d99 0012
    0x0000030: bb01 2f59 2bb8 0133 b701 354c a700 212a
    0x0000040: c101 3799 0010 2ac0 0137 2b01 b601 3b4c
    0x0000050: a700 0dbb 013d 592b 01b7 0140 4ca7 0003
    0x0000060: 2a4d 2b4e 2dc7 000d bb00 a859 12a9 b700
    0x0000070: acbf 2c2d b700 d62c b600 d89a 0007 2cb7
    0x0000080: 00db a700 0301 4da7 0004 4d01 2ca5 0015
    0x0000090: 2bc1 0111 9900 0e2b c001 1104 b901 4402
    0x00000a0: 0057 a700 032c c600 052c bfb1
  Exception Handler Table:
    bci [100, 133] => handler: 138
  Stackmap Table:
    same_frame(@38)
    same_frame(@41)
    same_frame(@63)
    same_frame(@83)
    same_frame(@93)
    same_frame(@96)
    append_frame(@100,Object[#2],Object[#126])
    same_frame(@114)
    same_frame(@130)
    full_frame(@133,{Object[#2],Object[#126]},{})
    same_locals_1_stack_item_frame(@138,Object[#271])
    append_frame(@139,Object[#271])
    same_frame(@162)
    same_frame(@165)
    same_frame(@171)
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: core Tracer core

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants