RFR: JDK-8273246 Amend the test java/nio/channels/DatagramChannel/ManySourcesAndTargets.java to execute in othervm mode
A number of nio DatagramChannel tests are intermittently failing on macosx-aarch64. In some instances this is a receive call blocking indefinitely waiting on data which has already been sent, and should be available immediately to the receive method call. Other test failure scenarios are problems during the test compilation phase with a SocketException being thrown and the message: "test result: Error. Agent communication error: java.net.SocketException: No buffer space available; check console log for any additional details" The ManySourcesAndTargets and other tests execute in agentvm mode. This results in certain test diagnostic Output being lost during the test failure handling capture process. To mitigate this lost diagnostics, the ManySourcesAndTargets test has been amended to execute in othervm mode. Additionally, to assist in the buffer allocation issue, the netstat command executed by the test failure_handler has an extra argument added to obtain additional details on mbuf usage. The failure handler will now execute with netstat -mm ------------- Commit messages: - JDK-8273246 Amend the test java/nio/channels/DatagramChannel/ManySourcesAndTargets.java to execute in othervm mode Changes: https://git.openjdk.java.net/jdk/pull/5366/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5366&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8273246 Stats: 3 lines in 2 files changed: 0 ins; 0 del; 3 mod Patch: https://git.openjdk.java.net/jdk/pull/5366.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/5366/head:pull/5366 PR: https://git.openjdk.java.net/jdk/pull/5366
On Fri, 3 Sep 2021 20:32:20 GMT, Mark Sheppard <msheppar@openjdk.org> wrote:
A number of nio DatagramChannel tests are intermittently failing on macosx-aarch64. In some instances this is a receive call blocking indefinitely waiting on data which has already been sent, and should be available immediately to the receive method call. Other test failure scenarios are problems during the test compilation phase with a SocketException being thrown and the message: "test result: Error. Agent communication error: java.net.SocketException: No buffer space available; check console log for any additional details"
The ManySourcesAndTargets and other tests execute in agentvm mode. This results in certain test diagnostic Output being lost during the test failure handling capture process. To mitigate this lost diagnostics, the ManySourcesAndTargets test has been amended to execute in othervm mode.
Additionally, to assist in the buffer allocation issue, the netstat command executed by the test failure_handler has an extra argument added to obtain additional details on mbuf usage. The failure handler will now execute with netstat -mm
Marked as reviewed by alanb (Reviewer). test/jdk/java/nio/channels/DatagramChannel/ManySourcesAndTargets.java line 28:
26: * @summary Test DatagramChannel send/receive and that receive returns the expected 27: * sender address 28: * @run main/othervm ManySourcesAndTargets
This change looks okay. Do you mind change L143 to use sender.send rather than reader.send while you are there? That will avoid at least some questions while trying to track down the underlying issue and will ensure that the test is printing out the actual sender address. ------------- PR: https://git.openjdk.java.net/jdk/pull/5366
On Sat, 4 Sep 2021 06:47:43 GMT, Alan Bateman <alanb@openjdk.org> wrote:
A number of nio DatagramChannel tests are intermittently failing on macosx-aarch64. In some instances this is a receive call blocking indefinitely waiting on data which has already been sent, and should be available immediately to the receive method call. Other test failure scenarios are problems during the test compilation phase with a SocketException being thrown and the message: "test result: Error. Agent communication error: java.net.SocketException: No buffer space available; check console log for any additional details"
The ManySourcesAndTargets and other tests execute in agentvm mode. This results in certain test diagnostic Output being lost during the test failure handling capture process. To mitigate this lost diagnostics, the ManySourcesAndTargets test has been amended to execute in othervm mode.
Additionally, to assist in the buffer allocation issue, the netstat command executed by the test failure_handler has an extra argument added to obtain additional details on mbuf usage. The failure handler will now execute with netstat -mm
test/jdk/java/nio/channels/DatagramChannel/ManySourcesAndTargets.java line 28:
26: * @summary Test DatagramChannel send/receive and that receive returns the expected 27: * sender address 28: * @run main/othervm ManySourcesAndTargets
This change looks okay. Do you mind change L143 to use sender.send rather than reader.send while you are there? That will avoid at least some questions while trying to track down the underlying issue and will ensure that the test is printing out the actual sender address.
yes, I can do that ... the suggested change is currently part of a set of changes for JDK-8264385, but no problem to add it here now for this change set ------------- PR: https://git.openjdk.java.net/jdk/pull/5366
A number of nio DatagramChannel tests are intermittently failing on macosx-aarch64. In some instances this is a receive call blocking indefinitely waiting on data which has already been sent, and should be available immediately to the receive method call. Other test failure scenarios are problems during the test compilation phase with a SocketException being thrown and the message: "test result: Error. Agent communication error: java.net.SocketException: No buffer space available; check console log for any additional details"
The ManySourcesAndTargets and other tests execute in agentvm mode. This results in certain test diagnostic Output being lost during the test failure handling capture process. To mitigate this lost diagnostics, the ManySourcesAndTargets test has been amended to execute in othervm mode.
Additionally, to assist in the buffer allocation issue, the netstat command executed by the test failure_handler has an extra argument added to obtain additional details on mbuf usage. The failure handler will now execute with netstat -mm
Mark Sheppard has updated the pull request incrementally with one additional commit since the last revision: JDK-8273246 fix logic error in testReceive method change reader.send to sender.send ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/5366/files - new: https://git.openjdk.java.net/jdk/pull/5366/files/afe29d42..0effbcd4 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5366&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5366&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jdk/pull/5366.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/5366/head:pull/5366 PR: https://git.openjdk.java.net/jdk/pull/5366
On Sun, 5 Sep 2021 11:00:27 GMT, Mark Sheppard <msheppar@openjdk.org> wrote:
A number of nio DatagramChannel tests are intermittently failing on macosx-aarch64. In some instances this is a receive call blocking indefinitely waiting on data which has already been sent, and should be available immediately to the receive method call. Other test failure scenarios are problems during the test compilation phase with a SocketException being thrown and the message: "test result: Error. Agent communication error: java.net.SocketException: No buffer space available; check console log for any additional details"
The ManySourcesAndTargets and other tests execute in agentvm mode. This results in certain test diagnostic Output being lost during the test failure handling capture process. To mitigate this lost diagnostics, the ManySourcesAndTargets test has been amended to execute in othervm mode.
Additionally, to assist in the buffer allocation issue, the netstat command executed by the test failure_handler has an extra argument added to obtain additional details on mbuf usage. The failure handler will now execute with netstat -mm
Mark Sheppard has updated the pull request incrementally with one additional commit since the last revision:
JDK-8273246 fix logic error in testReceive method change reader.send to sender.send
Marked as reviewed by alanb (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/5366
On Fri, 3 Sep 2021 20:32:20 GMT, Mark Sheppard <msheppar@openjdk.org> wrote:
A number of nio DatagramChannel tests are intermittently failing on macosx-aarch64. In some instances this is a receive call blocking indefinitely waiting on data which has already been sent, and should be available immediately to the receive method call. Other test failure scenarios are problems during the test compilation phase with a SocketException being thrown and the message: "test result: Error. Agent communication error: java.net.SocketException: No buffer space available; check console log for any additional details"
The ManySourcesAndTargets and other tests execute in agentvm mode. This results in certain test diagnostic Output being lost during the test failure handling capture process. To mitigate this lost diagnostics, the ManySourcesAndTargets test has been amended to execute in othervm mode.
Additionally, to assist in the buffer allocation issue, the netstat command executed by the test failure_handler has an extra argument added to obtain additional details on mbuf usage. The failure handler will now execute with netstat -mm
This pull request has now been integrated. Changeset: d6d6c069 Author: Mark Sheppard <msheppar@openjdk.org> URL: https://git.openjdk.java.net/jdk/commit/d6d6c0692bff77bd18127ed61455aac39370... Stats: 4 lines in 2 files changed: 0 ins; 0 del; 4 mod 8273246: Amend the test java/nio/channels/DatagramChannel/ManySourcesAndTargets.java to execute in othervm mode Reviewed-by: alanb ------------- PR: https://git.openjdk.java.net/jdk/pull/5366
participants (2)
-
Alan Bateman
-
Mark Sheppard