RFR(XS): 8193308: Disallow installing user signal handlers for SIGBUS on OSX

mandy chung mandy.chung at oracle.com
Sat Feb 10 17:37:28 UTC 2018



On 2/10/18 3:24 AM, David Holmes wrote:
> On 10/02/2018 5:18 PM, mandy chung wrote:
>>>>
>>>> I think JVM_RegisterSignal should disallow installing a user 
>>>> handler for one of the implementation-specific signals for all 
>>>> platforms. That'll simplify your fix.  I would think the 
>>>> compatibility risk should be low as rare cases would want to 
>>>> intercept SIGBUS which is also clearly documented in [1].
>>>
>>> Each platform defines its own set of signals that are used by the VM 
>>> on that platform. While I've never thought it made any sense to 
>>> attempt to install user "handlers" for SIGBUS or SIGSEGV (not that 
>>> we allow the latter) others have argued that unless we use it then 
>>> we should allow it. Hence no "lowest common denominator" approach - 
>>> though that certainly would be simpler.
>>>
>>> In this case I believe it is simply another case where the OS X port 
>>> copied the Linux code and it wasn't realized that OS X would 
>>> generate SIGBUS when SIGSEGV is "expected" and so didn't list it as 
>>> excluded.
>>
>> Are we agreeing on disallowing SIGBUS for all platforms?
>
> No. If the VM doesn't use SIGBUS on a platform then it shouldn't 
> disallow it.
>

JVM_RegisterSignal is the VM support for sun.misc.Signal.   As it does 
not make sense to install user handlers for SIGBUS, regardless whether 
the VM uses it or not, I suggest to disallow it from JVM_RegisterSignal 
for consistency.

Mandy


More information about the hotspot-runtime-dev mailing list