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:
https://gist.github.com/mbelop/6ebb11d7e583562279abfb2e3b733fa5
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