RFR (XS): 8151623: Zap freed Metaspace chunks in non-product binaries
vladimir.x.ivanov at oracle.com
Mon Mar 14 18:48:08 UTC 2016
> If there is a mistake in the mangling of a Metablock, that would
> show up when the Metaspace shrinks. Can you check that the testing
> has some Metaspace shrinking. I think that -Xlog:gc*=trace would
> show the needed output.
Thanks for the hint! It found one problem with -Xlog:gc*=trace itself:
BlockFreelist keeps the tree of free blocks inside Metachunks and dumps
the content from the destructor.
Mangling breaks it because it happens earlier and destroys the free list
structure by the time BlockFreelist destructor is called.
I fixed it by dumping the free list content before Metachunks are
I ran a stress test on class loading and ensured there's no memory leak
PS: maybe add a -Xlog:gc,metaspace,freelist=trace event for metachunk
More information about the hotspot-dev