jenkinsci / lib-file-leak-detector

Java agent that detects file handle leak
http://file-leak-detector.kohsuke.org/
MIT License
237 stars 112 forks source link

Can not attach on ibm java8 #25

Open jwadamson opened 8 years ago

jwadamson commented 8 years ago

$ /usr/lib/jvm/java-ibm-x86_64-80/bin/java -version java version "1.8.0" Java(TM) SE Runtime Environment (build pxa6480sr1fp10-20150711_01(SR1 FP10)) IBM J9 VM (build 2.8, JRE 1.8.0 Linux amd64-64 Compressed References 20150630_255633 (JIT enabled, AOT enabled) J9VM - R28_jvm.28_20150630_1742_B255633 JIT - tr.r14.java_20150625_95081.01 GC - R28_jvm.28_20150630_1742_B255633_CMPRSS J9CL - 20150630_255633) JCL - 20150711_01 based on Oracle jdk8u51-b15

./myprogram -javaagent:/..../file-leak-detector-1.8-jar-with-dependencies.jar=http=1999

File leak detector installed Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:507) at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:408) at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:423) Caused by: java.lang.VerifyError at sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) at sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:163) at org.kohsuke.file_leak_detector.AgentMain.premain(AgentMain.java:115) ... 6 more

Viyond commented 6 years ago

is it resolved??

zrlw commented 4 years ago

the jdk version of project should match the jdk version of running JVM, otherwise the java.lang.VerifyError may occur at sun.instrument.InstrumentationImpl.retransformClasses0. I translated the project to IBM JDK 1.6 for WebSphere 8.5: there is a jar built for WebSphere 8.5 under release directory of https://github.com/zrlw/file-leak-detector maybe it will work for you. or you should generate the jar file based on your JDK version.