Review request: 8043086 : Hotspot is expected to report OOM which is occurred String.intern(), but crashes in JDK8u5
David Holmes
david.holmes at oracle.com
Wed May 28 05:24:45 UTC 2014
Hi Poonam,
On 28/05/2014 12:20 PM, Poonam Bajaj wrote:
> Hi,
>
> Request for reviews for the following fix:
> Bug: 8043086 <https://bugs.openjdk.java.net/browse/JDK-8043086>: Hotspot
> is expected to report OOM which is occurred String.intern(), but crashes
> in JDK8u5
> Webrev: http://cr.openjdk.java.net/~poonam/8043086/webrev.00/
>
> Fix details: Bug 'JDK-8011773: Some tests on Interned String crashed
> JVM with OOM' was fixed in JDK 8. But with this fix another crash
> happens while throwing java.lang.OutOfMemoryError exception when an out
> of memory error occurs in String.intern(). The reason being in case of
> an allocation failure, the _chunk of ResourceMark could be left null and
> that can cause crash in the destructor of ResourceMark. These changes
> fix that.
You already have a "tmp" copy of chunk_, so this should suffice as a fix:
562 Chunk *k = _chunk; // Get filled-up chunk address
563 _chunk = new (alloc_failmode, len) Chunk(len);
564
565 if (_chunk == NULL) {
+ _chunk = k; // restore
566 return NULL;
567 }
David
-----
> Thanks,
> Poonam
>
More information about the hotspot-runtime-dev
mailing list