Assert "section header string table should be loaded" failed on debug VM

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: P4
    • tbd
    • Affects Version/s: 26
    • Component/s: hotspot

      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 attached hs_err log for details.

      ```
      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@entry=0x7fba7fed7b40 "/home/yasuenag/github-forked/jdk/src/hotspot/share/utilities/elfFile.cpp",
          line=line@entry=536, error_msg=error_msg@entry=0x7fba80019575 "assert(false) failed",
          detail_fmt=detail_fmt@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@entry=0x7fba782a1650, debug_info=debug_info@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.

            Assignee:
            Yasumasa Suenaga
            Reporter:
            Yasumasa Suenaga
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: