Mixed jstack cannot find function in vDSO

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: P4
    • 27
    • Affects Version/s: 27
    • Component/s: hotspot
    • None

      Some functions / signal trampoline would be provided by vDSO in Linux. However SA cannot find symbols in it because it is not a regular ELF, it is on the memory only.
      For example, mixed jstack could not decode the symbol in the coredump crashed in gettimeofday(2) as following:

      ```
      0x00007faae3dd0818 VMError::report_and_die(Thread*, unsigned int, unsigned char*, void const*, void const*) + 0x58
      0x00007faae3aff1ba JVM_handle_linux_signal + 0x42a
      0x00007faae4ad9290 <signal handler called>
      0x00007faae4cd8e69 ????????
      0x00007faaca78ffa1 <nep_invoker_blob>
      0x00007faaca73fd48 * java.lang.invoke.LambdaForm$MH+0x0000000028156c00.invoke(java.lang.Object, long, long, long) bci:12 (Interpreted frame)
      ```

      It should be:

      ```
      0x00007fb5841d0818 VMError::report_and_die(Thread*, unsigned int, unsigned char*, void const*, void const*) + 0x58
      0x00007fb583eff1ba JVM_handle_linux_signal + 0x42a
      0x00007fb584fd9290 <signal handler called>
      0x00007fb5851d8e69 __cvdso_gettimeofday_data.constprop.0 + 0x99
      0x00007fb56a78f321 <nep_invoker_blob>
      0x00007fb56a73fd48 * java.lang.invoke.LambdaForm$MH+0x000000000e156c00.invoke(java.lang.Object, long, long, long) bci:12 (Interpreted frame)
      ```

      Reproducer: https://github.com/YaSuenag/garakuta/blob/master/NativeSEGV/ffm/SegvInGettimeofdayWithFFM.java

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

              Created:
              Updated: