RFR: 8371093: Assert "section header string table should be loaded" failed on debug VM [v2]
Yasumasa Suenaga
ysuenaga at openjdk.org
Wed Nov 12 08:00:30 UTC 2025
> When the crash happens in the function in vDSO on Linux, native call stacks in hs_err log wouldn't be generated as following. See [hs_err log on JBS](https://bugs.openjdk.org/secure/attachment/116796/hs_err_pid4018.log) for details. Reproducer is also attached on JBS ([Test.java](https://bugs.openjdk.org/secure/attachment/116797/Test.java))
>
>
> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
> C [linux-vdso.so.1+0xe69]
> [error occurred during error reporting (printing native stack (with source info)), id 0xe0000000, Internal Error (/home/yasuenag/github-forked/jdk/src/hotspot/share/utilities/elfFile.cpp:536)]
>
> Retrying call stack printing without source information...
>
> [error occurred during error reporting (retry printing native stack (no source info)), id 0xb, SIGSEGV (0xb) at pc=0x00007fba8075f791]
>
>
> When I checked back trace on GDB, it failed at `assert`.
>
> #12 0x00007fba7e76bd00 in report_vm_error (file=file at entry=0x7fba7fed7b40 "/home/yasuenag/github-forked/jdk/src/hotspot/share/utilities/elfFile.cpp",
> line=line at entry=536, error_msg=error_msg at entry=0x7fba80019575 "assert(false) failed",
> detail_fmt=detail_fmt at entry=0x7fba7fed7bf0 "section header string table should be loaded")
> at /home/yasuenag/github-forked/jdk/src/hotspot/share/utilities/debug.cpp:196
> #13 0x00007fba7e886eb3 in ElfFile::read_section_header (this=0x7fba782a1650, name=0x7fba800367d4 ".gnu_debuglink", hdr=...)
> at /home/yasuenag/github-forked/jdk/src/hotspot/share/utilities/elfFile.cpp:536
> #14 ElfFile::read_debug_info (this=this at entry=0x7fba782a1650, debug_info=debug_info at entry=0x7fba7dd05150)
> at /home/yasuenag/github-forked/jdk/src/hotspot/share/utilities/elfFile.cpp:407
>
>
>
> (gdb) f 13
> #13 0x00007fba7e886eb3 in ElfFile::read_section_header (this=0x7fba782a1650, name=0x7fba800367d4 ".gnu_debuglink", hdr=...)
> at /home/yasuenag/github-forked/jdk/src/hotspot/share/utilities/elfFile.cpp:536
> 536 assert(false, "section header string table should be loaded");
>
>
> vDSO is not a regular ELF, so it should be skipped here.
Yasumasa Suenaga has updated the pull request incrementally with two additional commits since the last revision:
- Undo unnecessary change
- Check the result of opening file
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/28102/files
- new: https://git.openjdk.org/jdk/pull/28102/files/afa88a0a..678d57ee
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=28102&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=28102&range=00-01
Stats: 12 lines in 1 file changed: 5 ins; 7 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/28102.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/28102/head:pull/28102
PR: https://git.openjdk.org/jdk/pull/28102
More information about the hotspot-dev
mailing list