RFR (S): 8141421: Various test fail with OOME on win x86

Derek White derek.white at oracle.com
Wed Jan 20 19:15:28 UTC 2016


Updated webrev: Print out values in lock assertion failure messages (see 
EOM for details)

This is a small fix for a (malloc) memory leak that is causing a variety 
of crashes.

This also improves memory tracking slightly, and adds asserts that 
clarify the expected locking usage of g1CodeCacheRemSet.

*BUG*: JDK-8141421 Various test fail with OOME on win x86
*Webrev*: http://cr.openjdk.java.net/~drwhite/8141421/webrev.01/
*Testing* jprt, aurora.

On 1/20/16 11:34 AM, Derek White wrote:
> On 1/20/16 5:54 AM, Thomas Schatzl wrote:
>> Hi Derek,
>>
>> On Tue, 2016-01-19 at 12:38 -0500, Derek White wrote:
>>> This is a small fix for a (malloc) memory leak that is causing a
>>> variety of crashes.
>>>
>>> This also improves memory tracking slightly, and adds asserts that
>>> clarify the expected locking usage of g1CodeCacheRemSet.
>>>
>>> BUG: JDK-8141421 Various test fail with OOME on win x86
>>> Webrev: http://cr.openjdk.java.net/~drwhite/8141421/webrev.00/
>>> Testing jprt, aurora.
>>    nice catch :)
>
> I stared at that code for a long time without seeing a problem! Only 
> when I threw in a bunch of statistics did it become clear :-)
>>
>> Could you improve the failing asserts to contain the compared values?
>> That would make eventual debugging easier.
>
> OK, I'll get a new rev out soon...
Thomas,

I added values to the lock assertion messages. They check constraints 
between the caller and callee that are hard to reason about.

Then I wasn't sure which data you wanted displayed after all. I did not 
add values to the "length" assertion checks in g1CodeCacheRemSet.cpp. 
They check internal state that can be "proven" statically. They are less 
an error check and more a declaration that, "Yes, the length is stored 
in two places, but they are equal at all times." I was tempted to remove 
the duplicated "_length" value, but I couldn't prove to myself that 
"_length" wasn't used in some performance critical way.

Is this reasonable?

  - Derek

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20160120/c82fac75/attachment.htm>


More information about the hotspot-gc-dev mailing list