On 14 feb 2013, at 11:40, David Holmes <david.hol...@oracle.com> wrote:

> On 14/02/2013 1:05 AM, Staffan Larsen wrote:
>> Please review the following change.
>> 
>> When SA attaches to a JVM on OS X, it does not stop the process. If the JVM 
>> keeps running while SA inspects it can lead to all kinds of inconsistencies 
>> in SA. The proposed solution uses ptrace to attach to the process to keep it 
>> from running. Ptrace works a little bit differently on OS X, than on linux. 
>> For example, there is no need to attach to all threads, just attaching to 
>> the main process is enough. Additionally, the race that was recently found 
>> on linux [1] does not seem to be present on OS X (or at least I have not 
>> been able to reproduce it), so I have omitted that code.
> 
> I would question how you can know for certain that the signal race [1] can 
> not happen on OSX? Would it not be prudent (and lend itself to future code 
> sharing) to follow the same approach as now used on Linux?

I did not say I was certain, merely that I have not been able to reproduce it. 
I think there are big differences in how ptrace is implemented on Linux and OS 
X that explains why I don't see the same race. Anyway, you are right that we 
should be prudent and employ the same technique on OS X. New webrev coming. 

> I kind of dismayed that the OSX SA support has been found to be in such poor 
> shape. Makes me wonder what else in that port is lacking robustness.

So do I...

/Staffan

> 
> David
> 
>> webrev: http://cr.openjdk.java.net/~sla/8008102/webrev.00/
>> 
>> Thanks,
>> /Staffan
>> 
>> [1] 
>> http://mail.openjdk.java.net/pipermail/serviceability-dev/2013-February/008432.html
>> 

Reply via email to