review request 7140866: assert(covered) failed: Card for end of new region not committed
Dean Long
dean.long at oracle.com
Mon Feb 13 22:09:49 UTC 2012
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7140866
http://cr.openjdk.java.net/~dlong/7140866/webrev.00/
The problem happens when trying to use a shared archive. If for some
reason mapping the shared file fails,
we call
_rs->resize_covered_region(MemRegion(shared_bottom, shared_bottom));
to undo the earlier call to
_rs->resize_covered_region(MemRegion(readonly_bottom, readwrite_end));
Unfortunately the resize code is not prepared to deal with a zero-sized
region so an assert fails.
Rather than touch the resize code, this fix changes the caller to only
call resize_covered_region()
once after the shared file is mapped.
Tested fix on a particular linux arm platform where the mmap fails 100%
of the time due to a different issue.
Ran -Xshare:dump first then a few GC tests.
dl
More information about the hotspot-gc-dev
mailing list