Skip to content

failure when instrumenting Kotlin app #214

@apotterri

Description

@apotterri

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingreleased

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions