Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JDK-8273246 Amend the test java/nio/channels/DatagramChannel/ManySourcesAndTargets.java to execute in othervm mode #5366

Closed
wants to merge 2 commits into from

Conversation

msheppar
Copy link

@msheppar msheppar commented Sep 3, 2021

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


Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed

Issue

  • JDK-8273246: Amend the test java/nio/channels/DatagramChannel/ManySourcesAndTargets.java to execute in othervm mode

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/5366/head:pull/5366
$ git checkout pull/5366

Update a local copy of the PR:
$ git checkout pull/5366
$ git pull https://git.openjdk.java.net/jdk pull/5366/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 5366

View PR using the GUI difftool:
$ git pr show -t 5366

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/5366.diff

…cesAndTargets.java to execute in othervm mode

also add extra arg to netstat for extra mbuf usage information (netstat -mm)
@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Sep 3, 2021

👋 Welcome back msheppar! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@msheppar msheppar changed the title JDK-8273246 Amend the test java/nio/channels/DatagramChannel/ManySour…A number of nio DatagramChannel tests are intermittently failing on macosx-aarch64. In come instances this is a receive call blocking indefinitely waiting on data which has Already been sent and should be available immediately to the receive. Other test failure scenarios are SocketException buffer allocation problems during the test compilation phase. 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 work around this 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. It will now execute with netstat -mm JDK-8273246 Amend the test java/nio/channels/DatagramChannel/ManySourcesAndTargets.java to execute in othervm mode Sep 3, 2021
@openjdk openjdk bot added the rfr label Sep 3, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Sep 3, 2021

@msheppar The following labels will be automatically applied to this pull request:

  • core-libs
  • nio

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing lists. If you would like to change these labels, use the /label pull request command.

@openjdk openjdk bot added nio core-libs labels Sep 3, 2021
@mlbridge
Copy link

@mlbridge mlbridge bot commented Sep 3, 2021

Webrevs

@@ -25,7 +25,7 @@
* @bug 8234805 8235193
* @summary Test DatagramChannel send/receive and that receive returns the expected
* sender address
* @run main ManySourcesAndTargets
* @run main/othervm ManySourcesAndTargets
Copy link
Contributor

@AlanBateman AlanBateman Sep 4, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Author

@msheppar msheppar Sep 4, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@openjdk
Copy link

@openjdk openjdk bot commented Sep 4, 2021

@msheppar This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

8273246: Amend the test java/nio/channels/DatagramChannel/ManySourcesAndTargets.java to execute in othervm mode

Reviewed-by: alanb

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 20 new commits pushed to the master branch:

  • c640fe4: 7188098: TEST_BUG: closed/javax/sound/midi/Synthesizer/Receiver/bug6186488.java fails
  • cec6c06: 8272232: javax/swing/JTable/4275046/bug4275046.java failed with "Expected value in the cell: 'rededited' but found 'redEDITED'."
  • 14a3ac0: 8271911: replay compilations of methods which use JSR292 (easy cases)
  • d414a88: 8273240: Dynamic test ArchiveConsistency.java should use CDSArchiveUtils
  • 23fa0dc: 8272905: Consolidate discovered lists processing
  • ff4018b: 8268148: unchecked warnings handle ? and ? extends Object differently
  • 8c37909: 8273234: extended 'for' with expression of type tvar causes the compiler to crash
  • 28ba78e: 8244675: assert(IncrementalInline || (_late_inlines.length() == 0 && !has_mh_late_inlines()))
  • d05494f: 8266239: Some duplicated javac command-line options have repeated effect
  • 93eec9a: 8272776: NullPointerException not reported
  • ... and 10 more: https://git.openjdk.java.net/jdk/compare/632a7e0885596b70d34be319bd09d4df8e151d12...master

As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready label Sep 4, 2021
@msheppar
Copy link
Author

@msheppar msheppar commented Sep 7, 2021

/integrate

@openjdk
Copy link

@openjdk openjdk bot commented Sep 7, 2021

Going to push as commit d6d6c06.
Since your change was applied there have been 43 commits pushed to the master branch:

  • 708407e: 8273168: Remove superfluous use of boxing in java.desktop
  • 270a9d9: 8273043: [TEST_BUG] Automate NimbusJTreeSelTextColor.java
  • df05b4d: 8271923: [macos] the text color on the selected disabled tabbed pane button remains white making text unreadable
  • 2abf3b3: 8271340: Crash PhaseIdealLoop::clone_outer_loop
  • 99fb12c: 8271341: Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java
  • 041ae20: 8268558: [TESTBUG] Case 2 in TestP11KeyFactoryGetRSAKeySpec is skipped
  • 377b186: 8269119: C2: Avoid redundant memory barriers in Unsafe.copyMemory0 intrinsic
  • 70157c7: 8272135: jshell: Method cannot use its overloaded version
  • 5caa77b: 8263364: sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java wedged in getInputStream
  • a522d6b: 8273376: Zero: Disable vtable/itableStub gtests
  • ... and 33 more: https://git.openjdk.java.net/jdk/compare/632a7e0885596b70d34be319bd09d4df8e151d12...master

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot closed this Sep 7, 2021
@openjdk openjdk bot added integrated and removed ready rfr labels Sep 7, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Sep 7, 2021

@msheppar Pushed as commit d6d6c06.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core-libs integrated nio
2 participants