8234624: jstack mixed mode should refer DWARF

Yasumasa Suenaga suenaga at oss.nttdata.com
Sat Nov 23 01:39:59 UTC 2019


On 2019/11/23 1:52, Chris Plummer wrote:
> Hi Yasumasa,
> 
> Start with the following code in HotSpotAgent.java:
> 
>          catch (NoSuchSymbolException e) {
>              throw new DebuggerException("Doesn't appear to be a HotSpot VM (could not find symbol \"" +
>              e.getSymbol() + "\" in remote process)");
>          }
> 
> Fix it to include "e" as the cause of the DebuggerException. Then the exception backtrace that David included below will be a bit more useful.

Thank you for the advise, Chris!
But I cannot access Mach 5 result because I'm not an Oracle employee...

I'm not sure I can get root cause from the email from submit repo.


yasumasa


> thanks,
> 
> Chris
> 
> 
> On 11/22/19 12:55 AM, Yasumasa Suenaga wrote:
>> Thanks David!
>>
>> Hmm... my slowdebug build works fine on my laptop.
>> I will investigate more.
>>
>>
>> Thanks,
>>
>> Yasumasa
>>
>>
>> On 2019/11/22 17:08, David Holmes wrote:
>>> On 22/11/2019 5:42 pm, Yasumasa Suenaga wrote:
>>>> Hi all,
>>>>
>>>> I tried to get mixed stack via `jhsdb jstack --mixed`, but I couldn't.
>>>> (See JBS for details)
>>>>
>>>>    https://bugs.openjdk.java.net/browse/JDK-8234624
>>>>
>>>> I think it is caused by DWARF. AMD64 needs DWARF for stack unwinding, but SA does not handle it.
>>>> So I created a patch. It works fine on my Fedora 31 x64 box, but it failed on submit repo.
>>>>
>>>>    http://hg.openjdk.java.net/jdk/submit/rev/f97745e0af75
>>>>
>>>> Failed test was linux-x64-debug, and it is due to "gHotSpotVMTypes" was not found.
>>>> I wonder why it failed, and why my serviceability/sa tests (with fastdebug build) was succeeded.
>>>> Can you share details for this test? mach5-one-ysuenaga-JDK-8234624-20191122-0630-6909161
>>>
>>> I can't really shed any light on it, there were lots of failures - see below for example. The issue is with the VM that was being inspected but there's no output from that VM.
>>>
>>> David
>>>   -----
>>>
>>> ----------System.out:(10/413)----------
>>> Starting TestUniverse
>>> Started LingeredApp with G1GC and pid 31111
>>> Starting clhsdb against 31111
>>> [2019-11-22T07:03:42.836056Z] Gathering output for process 31133
>>> [2019-11-22T07:03:44.395452Z] Waiting for completion for process 31133
>>> [2019-11-22T07:03:44.395815Z] Waiting for completion finished for process 31133
>>> hsdb> Command not valid until attached to a VM
>>> hsdb>
>>> 'Heap Parameters' missing from stdout/stderr
>>>
>>> ----------System.err:(53/3915)----------
>>> Command line: ['/opt/mach5/mesos/work_dir/jib-master/install/2019-11-22-0629473.suenaga.source/linux-x64-debug.jdk/jdk-14/fastdebug/bin/java' '-XX:+UnlockExperimentalVMOptions' '-XX:+UseG1GC' '-cp' '/opt/mach5/mesos/work_dir/slaves/6e54f4af-e606-43b0-80ce-0a482a5988b6-S156/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/0454c404-a309-4896-bf31-90b9636056fa/runs/eed41e19-a725-491b-9ddd-c380024cedc9/testoutput/test-support/jtreg_open_test_hotspot_jtreg_tier1_serviceability/classes/2/serviceability/sa/TestUniverse.d:/opt/mach5/mesos/work_dir/slaves/6e54f4af-e606-43b0-80ce-0a482a5988b6-S156/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/0454c404-a309-4896-bf31-90b9636056fa/runs/eed41e19-a725-491b-9ddd-c380024cedc9/testoutput/test-support/jtreg_open_test_hotspot_jtreg_tier1_serviceability/classes/2/test/lib' 'jdk.test.lib.apps.LingeredApp' '918bf6a8-d3df-4fd1-bdca-13fc399c67f3.lck' ]
>>> Attaching to process 31111, please wait...
>>> Unable to connect to process ID 31111:
>>>
>>> Doesn't appear to be a HotSpot VM (could not find symbol "gHotSpotVMTypes" in
>>> remote process)
>>> sun.jvm.hotspot.debugger.DebuggerException: Doesn't appear to be a HotSpot VM (could not find symbol "gHotSpotVMTypes" in remote process)
>>>      at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.setupVM(HotSpotAgent.java:413)
>>>      at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:306)
>>>      at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:141)
>>>      at jdk.hotspot.agent/sun.jvm.hotspot.CLHSDB.attachDebugger(CLHSDB.java:180)
>>>      at jdk.hotspot.agent/sun.jvm.hotspot.CLHSDB.run(CLHSDB.java:61)
>>>      at jdk.hotspot.agent/sun.jvm.hotspot.CLHSDB.main(CLHSDB.java:40)
>>>      at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.runCLHSDB(SALauncher.java:270)
>>>      at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.main(SALauncher.java:406)
>>>   stdout: [ Command not valid until attached to a VM
>>> ];
>>>   stderr: [ Command not valid until attached to a VM
>>> ]
>>>   exitValue = -1
>>>
>>>   LingeredApp stdout: [];
>>>   LingeredApp stderr: []
>>>   LingeredApp exitValue = 0
>>> java.lang.RuntimeException: 'Heap Parameters' missing from stdout/stderr
> 
> 


More information about the serviceability-dev mailing list