2

I'm profiling (using instrumentation) a Java web app on Tomcat. When I attach a JProfiler session it first goes through a period of Retransforming Classes. During this period I am seeing numerous messages in the Tomcat log like these:

JProfiler> ERROR: could not retransform class Lcom/zaxxer/hikari/pool/HikariPool$HouseKeeper$$Lambda$36/1482601803; (62).
JProfiler> ERROR: could not retransform class Lcom/zaxxer/hikari/pool/HikariPool$HouseKeeper$$Lambda$35/545889432; (62).
JProfiler> ERROR: could not retransform class Lcom/sun/jersey/atom/rome/impl/provider/entity/AtomEntryProvider; (113).
JProfiler> ERROR: could not retransform class Lcom/sun/jersey/atom/rome/impl/provider/entity/AtomFeedProvider; (113).

What is the cause and implication of these errors?

I'm using:
Tomcat 7.0.55
Java 8
JProfiler 8.0.7

Justin
  • 6,031
  • 11
  • 48
  • 82
  • Do you use any other profiling or Java instrumentation agent? Instead of using quick attach, use the integration wizard (Session->Integration Wizards->New Server Integration) to modify the Tomcat start script. In that case, all transformations are done as the classes are loaded so no retransformations are necessary. – Ingo Kegel Jul 19 '15 at 16:13
  • @Ingo, this error also occurs when I use the modified Tomcat script (generated through integration wizard). The vast majority of the classes it cannot transform include "$$Lambda". I'm wondering if it is somehow related to an issue JProfiler has with Java 8 – Justin Jul 19 '15 at 20:42
  • Indeed, you need a newer version of JProfiler. You can update to 8.1.4 with the same license key. – Ingo Kegel Jul 20 '15 at 08:12
  • @Ingo, upgrading fixed it for me. If you want to change your comment to an Answer I will gladly accept. Thanks – Justin Jul 20 '15 at 20:07

1 Answers1

2

The used version of JProfiler is too old and does not fully support Java 8. Updating to 8.1.4 will fix this issue.

Ingo Kegel
  • 46,523
  • 10
  • 71
  • 102