RR(XS) 8019396: SA-JDI: OSThread class initialization throws an exception

David Holmes david.holmes at oracle.com
Wed Jul 24 05:00:13 PDT 2013


On 23/07/2013 9:37 PM, Mikael Gerdin wrote:
> David,
>
> On 2013-07-23 12:31, David Holmes wrote:
>> Hi Dmitry,
>>
>> Looks okay.
>>
>> Minor nit:
>>
>> !         return (int)threadIdField.getJInt(addr);
>>
>> The cast should not be need as getJInt returns int.
>>
>> Aside: this looks like a major bug in BasicField to me:
>>
>>   public long getJLong(Address addr) ...
>>
>> A jlong is 64-bits but a long may be 32-bits!
>
> But isn't that a Java land "long"? That's the definition of jlong :)

Oops! That Java code sure looked like C code :)

Thanks,
David

  /Mikael
>
>>
>> David
>>
>> On 23/07/2013 7:39 PM, Dmitry Samersoff wrote:
>>> Hi Everybody,
>>>
>>> Please, review the fix.
>>>
>>> http://cr.openjdk.java.net/~dsamersoff/JDK-8019396.SA-JDI/webrev.01/
>>>
>>>
>>> Method sun.jvm.hotspot.runtime.OSThread.initialize throws a
>>> sun.jvm.hotspot.types.WrongTypeException with message: field
>>> "_thread_id" in type OSThread is not of type jint, but instead of type
>>> unsigned OSThread::thread_id_t.
>>>
>>> After fixing an exception test still fails, because of wrong value used
>>> for JVMTI_THREAD_STATE_WAITING, fixed it as well.
>>>
>>> Testing:
>>>
>>> nsk/sajdi/ThreadReference/status/status002
>>>
>>> -Dmitry
>>>


More information about the serviceability-dev mailing list