RFR(XS): 8218947: jdb threads command should print threadID in decimal, not hex

David Holmes david.holmes at oracle.com
Thu Feb 14 08:03:57 UTC 2019


Hi Chris,

On 14/02/2019 4:54 pm, Chris Plummer wrote:
> Hi David,
> 
> I can update the man page. Can you point me to where it is in the 
> source? I haven't been able to find it. It seems to be out of date in 
> other ways also. 

Will send pointer separately as it's not part of OpenJDK.

> This is what the output looks like (with my fix).
> 
> main[1] threads
> Group system:
>    (java.lang.ref.Reference$ReferenceHandler)908 Reference Handler running
>    (java.lang.ref.Finalizer$FinalizerThread)909  Finalizer cond. waiting
>    (java.lang.Thread)910                         Signal Dispatcher running
> Group main:
>    (java.lang.Thread)1                           main running (at 
> breakpoint)
> Group InnocuousThreadGroup:
>    (jdk.internal.misc.InnocuousThread)911        Common-Cleaner cond. 
> waiting
> 
> Note there is no index printed as the docs suggest. Also, the docs don't 
> even mention having the threadID printed.

Okay probably need a separate bug to update the man page then.

> I found this change very useful while using jdb to debug the JDWP debug 
> agent. If I don't push it, it will likely just stay as an uncommitted 
> change in my local repo indefinitely since I continue to find use for it.
> 
> As for the status of jdb, it is supported and we do actively fix it. 
> It's greatest use is probably in testing JDI, since a large number of 
> JDI tests do so using jdb. Also, I've been using it a lot lately to test 
> loom debugging support I've been adding to the JDWP debug agent.
> 
> I don't know about needing a CSR request. The rules for needing one 
> elude me. I consider you the expert in that area. :)

Well this isn't changing a programming interface just the UI, so unless 
people use it with some kind of screen scraping I can't see there being 
a compatibility issue.

Cheers,
David
-----

> thanks,
> 
> Chris
> 
> On 2/13/19 8:53 PM, David Holmes wrote:
>> <offlist>
>>
>> pps. You'll also need to update the man page as it has an example 
>> showing the hex:
>>
>>      threads
>>               List the threads that are currently running. For each 
>> thread, its name and current status are printed and
>>               an index that can be used in other commands. In this 
>> example, the thread index is 4, the thread is an
>>               instance of java.lang.Thread, the thread name is main, 
>> and it is currently running.
>>
>>               4. (java.lang.Thread)0x1 main      running
>>
>> Is this change really worth bothering with? What's the status of jdb 
>> (I was surprised to seem this is all an example!) ? Does this need a 
>> CSR request?
>>
>> Cheers,
>> David
>> On 14/02/2019 2:36 pm, David Holmes wrote:
>>> PS.
>>>
>>>   return MessageOutput.format("object description and hex id",
>>>
>>> Need to change the message too!
>>>
>>> David
>>>
>>> On 14/02/2019 2:32 pm, David Holmes wrote:
>>>> Hi Chris,
>>>>
>>>> On 14/02/2019 1:37 pm, Chris Plummer wrote:
>>>>> Hi,
>>>>>
>>>>> Please review the following:
>>>>>
>>>>> http://cr.openjdk.java.net/~cjplummer/8218947/webrev
>>>>> https://bugs.openjdk.java.net/browse/JDK-8218947
>>>>
>>>> Are there times you may want to correlate those thread ids with ones 
>>>> in other logs/tools that are in hex?
>>>>
>>>> That aside:
>>>>
>>>> java.lang.Long.toString
>>>>
>>>> you don't need the java.lang part (it's always implicitly imported).
>>>>
>>>> Thanks,
>>>> David
>>>> -----
>>>>
>>>>> Tested by running the following on all supported platforms:
>>>>>
>>>>> open/test/hotspot/jtreg/vmTestbase/nsk/jdb
>>>>> open/test/jdk/com/sun/jdi
>>>>>
>>>>> thanks,
>>>>>
>>>>> Chris
> 
> 
> 


More information about the serviceability-dev mailing list