RFR: 8376269: Mixed jstack cannot find function in vDSO [v3]
Yasumasa Suenaga
ysuenaga at openjdk.org
Thu Jan 29 01:30:43 UTC 2026
On Thu, 29 Jan 2026 01:28:02 GMT, Yasumasa Suenaga <ysuenaga at openjdk.org> wrote:
>> 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 three additional commits since the last revision:
>
> - Add new function to handle vDSO
> - Remove unneeded change
> - Remove 32 bit support
Thanks @plummercj for your comment!
However I saw still a problem when kernel debuginfo is not installed on Fedora. It is same problem reported in [JDK-8376284](https://bugs.openjdk.org/browse/JDK-8376284). Maybe most of CI would fail due to TestJhsdbJstackMixedWithVDSOCallCore.java introduced in this PR...
Should we remove TestJhsdbJstackMixedWithVDSOCallCore.java from this PR? or should we work JDK-8376284 first?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/29400#issuecomment-3814832539
More information about the serviceability-dev
mailing list