On Wed, 25 Oct 2023 16:39:31 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:

>> Fix race condition in debugger port selection, introduced with 
>> [JDK-8317920](https://bugs.openjdk.org/browse/JDK-8317920).
>> 
>> Tested on my Mac M1, but it doesn't contain platform-dependent code.
>
> test/lib/jdk/test/lib/JDWP.java line 60:
> 
>> 58:         if (parts.length != 2) {
>> 59:             return null;
>> 60:         }
> 
> This is a bit presumptuous in that it assumes that the first 2 token line of 
> output is the line we are looking for. The reason `parseListenAddress()` 
> tries to match a specific pattern is because sometimes tests are run in a way 
> that causes the debuggee to produce some extra output (like logging output) 
> and this output needs to be skipped.  At the very least you should be 
> checking for a pattern that includes "dt_socket".
> 
> BTW, I tried using `printf` instead of `echo` so the debug agent could be 
> made to generate a "Listening for transport..." line, in which case this new 
> `parseLaunchEchoListenAddress()` would not be needed, but I could not get the 
> argument processing right.  Something about exec() and printf just doesn't 
> work right.

Making too many not enough assumptions. The other method didn't make 
assumptions on the format of address and connection type, so I thought that I 
shouldn't too. I could create a temporary shell file that mimicks the other 
output though.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16358#discussion_r1372061956

Reply via email to