SEGV occurs when ClassLoader and Metaspace is released in JDK 8
Thomas Stüfe
thomas.stuefe at gmail.com
Tue Nov 5 10:34:19 UTC 2019
Hi Osamu,
Strange and not easy to analyze. Looks too "deterministic" to be a random
memory overwrite. The first chunk of the medium chunk list is 0x10, but the
only place where this is set we immediately beforehand dereference this
pointer (
http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/b44df6c5942c/src/share/vm/memory/metaspace.cpp#l2423)
so that should have crashed.
Could be https://bugs.openjdk.java.net/browse/JDK-8016731 but that has
never been solved.
Your best bet would be to obtain a debug (fastdebug) build of that JVM
version and attempt to reproduce the bug. The hs-err file may be more
helpful then.
Also, does this error happen in jdk11 too?
Cheers Thomas
On Tue, Nov 5, 2019 at 10:51 AM Osamu Sakamoto <sakamoto.osamu at nttcom.co.jp>
wrote:
> Hi all,
>
> I have investigated the cause of SEGV occurring in CMS GC of OpenJDK 8,
> and I've not been able to clarify the cause.
> Could you help me to solve the problem?
>
> Our system uses OpenJDK 1.8.0.171 and crashed by SEGV when purging a
> ClassLoader at safepoint.
> I found 2 strange points,
>
> 1. SEGV occrred when the metaspace destructor maneged by that
> Classloader is executed,
> because the metaspace has illegal chunk address(0x10).
>
> 2. That ClassLoader's oop address indicates a character array, not a
> ClassLoader.
>
> I think memory corruption was occurred, but I've not understood the
> reason yet.
>
> I also asked this problem to hotspot-gc-dev mailing list, and I received
> a comment that it might be a JDK bug.
> Detailed Information is summarized in the following hotspot-gc-dev ML
> thread.
> <
> https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2019-October/027583.html
> >
>
> Does anyone know this problem?
>
> Thanks,
>
> Osamu
>
>
>
>
>
More information about the jdk8u-dev
mailing list