> 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) > > > Some platforms (Ubuntu 24.04 and Fedora 43 at least) provide vDSO binary in > `/lib/modules/<kernel version>/vdso`. This patch attempts to load it if we > can refer it because we want to use debuginfo of vDSO if possible. Otherwise > load vDSO memory.
Yasumasa Suenaga has updated the pull request incrementally with two additional commits since the last revision: - Update exception message - Update comment ------------- Changes: - all: https://git.openjdk.org/jdk/pull/29400/files - new: https://git.openjdk.org/jdk/pull/29400/files/bd7e2ea1..57d39142 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=29400&range=07 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=29400&range=06-07 Stats: 2 lines in 2 files changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.org/jdk/pull/29400.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/29400/head:pull/29400 PR: https://git.openjdk.org/jdk/pull/29400
