On Thu, 29 Jan 2026 01:28:02 GMT, Yasumasa Suenaga <[email protected]> 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

I've updated this PR to run TestJhsdbJstackMixedWithVDSOCallCore.java 
intdoduced in this PR if kernel debuginfo is available only. Otherwise the test 
would be skipped.
@plummercj Could you review again?

-------------

PR Comment: https://git.openjdk.org/jdk/pull/29400#issuecomment-3840428338

Reply via email to