RFR: 8377368: [REDO] Mixed jstack cannot find function in vDSO
Yasumasa Suenaga
ysuenaga at openjdk.org
Mon Feb 9 22:02:30 UTC 2026
We fixed mixed jstack failure when the call stack has frame in vDSO like `gettimeofday()` in [JDK-8376269](https://bugs.openjdk.org/browse/JDK-8376269). But it has been backouted due to build error (see [JDK-8377365](https://bugs.openjdk.org/browse/JDK-8377365) for details).
JDK-8376269 uses `memfd_create` to copy vDSO from coredump to temporal memory, however it cannot be used on older glibc - some CI works on glibc 2.12, it does not have `memfd_create` unfortunately.
Thus this PR proposes to use `tmpfile()` and `fileno()` to copy vDSO, as alternatives of `memfd_create()`. It works, and passed all serviceability/sa tests on Linux AMD64.
Changes from JDK-8376269 is https://github.com/openjdk/jdk/commit/0c315303865efe60de54276bbcf2faf174fd1d9b .
-------------
Commit messages:
- Overwrite entire segment if the library is vDSO
- Use tmpfile() and fileno() to copy vDSO
- 8376269: Mixed jstack cannot find function in vDSO
Changes: https://git.openjdk.org/jdk/pull/29610/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29610&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8377368
Stats: 242 lines in 5 files changed: 230 ins; 0 del; 12 mod
Patch: https://git.openjdk.org/jdk/pull/29610.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/29610/head:pull/29610
PR: https://git.openjdk.org/jdk/pull/29610
More information about the serviceability-dev
mailing list