RFR: 8366298: FDLeakTest sometimes takes minutes to complete on Linux [v2]
Stefan Karlsson
stefank at openjdk.org
Fri Aug 29 09:00:20 UTC 2025
> While investigating [JDK-8260555](https://bugs.openjdk.org/browse/JDK-8260555), which lowers the timeout factor from 4 to 1, we found that FDLeakTest sometimes times out on Linux.
>
> The reason is that the test performs a `fcntl` call for each and every potential file descriptor number. This can be a large number of calls and sometimes results in minutes-long test executions.
>
> I propose that we fix this by limiting the max number of open file descriptors. This lowers the test execution time to about 1 second.
>
> The test has two processes. One that executes the libFDLeaker.c code below as an agent in the test JVM, then it forks into a exeFDLeakTester.c, which reads the property `int max_fd = (int)sysconf(_SC_OPEN_MAX);`. The setting of `RLIMIT_NOFILE` to `100` lowers `max_fd` to `100`. I've verified this on both Linux and on macOS.
>
> I've run the test manually on Linux and macOS and verified that it runs faster. I've also run this through tier1.
Stefan Karlsson has updated the pull request incrementally with one additional commit since the last revision:
Add error logging
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/26979/files
- new: https://git.openjdk.org/jdk/pull/26979/files/f83beb64..78fbf6d7
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=26979&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=26979&range=00-01
Stats: 9 lines in 1 file changed: 7 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/26979.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/26979/head:pull/26979
PR: https://git.openjdk.org/jdk/pull/26979
More information about the core-libs-dev
mailing list