hg: bsd-port/jdk8/hotspot: 2 new changesets

kurt at intricatesoftware.com kurt at intricatesoftware.com
Tue May 29 15:54:39 UTC 2018

Changeset: d5fdc77cd6be
Author:    Kurt Miller <kurt at intricatesoftware.com>
Date:      2018-05-29 11:02 -0400
URL:       http://hg.openjdk.java.net/bsd-port/jdk8/hotspot/rev/d5fdc77cd6be

Fix SIGSEGV in sun/misc/Unsafe using clang 6.0.0 by reducing
compilier optimization level of unsafe.o. Issue is similar to:
https://bugs.openjdk.java.net/browse/JDK-8022407 and can be
reproduced with:
Investigation, testcase and reported by
Mike Belopuhov <mike at belopuhov.com>

! make/bsd/makefiles/gcc.make

Changeset: be59128afb76
Author:    Kurt Miller <kurt at intricatesoftware.com>
Date:      2018-05-29 11:44 -0400
URL:       http://hg.openjdk.java.net/bsd-port/jdk8/hotspot/rev/be59128afb76

Fix SIGSEGV in share/vm/services/memTracker.cpp caused by using
placement new on a const static class member. With clang 6, const
static class members are located in read-only memory so it is not
possible to use placement new on it. Presumably the use of placement
new is to overcome static initialization order being undefined. Use
the traditional 'Construct On First Use Idiom' to address the
static initialization ordering which removes the need for placement
new on read-only memory.

Analysis of SIGSEGV and partial patch to remove placement new by
Dimitry Andric <dim at FreeBSD.org>. Complete patch using
'Construct On First Use Idiom' authored by Kurt Miller.

! src/share/vm/services/mallocSiteTable.hpp
! src/share/vm/services/memTracker.cpp
! src/share/vm/services/memTracker.hpp
! src/share/vm/services/virtualMemoryTracker.cpp
! src/share/vm/services/virtualMemoryTracker.hpp
! src/share/vm/utilities/nativeCallStack.cpp
! src/share/vm/utilities/nativeCallStack.hpp

More information about the bsd-port-dev mailing list