Ideally we should not be allocating any new memory during signal handling, but we appear to do so. Investigate...
assert failed: assert(memflags == header->flags()) failed: weird NMT flags mismatch (new:"Logging" != old:"Native Memory Tracking":[0x600001b72190])
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/os.cpp:733
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/Volumes/Work/bugs/8298293/jdk/src/hotspot/share/runtime/os.cpp:733), pid=28090, tid=259
# assert(memflags == header->flags()) failed: weird NMT flags mismatch (new:"Logging" != old:"Native Memory Tracking":[0x600001b72190])
#
# JRE version: OpenJDK Runtime Environment (21.0) (fastdebug build 21-internal-adhoc.oracle.jdk)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 21-internal-adhoc.oracle.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-amd64)
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Volumes/Work/bugs/8298293/jdk/build/macosx-x86_64-server-fastdebug/test-support/gtest_AsyncLogTest_asynclog_vm_server/hs_err_pid28090.log
malloc "Internal":[0x600001b08030]
malloc "Arguments":[0x7fc73405f000]
free [0x7fc73405f000]
malloc "Native Memory Tracking":[0x600003e04690]
malloc "Native Memory Tracking":[0x600003e04700]
malloc "Native Memory Tracking":[0x600003e04770]
malloc "Native Memory Tracking":[0x600003e047e0]
malloc "Native Memory Tracking":[0x600003e04850]
malloc "Native Memory Tracking":[0x600003e048c0]
malloc "Native Memory Tracking":[0x600003e04930]
malloc "Native Memory Tracking":[0x600003e049a0]
malloc "Native Memory Tracking":[0x600003e04a10]
malloc "Native Memory Tracking":[0x600003e04a80]
malloc "Native Memory Tracking":[0x600003e04af0]
malloc "Native Memory Tracking":[0x600003e04b60]
malloc "Native Memory Tracking":[0x600003e04bd0]
malloc "Native Memory Tracking":[0x600003e04c40]
malloc "Native Memory Tracking":[0x600003e04cb0]
malloc "Native Memory Tracking":[0x600003e04d20]
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
assert failed: assert(memflags == header->flags()) failed: weird NMT flags mismatch (new:"Logging" != old:"Native Memory Tracking":[0x600001b72190])
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/os.cpp:733
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/Volumes/Work/bugs/8298293/jdk/src/hotspot/share/runtime/os.cpp:733), pid=28090, tid=259
# assert(memflags == header->flags()) failed: weird NMT flags mismatch (new:"Logging" != old:"Native Memory Tracking":[0x600001b72190])
#
# JRE version: OpenJDK Runtime Environment (21.0) (fastdebug build 21-internal-adhoc.oracle.jdk)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 21-internal-adhoc.oracle.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, bsd-amd64)
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /Volumes/Work/bugs/8298293/jdk/build/macosx-x86_64-server-fastdebug/test-support/gtest_AsyncLogTest_asynclog_vm_server/hs_err_pid28090.log
malloc "Internal":[0x600001b08030]
malloc "Arguments":[0x7fc73405f000]
free [0x7fc73405f000]
malloc "Native Memory Tracking":[0x600003e04690]
malloc "Native Memory Tracking":[0x600003e04700]
malloc "Native Memory Tracking":[0x600003e04770]
malloc "Native Memory Tracking":[0x600003e047e0]
malloc "Native Memory Tracking":[0x600003e04850]
malloc "Native Memory Tracking":[0x600003e048c0]
malloc "Native Memory Tracking":[0x600003e04930]
malloc "Native Memory Tracking":[0x600003e049a0]
malloc "Native Memory Tracking":[0x600003e04a10]
malloc "Native Memory Tracking":[0x600003e04a80]
malloc "Native Memory Tracking":[0x600003e04af0]
malloc "Native Memory Tracking":[0x600003e04b60]
malloc "Native Memory Tracking":[0x600003e04bd0]
malloc "Native Memory Tracking":[0x600003e04c40]
malloc "Native Memory Tracking":[0x600003e04cb0]
malloc "Native Memory Tracking":[0x600003e04d20]
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
- relates to
-
JDK-8336399 NMT: Eliminate memory allocations during signal handling
-
- Open
-
-
JDK-8337293 Use constexpr instead of const in globalDefinitions.hpp
-
- Open
-
-
JDK-8298293 NMT: os::realloc() should verify that flags do not change between reallocations
-
- Resolved
-
-
JDK-8336840 Eliminate memory allocations in decoder during signal handling
-
- Closed
-
-
JDK-8328305 Move the existing error handling code out of process
-
- Closed
-
- links to
-
Commit(master) openjdk/jdk/a91f9ba8
-
Review(master) openjdk/jdk/20202
(2 links to)