|
Duplicate :
|
|
|
Relates :
|
|
|
Relates :
|
After the change JDK-7161732 (which came in 8-b42) the SA on windows cannot inspect the VM threads.
It appears that moving the _thread_id variable broke an undocumented assumption in WindbgX86Thread.java in the SA:
// another hack here is that we use sys thread id instead of handle.
// windbg can't get details based on handles it seems.
// I assume that osThread_win32 thread struct has _thread_id (which
// sys thread id) just after handle field.
this.sysId = (int) addr.addOffsetTo(debugger.getAddressSize()).getCIntegerAt(0, 4, true);
Now that the system thread id is no longer located right after the thread HANDLE this obviously won't work.
This breaks for example "jstack -F <pid>" which is the common way to inspect a hung VM on Windows.
ILW=HLH => P2
I=H SA on windows is basically useless for real usage
L=L not super-common to use, but "jstack -F" is an exported interface
W=H no known work-around
|