Skip to content

When I use btrace to trace the function call in java application, I encount an error "Exception in thread "main" java.lang.VerifyError: Inconsistent stackmap frames at branch target 86". #394

@2994186010

Description

@2994186010

My environment is btrace 1.3.11.3 , java 1.8
My command is as following:

java -Djava.security.egd=file:/dev/./urandom -javaagent:btrace-agent.jar=script=AllMethods.class,scriptOutputFile=app.log -jar app.jar

The error log is as following:

btrace INFO: Redirecting output to app.log
Exception in thread "main" java.lang.VerifyError: Inconsistent stackmap frames at branch target 86
Exception Details:
  Location:
    org/springframework/boot/loader/jar/JarURLConnection.get(Ljava/net/URL;Lorg/springframework/boot/loader/jar/JarFile;)Lorg/springframework/boot/loader/jar/JarURLConnection; @86: aload_2
  Reason:
    Type top (current frame, locals[0]) is not assignable to 'java/net/URL' (stack map, locals[0])
  Current Frame:
    bci: @30
    flags: { }
    locals: { top, 'org/springframework/boot/loader/jar/JarFile', 'java/lang/String', integer, integer }
    stack: { integer }
  Stackmap Frame:
    bci: @86
    flags: { }
    locals: { 'java/net/URL', 'org/springframework/boot/loader/jar/JarFile', 'java/lang/String', integer, integer, top, top }
    stack: { }
  Bytecode:
    0x0000000: 1301 7913 018d b801 7d2a 2bb6 004d b800
    0x0000010: 4e4d 033e 2c12 151d b600 4f59 3604 9e00
    0x0000020: 382c 1d15 04b6 0018 3a05 2b19 05b6 000b
    0x0000030: 3a06 1906 c700 0d2b 1905 b800 50b8 0051
    0x0000040: b02b 1906 b600 524c 1d15 0412 15b6 0017
    0x0000050: 6060 3ea7 ffc1 2c1d b800 533a 05b2 002e
    0x0000060: b200 2fb6 0030 b600 3199 001b 1905 b600
    0x0000070: 089a 0013 2b19 05b6 0024 b600 549a 0007
    0x0000080: b200 55b0 bb00 1459 2a2b 1905 b700 56b0
    0x0000090:                                        
  Stackmap Table:
    full_frame(@20,{Top,Object[#191],Object[#149],Integer},{})
    full_frame(@65,{Object[#26],Object[#191],Object[#149],Integer,Integer,Object[#149],Object[#172]},{})
    full_frame(@86,{Object[#26],Object[#191],Object[#149],Integer,Integer,Top,Top},{})
    full_frame(@132,{Object[#26],Object[#191],Object[#149],Integer,Integer,Object[#97],Top},{})

	at org.springframework.boot.loader.jar.Handler.setUseFastConnectionExceptions(Handler.java:352)
	at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:78)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
	at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
java.lang.InternalError
	at sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
	at sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:144)
	at com.sun.btrace.agent.Client.retransformLoaded(Client.java:484)
	at com.sun.btrace.agent.Client.onExit(Client.java:251)
	at com.sun.btrace.agent.FileClient.onCommand(FileClient.java:83)
	at com.sun.btrace.BTraceRuntime$ConsumerWrapper.accept(BTraceRuntime.java:174)
	at com.sun.btrace.BTraceRuntime$ConsumerWrapper.accept(BTraceRuntime.java:162)
	at com.sun.btrace.org.jctools.queues.BaseMpscLinkedArrayQueue.drain(BaseMpscLinkedArrayQueue.java:674)
	at com.sun.btrace.BTraceRuntime$4.run(BTraceRuntime.java:442)
	at java.lang.Thread.run(Thread.java:748)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions