RFR: 8334763: --enable-asan: assert(_thread->is_in_live_stack((address)this)) failed: not on stack? [v4]
Thomas Stuefe
stuefe at openjdk.org
Mon Jun 24 14:27:13 UTC 2024
On Mon, 24 Jun 2024 14:11:35 GMT, Jan Kratochvil <jkratochvil at openjdk.org> wrote:
>> fastdebug:
>>
>>
>> # A fatal error has been detected by the Java Runtime Environment:
>> #
>> # Internal Error (/home/azul/azul/openjdk-git/src/hotspot/share/runtime/handles.inline.hpp:77), pid=878152, tid=878158
>> # assert(_thread->is_in_live_stack((address)this)) failed: not on stack?
>> #
>> # JRE version: (24.0) (fastdebug build )
>> # Java VM: OpenJDK 64-Bit Server VM (fastdebug 24-internal-adhoc.azul.openjdk-git, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
>> # Problematic frame:
>> # V [libjvm.so+0x1d20658] constantPoolHandle::constantPoolHandle(Thread*, ConstantPool*)+0x268
>
> Jan Kratochvil has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix a typo
> - bugreported by Thomas Stuefe
LGTM. I made a proposal for a bit clearer comment. Up to you if you take it. Thanks for fixing this.
make/autoconf/jdk-options.m4 line 442:
> 440: ASAN_LDFLAGS="-fsanitize=address"
> 441: # detect_stack_use_after_return is using a fake stack and thus JDK would crash:
> 442: # assert(_thread->is_in_live_stack((address)this)) failed: not on stack?
Proposal:
|detect_stack_use_after_return causes ASAN to offload stack-local variables to c-heap and therefore breaks assumptions in hotspot that rely on data (e.g. Marks) living in thread stacks."
-------------
Marked as reviewed by stuefe (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/19843#pullrequestreview-2135966101
PR Review Comment: https://git.openjdk.org/jdk/pull/19843#discussion_r1651129632
More information about the build-dev
mailing list