# HG changeset patch # User stuefe # Date 1528864504 -7200 # Node ID e1b3def126240d5433902f3cb0e91a4c27f6db50 # Parent a6a44177f99c7d0582b41d0dfd5874ad4a528ad9 8202772: NMT thread stack tracking causes crashes on AIX Reviewed-by: goetz, zgu diff -r a6a44177f99c -r e1b3def12624 src/hotspot/share/services/memTracker.hpp --- a/src/hotspot/share/services/memTracker.hpp Tue Jun 12 21:29:47 2018 -0700 +++ b/src/hotspot/share/services/memTracker.hpp Wed Jun 13 06:35:04 2018 +0200 @@ -241,6 +241,11 @@ } } +#ifdef _AIX + // See JDK-8202772 - temporarily disable thread stack tracking on AIX. + static inline void record_thread_stack(void* addr, size_t size) {} + static inline void release_thread_stack(void* addr, size_t size) {} +#else static inline void record_thread_stack(void* addr, size_t size) { if (tracking_level() < NMT_summary) return; if (addr != NULL) { @@ -260,6 +265,7 @@ VirtualMemoryTracker::remove_released_region((address)addr, size); } } +#endif // Query lock is used to synchronize the access to tracking data. // So far, it is only used by JCmd query, but it may be used by diff -r a6a44177f99c -r e1b3def12624 test/hotspot/gtest/runtime/test_committed_virtualmemory.cpp --- a/test/hotspot/gtest/runtime/test_committed_virtualmemory.cpp Tue Jun 12 21:29:47 2018 -0700 +++ b/test/hotspot/gtest/runtime/test_committed_virtualmemory.cpp Wed Jun 13 06:35:04 2018 +0200 @@ -38,6 +38,8 @@ class CommittedVirtualMemoryTest { public: static void test() { +#ifndef _AIX + // See JDK-8202772: temporarily disabled. Thread* thr = Thread::current(); address stack_end = thr->stack_end(); size_t stack_size = thr->stack_size(); @@ -81,6 +83,7 @@ ASSERT_TRUE(i >= 1); ASSERT_TRUE(found_stack_top); ASSERT_TRUE(found_i_addr); +#endif // !_AIX } static void check_covered_pages(address addr, size_t size, address base, size_t touch_pages, int* page_num) {