Uploaded image for project: 'Java Mission Control'
  1. Java Mission Control
  2. JMC-7312

Agent fails to generate event classes when description/path aren't supplied

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: New
    • Priority: P4
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Mission Control Core
    • Labels:
      None

      Description

      The following probe template which does not supply a description or event path

      <jfragent>
      <config>
      <classprefix>__JFREvent</classprefix>
      <allowtostring>true</allowtostring>
      <allowconverter>true</allowconverter>
      </config>
      <events>
      <event id="new_preset_2.event.1">
      <label>New Custom Event</label>
      <class>com.jmatsuok.random.things.TestDummy</class>
      <stacktrace>true</stacktrace>
      <rethrow>true</rethrow>
      <location>EXIT</location>
      <method>
      <name>Test</name>
      <descriptor>()V</descriptor>
      </method>
      </event>
      </events>
      </jfragent>

      Will cause the agent to fail to define event classes

      SEVERE: Failed to generate event class for JFRTransformDescriptor method:Test()V, eventName:New Custom Event, #params:0
      java.lang.IllegalArgumentException: value null
      at org.openjdk.jmc.internal.org.objectweb.asm.SymbolTable.addConstant(SymbolTable.java:501)
      at org.openjdk.jmc.internal.org.objectweb.asm.AnnotationWriter.visit(AnnotationWriter.java:259)
      at org.openjdk.jmc.agent.jfr.impl.JFREventClassGenerator.generateClassAnnotations(JFREventClassGenerator.java:228)
      at org.openjdk.jmc.agent.jfr.impl.JFREventClassGenerator.generateEventClass(JFREventClassGenerator.java:70)
      at org.openjdk.jmc.agent.jfr.impl.JFRClassVisitor.generateEventClass(JFRClassVisitor.java:109)
      at org.openjdk.jmc.agent.jfr.impl.JFRClassVisitor.visitEnd(JFRClassVisitor.java:89)
      at org.openjdk.jmc.internal.org.objectweb.asm.ClassReader.accept(ClassReader.java:722)
      at org.openjdk.jmc.internal.org.objectweb.asm.ClassReader.accept(ClassReader.java:401)
      at org.openjdk.jmc.agent.Transformer.doJFRLogging(Transformer.java:103)
      at org.openjdk.jmc.agent.Transformer.doTransform(Transformer.java:84)
      at org.openjdk.jmc.agent.Transformer.doTransforms(Transformer.java:74)
      at org.openjdk.jmc.agent.Transformer.transform(Transformer.java:62)
      at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:246)
      at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
      at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:563)
      at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
      at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:167)
      at org.openjdk.jmc.agent.jmx.AgentController.defineEventProbes(AgentController.java:79)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      at java.base/sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:260)
      at java.management/com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:193)
      at java.management/com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:175)
      at java.management/com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:117)
      at java.management/com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:54)
      at java.management/com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
      at java.management/com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
      at java.management/com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
      at java.management/com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:809)
      at java.management/com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
      at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466)
      at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307)
      at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1399)
      at java.management.rmi/javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:827)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359)
      at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
      at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
      at java.base/java.security.AccessController.doPrivileged(Native Method)
      at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
      at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
      at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
      at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
      at java.base/java.security.AccessController.doPrivileged(Native Method)
      at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      at java.base/java.lang.Thread.run(Thread.java:834)

        Attachments

          Activity

            People

            Assignee:
            hirt Marcus Hirt
            Reporter:
            jmatsuoka Joshua Matsuoka
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated: