Code review request: 6973831 NPE when printing stack trace of OOME

Mandy Chung mandy.chung at oracle.com
Wed Aug 11 21:57:48 UTC 2010


  On 08/11/10 14:43, Mandy Chung wrote:
>  On 08/11/10 14:03, Rémi Forax wrote:
>> Brian, Mandy,
>> It seems this is not the sole thread-safety issue,
>> access to fields 'cause' or 'stackTrace' aren't thread safe too and 
>> detailMessage is not final.
>>
>
> I agree that the getCause and setStackTrace method need to be 
> synchronized.  On the other hand, the initCause and setStackTrace 
> methods are used to override the values initialized in the constructor 
> and so access to these fields are likely safe in practice.  I can fix 
> it as part of this fix.
>

Fixed the getCause and setStackTrace methods:
    http://cr.openjdk.java.net/~mchung/6973831/webrev.02/

Mandy

> The "detailMessage" is not final because the VM in fact preallocates 
> Throwable object (OOME and ArithmeticException) and then sets the 
> 'detailMessage' field directly (as the constructor is not invoked).
>
> Mandy




More information about the core-libs-dev mailing list