Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
2994186010 opened this issue Aug 16, 2019 · 1 comment

Comments

@2994186010
Copy link

2994186010 commented Aug 16, 2019

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)
@jbachorik
Copy link
Collaborator

This should have been handled by #397

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants