RFR: 8334763: --enable-asan: assert(_thread->is_in_live_stack((address)this)) failed: not on stack? [v3]

Thomas Stuefe stuefe at openjdk.org
Mon Jun 24 14:07:11 UTC 2024


On Mon, 24 Jun 2024 13:45:38 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:
> 
>   Revert "Implement address-use-after-return"
>   
>   This reverts commit 7e089829f1ebf3d4e5aafe0934bd18db0234136b.

make/autoconf/jdk-options.m4 line 441:

> 439:           ASAN_CFLAGS="-fsanitize=address -Wno-stringop-truncation -fno-omit-frame-pointer -fno-common -DADDRESS_SANITIZER"
> 440:           ASAN_LDFLAGS="-fsanitize=address"
> 441:           # detect_stack_use_after_return is using a fake stack and thus JDK would crashe:

typo (crashe)

make/autoconf/jdk-options.m4 line 448:

> 446:           if test "x$TOOLCHAIN_TYPE" = "xclang"; then
> 447:             ASAN_CFLAGS="$ASAN_CFLAGS -fsanitize-address-use-after-return=never"
> 448:           fi

Curious, the other ASAN options work across clang and GCC? Only use-after-return requires different flags for GCC and clang?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/19843#discussion_r1651097224
PR Review Comment: https://git.openjdk.org/jdk/pull/19843#discussion_r1651100474


More information about the build-dev mailing list