RFR: 8324668: JDWP process management needs more efficient file descriptor handling [v4]
Chris Plummer
cjplummer at openjdk.org
Mon Jan 29 19:28:32 UTC 2024
On Mon, 29 Jan 2024 10:00:37 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:
>> Can I please get a review of this change which proposes to address https://bugs.openjdk.org/browse/JDK-8324668?
>>
>> This change proposes to fix the issue in jdwp where when launching a child process (for the `launch=<cmd>` option), it iterates over an extremely large number of file descriptors to close each one of those. Details about the issue and the proposed fixed are added in a subsequent comment in this PR https://github.com/openjdk/jdk/pull/17588#issuecomment-1912256075. tier1, tier2 and tier3 testing is currently in progress with this change.
>
> Jaikiran Pai has updated the pull request incrementally with three additional commits since the last revision:
>
> - add a log message to help debuggability
> - improve code comments
> - David's review - use standard isdigit instead of custom isAsciiDigit
src/jdk.jdwp.agent/unix/native/libjdwp/exec_md.c line 129:
> 127: /* Find max allowed file descriptors for a process
> 128: * and assume all were opened for the parent process and
> 129: * copied over to this child process. We close them all. */
I'm somewhat leaning towards this just being a fatal error. Why would it ever fail? Do we think the version in childproc.c that also does this is doing so for a good reason, or perhaps just like jdwp it used to use the slow version and then kept it around as a backup when the faster version was introduced.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17588#discussion_r1470094640
More information about the serviceability-dev
mailing list