Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8236655

Streaming of Socket JFR event fails on construction of stacktrace

XMLWordPrintable

    • jfr
    • x86_64
    • linux

      ADDITIONAL SYSTEM INFORMATION :
      Linux Mint

      $ java --version
      openjdk 14-ea 2020-03-17
      OpenJDK Runtime Environment (build 14-ea+28-1366)
      OpenJDK 64-Bit Server VM (build 14-ea+28-1366, mixed mode, sharing)

      A DESCRIPTION OF THE PROBLEM :
      Trying to print "jdk.SocketRead" (es.onEvent(event, System.out::println);) but it fails on construction of stacktrace:

      java.lang.ClassCastException: class jdk.jfr.consumer.RecordedObject cannot be cast to class jdk.jfr.consumer.RecordedMethod (jdk.jfr.consumer.RecordedObject and jdk.jfr.consumer.RecordedMethod are in module jdk.jfr of loader 'bootstrap')
      at jdk.jfr/jdk.jfr.consumer.RecordedFrame.getMethod(RecordedFrame.java:99)
      at jdk.jfr/jdk.jfr.internal.tool.PrettyWriter.printJavaFrame(PrettyWriter.java:445)
      at jdk.jfr/jdk.jfr.internal.tool.PrettyWriter.printValue(PrettyWriter.java:306)
      at jdk.jfr/jdk.jfr.internal.tool.PrettyWriter.printStackTrace(PrettyWriter.java:242)
      at jdk.jfr/jdk.jfr.internal.tool.PrettyWriter.print(PrettyWriter.java:221)
      at jdk.jfr/jdk.jfr.consumer.RecordedObject.toString(RecordedObject.java:975)
      at java.base/java.lang.String.valueOf(String.java:3388)
      at java.base/java.io.PrintStream.println(PrintStream.java:1047)
      at jdk.jfr/jdk.jfr.internal.consumer.Dispatcher$EventDispatcher.offer(Dispatcher.java:52)
      at jdk.jfr/jdk.jfr.internal.consumer.Dispatcher.dispatch(Dispatcher.java:165)
      at jdk.jfr/jdk.jfr.internal.consumer.EventDirectoryStream.processOrdered(EventDirectoryStream.java:211)
      at jdk.jfr/jdk.jfr.internal.consumer.EventDirectoryStream.processRecursionSafe(EventDirectoryStream.java:139)
      at jdk.jfr/jdk.jfr.internal.consumer.EventDirectoryStream.process(EventDirectoryStream.java:97)
      at jdk.jfr/jdk.jfr.internal.consumer.AbstractEventStream.execute(AbstractEventStream.java:243)
      at jdk.jfr/jdk.jfr.internal.consumer.AbstractEventStream$1.run(AbstractEventStream.java:265)
      at jdk.jfr/jdk.jfr.internal.consumer.AbstractEventStream$1.run(AbstractEventStream.java:262)
      at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
      at jdk.jfr/jdk.jfr.internal.consumer.AbstractEventStream.run(AbstractEventStream.java:262)
      at jdk.jfr/jdk.jfr.internal.consumer.AbstractEventStream.start(AbstractEventStream.java:222)
      at jdk.jfr/jdk.jfr.consumer.RecordingStream.start(RecordingStream.java:344)
      at pbouda.jfr.sockets.Jfr.lambda$start$1(Jfr.java:42)
      at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
      at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
      at java.base/java.lang.Thread.run(Thread.java:832)

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      clone: https://github.com/petrbouda/jfr-sockets
      run: pbouda.jfr.sockets.simple.Start
      watch console output

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      JFR Socket jdk.SocketRead event printed
      ACTUAL -
      java.lang.ClassCastException: class jdk.jfr.consumer.RecordedObject cannot be cast to class jdk.jfr.consumer.RecordedMethod (jdk.jfr.consumer.RecordedObject and jdk.jfr.consumer.RecordedMethod are in module jdk.jfr of loader 'bootstrap')


      ---------- BEGIN SOURCE ----------
      https://github.com/petrbouda/jfr-sockets
      ---------- END SOURCE ----------

      FREQUENCY : always


            fmatte Fairoz Matte
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: