Search code examples
javaclojureprofilingprofilerjmc

Java Mission Control – Flight Recorder throws parser exception


I'm trying to profile a Clojure app using JMC, but get the following exception when I try to start the flight recorder:

java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"

JMC does let me start the MBean server, so I'm quite puzzled.

I've run JMC with the -consoleLog option, and got the following result when trying to start Flight Recorder:

!SESSION 2016-02-25 09:41:32.311 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_45
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_GB
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -consoleLog

!ENTRY com.jrockit.mc.core 4 0 2016-02-25 09:41:49.289
!MESSAGE java.lang.UnsupportedOperationException: This parser does not support specification "null" version "null"

I haven't found any mention of this issue in my searches and am a bit at a loss where to proceed with my investigation. Anyone has any suggestions?

Thanks!


Solution

  • I found the culprit.

    I tried running the Flight recorder on a blank Clojure project and it worked. So I deduced that the problem must lie somewhere in the code, either mine or the dependencies.

    I added each of my dependencies to my blank project and found that Dali was causing the bug.

    I have no idea what within Dali is causing the problem!