RFR: 8252921: NMT overwrite memory type for region assert when building dynamic archive
David Holmes
dholmes at openjdk.java.net
Wed Sep 16 02:57:18 UTC 2020
On Tue, 15 Sep 2020 14:37:44 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:
> Thread stack is currently unregistered with NMT in Thread's destructor. Apparently, only Java thread invokes destructor
> before thread exits. For NonJavaThread, e.g. ConcurrentGCThread, thread may exit while its "Thread" object continues
> alive, therefore, its thread stack is still "alive" from NMT perspective. Once thread exits, the virtual memory for the
> thread stack can be reserved again, that confused NMT. The solution is to move thread stack unregistration code to
> post_run() method.
src/hotspot/share/runtime/thread.hpp line 762:
> 760: public:
> 761: // Stack overflow support
> 762: address stack_base() const { return _stack_base; }
Why did you remove the assertion? We want the assertion in general to ensure there are no improper uses of stack_base().
-------------
PR: https://git.openjdk.java.net/jdk/pull/185
More information about the hotspot-runtime-dev
mailing list