RFR(S): 8008088: SA can hang the VM

Markus Grönlund markus.gronlund at oracle.com
Wed Feb 13 05:04:12 PST 2013


Rickard,

I think it looks good (not a Reviewer).

Thanks
Markus

-----Original Message-----
From: Rickard Bäckman 
Sent: den 13 februari 2013 13:29
To: serviceability-dev at openjdk.java.net serviceability-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net
Subject: RFR(S): 8008088: SA can hang the VM

Hi all,

can I please have a couple of reviews of this change. 

The problem discovered was the on Linux and BSD SA uses the ptrace() method to stop the threads before inspecting the memory of the process. However since SA doesn't check which signal was the stopping one it is possible that we stop on another signal. Doing so means that that signal is lost as well as the SIGSTOP remains as a pending signal for the process. When SA detaches, the SIGSTOP will be delivered to the process and the process will go to the Sleeping state (not executing any more code). 

This change introduces a check on the signal, such that if the signal wasn't a SIGSTOP we restart the thread and wait for a new signal.

Webrev: http://cr.openjdk.java.net/~rbackman/8008088/
Bug: http://bugs.sun.com/view_bug.do?bug_id=8008088

Thanks
/R


More information about the hotspot-runtime-dev mailing list