RFR: 8029630: Print thread id hex representation in error messages.

Max Ockner max.ockner at oracle.com
Mon Apr 13 20:25:14 UTC 2015


Modified this again. I defined TID_FORMAT to make it a better semantic 
Webrev: http://cr.openjdk.java.net/~mockner/8029630.8/
Tested with jprt


On 4/9/2015 9:48 PM, David Holmes wrote:
> Hi Max,
> On 10/04/2015 5:11 AM, Max Ockner wrote:
>> Hi again,
>> After working past some build issues, I have a new webrev.  I've changed
>> %x to PTR_FORMAT, and I've removed the modification to thread.cpp
>> New webrev: http://cr.openjdk.java.net/~mockner/8029630.4/
> I think INTPTR_FORMAT would be more of a semantic match as the thread 
> id is not a pointer type.
> David
>> Thanks,
>> Max
>> On 4/6/2015 9:10 PM, David Holmes wrote:
>>> Hi Max,
>>> On 3/04/2015 5:38 AM, Max Ockner wrote:
>>>> Hello,
>>>> Please review this change:
>>>> Bug:  https://bugs.openjdk.java.net/browse/JDK-8029630
>>>> Webrev: http://cr.openjdk.java.net/~mockner/8029630.2/
>>>> Summary: Existing error messages for vm crashes print the decimal
>>>> representation of the current thread id. The message format has been
>>>> changed to print the hex value of the thread id.
>>> src/share/vm/runtime/thread.cpp
>>> The change is incorrect and unnecessary. 'this' is a pointer type so
>>> INTPTR_FORMAT seems correct (though it may need p2i(this)?) while %x
>>> assumes 'this' is always 32-bit. Further INTPTR_FORMAT is already hex
>>> not decimal.
>>> src/share/vm/utilities/vmError.cpp
>>> As Thomas pointed out%x assumes 32-bit and so is incorrect for intx
>>> type. As intx is a typedef for intptr_t then INTPTR_FORMAT should be
>>> usable here as well.
>>> David
>>>> Tested with jtreg runtime to make sure nothing was broken. I tested 
>>>> the
>>>> new functionality separately. I crashed the vm and examined the 
>>>> debugger
>>>> output to make sure the hexadecimal thread id printed in the error
>>>> message matched one of the threads listed by the debugger.
>>>> Thanks,
>>>> Max

More information about the hotspot-dev mailing list