RFR: JDK-8318736: com/sun/jdi/JdwpOnThrowTest.java failed with "transport error 202: bind failed: Address already in use"

Chris Plummer cjplummer at openjdk.org
Wed Oct 25 17:26:36 UTC 2023


On Wed, 25 Oct 2023 17:09:09 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

>> 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.
>
> `parseListenAddress()` looks for a fairly specific format:
> 
> `listenRegexp = Pattern.compile("Listening for transport \\b(.+)\\b at address: \\b(.+)\\b");`
> 
> However, it does not assume the transport type, so maybe doing that here is not such a good idea. I don't like adding shell scripts to tests. We've been converting tests from shell scripts for years now because they tend to be problematic.
> 
> How about using something like launch="echo Listen Args: ". then you have a more specific string you can pattern match on:
> 
> `Listen Args: dt_socket 42305`

Maybe you can use call `enableOnThrow()` as a trigger to use a specific echo command whose pattern is later detected. I'm not so sure `parseLaunchEchoListenAddress()` needs to be in JDWP since it will only be used by the Debuggee class. That spares the JDWP class from needing to know about this pattern.

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

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


More information about the serviceability-dev mailing list