RFR: 8192897: NPE occurs on clhsdb jstack

David Holmes david.holmes at oracle.com
Mon Dec 4 01:43:01 UTC 2017


Sorry forgot to clearly say: Reviewed.

The fix is consistent with the other NULL checks applied to getScope().

David

On 4/12/2017 10:59 AM, David Holmes wrote:
> On 4/12/2017 10:45 AM, Yasumasa Suenaga wrote:
>> Hi David,
>>
>> I got the result of execution time as below in ClhsdbJstack.jtr:
>>
>> --------------
>> #-----testresult-----
>> description=file\:/home/ysuenaga/OpenJDK/jdk-hs/test/hotspot/jtreg/serviceability/sa/ClhsdbJstack.java 
>>
>> elapsed=24825 0\:00\:24.825
>> end=Mon Dec 04 09\:41\:41 JST 2017
>> --------------
> 
> Thanks - no issue there.
> 
> David
> 
>>
>> Thanks,
>>
>> Yasumasa
>>
>>
>>
>> 2017-12-04 5:38 GMT+09:00 David Holmes <david.holmes at oracle.com>:
>>> Hi Yasumasa,
>>>
>>>
>>> On 1/12/2017 11:56 PM, Yasumasa Suenaga wrote:
>>>>
>>>> Hi all,
>>>>
>>>> I saw NPE when I run jstack on clhsdb as below:
>>>>
>>>> ----------------
>>>> hsdb> jstack
>>>> Deadlock Detection:
>>>>
>>>> No deadlocks found.
>>>>
>>>> "NonBlockingInputStreamThread" #27 daemon prio=5 tid=0x00007f0924674000
>>>> nid=0xf429 in Object.wait() [0x00007f08cf6fd000]
>>>>      java.lang.Thread.State: WAITING (on object monitor)
>>>>      JavaThread state: _thread_blocked
>>>>    - java.lang.Object.wait(long) @bci=0 (Compiled frame; information 
>>>> may be
>>>> imprecise)
>>>>           - waiting on <no object reference available>
>>>> Error occurred during stack walking:
>>>> java.lang.NullPointerException
>>>>           at
>>>> jdk.hotspot.agent/sun.jvm.hotspot.runtime.CompiledVFrame.getMonitors(CompiledVFrame.java:131) 
>>>>
>>>>           at
>>>> jdk.hotspot.agent/sun.jvm.hotspot.runtime.JavaVFrame.printLockInfo(JavaVFrame.java:125) 
>>>>
>>>>           at
>>>> jdk.hotspot.agent/sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:114) 
>>>>
>>>>           at
>>>> jdk.hotspot.agent/sun.jvm.hotspot.CommandProcessor$26.doit(CommandProcessor.java:1073) 
>>>>
>>>>           at
>>>> jdk.hotspot.agent/sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1964) 
>>>>
>>>>           at
>>>> jdk.hotspot.agent/sun.jvm.hotspot.CommandProcessor.executeCommand(CommandProcessor.java:1934) 
>>>>
>>>>           at
>>>> jdk.hotspot.agent/sun.jvm.hotspot.CommandProcessor.run(CommandProcessor.java:1814) 
>>>>
>>>>           at 
>>>> jdk.hotspot.agent/sun.jvm.hotspot.CLHSDB.run(CLHSDB.java:99)
>>>>           at 
>>>> jdk.hotspot.agent/sun.jvm.hotspot.CLHSDB.main(CLHSDB.java:40)
>>>>           at
>>>> jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.runCLHSDB(SALauncher.java:191) 
>>>>
>>>>           at
>>>> jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.main(SALauncher.java:439)
>>>> ----------------
>>>>
>>>> It is caused by CompiledVFrame#getScope() returns null.
>>>> We should consider it at CompiledVFrame#getMonitors().
>>>>
>>>> I uploaded a webrev. Could you review it?
>>>> I checked this change with hotspot/jtreg/serviceability/sa on Linux 
>>>> x64.
>>>>
>>>>     http://cr.openjdk.java.net/~ysuenaga/JDK-8192897/webrev.00/
>>>>
>>>> We can reproduce this issue when we run the app with -Xcomp option.
>>>> So I changed ClhsdbJstack.java to run with it.
>>>
>>>
>>> How long does the test take to run with Xcomp? We have to watch 
>>> execution
>>> times for the tests in each tier.
>>>
>>> Thanks,
>>> David
>>>
>>>
>>>>
>>>> I cannot access mach5 and JPRT. So I need sponsor.
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> Yasumasa
>>>>
>>>


More information about the serviceability-dev mailing list