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

David Holmes david.holmes at oracle.com
Tue Jul 23 03:31:31 PDT 2013


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!

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