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

Demangling C++ symbols in jhsdb jstack --mixed

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 14
    • Fix Version/s: 14
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b22
    • OS:
      linux

      Description

      https://mail.openjdk.java.net/pipermail/serviceability-dev/2019-October/029714.html

      I saw C++ frames in `jhsdb jstack --mixed`, and they were mangled as below:


      ----------------- 8814 -----------------
      "output reader" #15 daemon prio=5 tid=0x00007ff250365000 nid=0x226e runnable [0x00007ff2133f1000]
         java.lang.Thread.State: RUNNABLE
         JavaThread state: _thread_in_native
      0x00007ff256f7587c __libc_read + 0x4c
      0x00007ff237e9490e * sun.nio.ch.SocketDispatcher.read0(java.io.FileDescriptor, long, int) bci:0 (Interpreted frame)
      0x00007ff237e84f4c * sun.nio.ch.SocketDispatcher.read(java.io.FileDescriptor, long, int) bci:4 line:47 (Interpreted frame)
      0x00007ff237e84f4c * sun.nio.ch.NioSocketImpl.tryRead(java.io.FileDescriptor, byte[], int, int) bci:45 line:261 (Interpreted frame)
      0x00007ff237e84f4c * sun.nio.ch.NioSocketImpl.implRead(byte[], int, int) bci:99 line:312 (Interpreted frame)
      0x00007ff237e84f4c * sun.nio.ch.NioSocketImpl.read(byte[], int, int) bci:54 line:350 (Interpreted frame)
      0x00007ff237e84f4c * sun.nio.ch.NioSocketImpl$1.read(byte[], int, int) bci:7 line:803 (Interpreted frame)
      0x00007ff237e84f4c * java.net.Socket$SocketInputStream.read(byte[], int, int) bci:7 line:937 (Interpreted frame)
      0x00007ff237e84f4c * java.net.Socket$SocketInputStream.read() bci:8 line:932 (Interpreted frame)
      0x00007ff237e84f4c * java.io.FilterInputStream.read() bci:4 line:83 (Interpreted frame)
      0x00007ff237e84f4c * jdk.jshell.execution.DemultiplexInput.run() bci:4 line:58 (Interpreted frame)
      0x00007ff237e799ca <StubRoutines>
      0x00007ff255a8fa4c _ZN9JavaCalls11call_helperEP9JavaValueRK12methodHandleP17JavaCallArgumentsP6Thread + 0x6ac
      0x00007ff255a8cc1d _ZN9JavaCalls12call_virtualEP9JavaValueP5KlassP6SymbolS5_P17JavaCallArgumentsP6Thread + 0x33d
      0x00007ff255a8ce3e _ZN9JavaCalls12call_virtualEP9JavaValue6HandleP5KlassP6SymbolS6_P6Thread + 0xbe
      0x00007ff255bef3fe _ZL12thread_entryP10JavaThreadP6Thread + 0x12e
      0x00007ff25658e912 _ZN10JavaThread17thread_main_innerEv + 0x312
      0x00007ff25659998f _ZN10JavaThread3runEv + 0x29f
      0x00007ff256594990 _ZN6Thread8call_runEv + 0x100
      0x00007ff2561512f6 _ZL19thread_native_entryP6Thread + 0x116


      We can demangle them via c++filt, but I think it is more convenience if jstack can show demangling symbols.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ysuenaga Yasumasa Suenaga
                Reporter:
                ysuenaga Yasumasa Suenaga
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: