-
Notifications
You must be signed in to change notification settings - Fork 18
Closed
Labels
Description
When attempting to instrument a function in https://github.com/asm0dey/opdsko, the agent fails with an exception:
Exception in thread "main" java.lang.VerifyError: Inconsistent stackmap frames at branch target 184
Exception Details:
Location:
io/github/asm0dey/plugins/RoutingKt$routes$1$1.invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object; @159: goto
Reason:
Current frame's stack size doesn't match stackmap.
Current Frame:
bci: @159
flags: { }
locals: { 'io/github/asm0dey/plugins/RoutingKt$routes$1$1', 'java/lang/Object', 'io/ktor/util/pipeline/PipelineContext', 'io/ktor/util/pipeline/PipelineContext', integer, 'java/lang/Object' }
stack: { 'java/lang/Object', 'java/lang/Object' }
Stackmap Frame:
bci: @184
flags: { }
locals: { 'io/github/asm0dey/plugins/RoutingKt$routes$1$1', 'java/lang/Object', top, top, top, 'java/lang/Object' }
stack: { 'java/lang/Object' }
Bytecode:
0000000: b800 a3b6 00a7 b800 a3b6 00ab 9900 22b8
0000010: 00b1 1101 1fb6 00b5 2a04 bd00 6d59 032b
0000020: b800 ba53 b800 c0b8 00a3 b600 c357 0000
0000030: b800 2b3a 052a b400 2faa 0000 0000 0075
0000040: 0000 0000 0000 0001 0000 0017 0000 0069
0000050: 2bb8 0035 2ab4 0039 c000 3b4d 0404 0112
0000060: 3d04 bb00 3f59 2ab4 000e 2cb7 0042 c000
0000070: 4407 01b8 004a 572c 4e03 3604 2db6 004d
0000080: c000 4f12 5101 0101 2ac0 0053 100e 012a
0000090: 04b5 002f b800 5959 1905 a600 0d19 05a7
00000a0: 0019 2bb8 0035 2b57 b200 5fa7 000d bb00
00000b0: 6159 1263 b700 66bf 3a07 b800 a3b6 00ab
00000c0: 9900 27b8 00b1 1101 1eb6 00c6 2a19 07b8
00000d0: 00ba 04bd 006d 5903 2bb8 00ba 53b8 00cb
00000e0: b800 a3b6 00c3 57b8 00a3 b600 ce19 07b0
00000f0: 3a08 b800 a3b6 00ce 1908 b600 d3c0 006d
0000100: b03a 09b8 00a3 b600 ab99 0027 b800 b111
0000110: 011d b600 c62a 1909 c000 d504 bd00 6d59
0000120: 032b b800 ba53 b800 dab8 00a3 b600 c357
0000130: b800 a3b6 00ce 1909 bf
Exception Handler Table:
bci [0, 240] => handler: 240
bci [0, 257] => handler: 257
Stackmap Table:
same_frame(@46)
full_frame(@80,{Object[#2],Object[#109],Top,Top,Top,Object[#109]},{})
same_frame_extended(@162)
full_frame(@167,{Object[#2],Object[#109],Top,Top,Top,Object[#109]},{Object[#109]})
same_frame(@174)
full_frame(@184,{Object[#2],Object[#109],Top,Top,Top,Object[#109]},{Object[#109]})
append_frame(@231,Top,Object[#109])
full_frame(@240,{Object[#2],Object[#109]},{Object[#208]})
same_locals_1_stack_item_frame(@257,Object[#213])
full_frame(@304,{Object[#2],Object[#109],Top,Top,Top,Top,Top,Top,Top,Object[#213]},{})
at io.github.asm0dey.plugins.RoutingKt$routes$1.invoke(Routing.kt:49)
at io.github.asm0dey.plugins.RoutingKt$routes$1.invoke(Routing.kt:42)
at io.ktor.server.routing.Routing$Plugin.install(Routing.kt:139)
at io.ktor.server.routing.Routing$Plugin.install(Routing.kt:123)
at io.ktor.server.application.ApplicationPluginKt.install(ApplicationPlugin.kt:100)
at io.ktor.server.routing.RoutingKt.routing(Routing.kt:163)
at io.github.asm0dey.plugins.RoutingKt.routes(Routing.kt:42)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97)
at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Static.call(CallerImpl.kt:106)
at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:188)
at kotlin.reflect.jvm.internal.KCallableImpl.callBy(KCallableImpl.kt:111)
at io.ktor.server.engine.internal.CallableUtilsKt.callFunctionWithInjection(CallableUtils.kt:119)
at io.ktor.server.engine.internal.CallableUtilsKt.executeModuleFunction(CallableUtils.kt:36)
at io.ktor.server.engine.ApplicationEngineEnvironmentReloading$launchModuleByName$1.invoke(ApplicationEngineEnvironmentReloading.kt:332)
at io.ktor.server.engine.ApplicationEngineEnvironmentReloading$launchModuleByName$1.invoke(ApplicationEngineEnvironmentReloading.kt:331)
at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.avoidingDoubleStartupFor(ApplicationEngineEnvironmentReloading.kt:356)
at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.launchModuleByName(ApplicationEngineEnvironmentReloading.kt:331)
at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.access$launchModuleByName(ApplicationEngineEnvironmentReloading.kt:32)
at io.ktor.server.engine.ApplicationEngineEnvironmentReloading$instantiateAndConfigureApplication$1.invoke(ApplicationEngineEnvironmentReloading.kt:312)
at io.ktor.server.engine.ApplicationEngineEnvironmentReloading$instantiateAndConfigureApplication$1.invoke(ApplicationEngineEnvironmentReloading.kt:310)
at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.avoidingDoubleStartup(ApplicationEngineEnvironmentReloading.kt:338)
at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.instantiateAndConfigureApplication(ApplicationEngineEnvironmentReloading.kt:310)
at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.createApplication(ApplicationEngineEnvironmentReloading.kt:150)
at io.ktor.server.engine.ApplicationEngineEnvironmentReloading.start(ApplicationEngineEnvironmentReloading.kt:277)
at io.ktor.server.netty.NettyApplicationEngine.start(NettyApplicationEngine.kt:216)
at io.ktor.server.netty.EngineMain.main(EngineMain.kt:23)
at io.github.asm0dey.ApplicationKt.main(Application.kt:146)
karthick-vinod