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

8241806: The sun/awt/shell/FileSystemViewMemoryLeak.java is unstable #923

Closed
wants to merge 2 commits into from

Conversation

@mrserb
Copy link
Member

@mrserb mrserb commented Oct 29, 2020

The test may work up to 15 minutes on some systems.
The solution is to limit the time execution to 90 seconds.


Progress

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

Testing

Linux x64 Linux x86 Windows x64 macOS x64
Build ✔️ (5/5 passed) ✔️ (2/2 passed) ✔️ (2/2 passed) ✔️ (2/2 passed)
Test (tier1) ✔️ (9/9 passed) ✔️ (9/9 passed) ✔️ (9/9 passed) ✔️ (9/9 passed)

Issue

  • JDK-8241806: The sun/awt/shell/FileSystemViewMemoryLeak.java is unstable

Reviewers

Download

$ git fetch https://git.openjdk.java.net/jdk pull/923/head:pull/923
$ git checkout pull/923

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Oct 29, 2020

👋 Welcome back serb! 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.

@openjdk openjdk bot added the rfr label Oct 29, 2020
@openjdk
Copy link

@openjdk openjdk bot commented Oct 29, 2020

@mrserb The following label will be automatically applied to this pull request:

  • awt

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

@openjdk openjdk bot added the awt label Oct 29, 2020
@mlbridge
Copy link

@mlbridge mlbridge bot commented Oct 29, 2020

Webrevs

@openjdk
Copy link

@openjdk openjdk bot commented Nov 3, 2020

@mrserb 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:

8241806: The sun/awt/shell/FileSystemViewMemoryLeak.java is unstable

Reviewed-by: jdv, aivanov

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 146 new commits pushed to the master branch:

  • fc894ab: 8255955: Shenandoah: Only STW GC should process concurrent roots at pauses
  • d6f0940: 8255913: Decrease number of iterations in TestMaxCachedBufferSize
  • 1b59595: 8255914: [AOT] Using AOT flag should give warning when AOT is not included in build
  • a50fdd5: 8219014: (bf) Add absolute bulk put methods which accept a source Buffer
  • 3a02578: 8255452: Doing GC during JVMTI MethodExit event posting breaks return oop
  • ba2ff3a: 8250637: UseOSErrorReporting times out (on Mac and Linux)
  • 31918c5: 8255847: Shenandoah: Shenandoah should not mark through weak roots
  • 867a484: 8255214: Unsupported 'valign' attribute for 'th' tag used in j.u.l.LogManager
  • d3c43c2: 8255937: Better cleanup for test/jdk/javax/imageio/stream/StreamFlush.java
  • b65ff60: 8255226: (tz) Upgrade time-zone data to tzdata2020d
  • ... and 136 more: https://git.openjdk.java.net/jdk/compare/caec8d2208fea0ddd4387a4530b4914645482377...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 Nov 3, 2020
@aivanov-jdk
Copy link
Member

@aivanov-jdk aivanov-jdk commented Nov 3, 2020

The test fails if OutOfMemoryError is thrown, right?
Is the reduced execution time enough to catch the original bug?

@mrserb
Copy link
Member Author

@mrserb mrserb commented Nov 3, 2020

The test fails if OutOfMemoryError is thrown, right?
Is the reduced execution time enough to catch the original bug?

It depends on the system, if it is really slow and just a few iterations out of 5000 will be done then the original bug will not be caught. If the system is fast and all 5000 iterations will be done, then the bug will be found.

@aivanov-jdk
Copy link
Member

@aivanov-jdk aivanov-jdk commented Nov 5, 2020

The test fails if OutOfMemoryError is thrown, right?
Is the reduced execution time enough to catch the original bug?

It depends on the system, if it is really slow and just a few iterations out of 5000 will be done then the original bug will not be caught. If the system is fast and all 5000 iterations will be done, then the bug will be found.

I agree with the idea of minimising the time spent to run the test. But the test is useless if it has no time to fail.

I just ran the test on my laptop with 10+22 where the original bug JDK-8175015 isn't fixed. It fails as one would expect. It took about 12 minutes with -Xmx8m (less than 8500 iterations). After reducing the heap size to 4m, the test failed in 3 minutes (less than 2500 iterations).

But the modified test times out after 1.5 minutes and the test does not fail. Thus 90 seconds limit seems too short.

Shall we increase the timeout to 5 minutes at least and reduce the heap size to make the test fail faster. The number of iterations can be reduced as well, say to 10,000.

The test runs quickly on a recent build, it takes less than 10 seconds to perform 50,000 iterations. To be precise, it took 5.5 seconds with -Xmx8m and a little longer around 6 seconds with -Xmx4m. Obviously the run time depends on the hardware and can fluctuate significantly. On the other hand, it does no good if the test always exits by timeout without catching the original bug.

@mrserb
Copy link
Member Author

@mrserb mrserb commented Nov 5, 2020

I have increase timeout, but still use the xmx8m, it is the safest value, for the less value the java sometimes cannot be started using some options/configs.

@aivanov-jdk
Copy link
Member

@aivanov-jdk aivanov-jdk commented Nov 5, 2020

I have increase timeout, but still use the xmx8m, it is the safest value, for the less value the java sometimes cannot be started using some options/configs.

Makes sense.

@mrserb
Copy link
Member Author

@mrserb mrserb commented Nov 6, 2020

/integrate

@openjdk openjdk bot closed this Nov 6, 2020
@openjdk openjdk bot added integrated and removed ready rfr labels Nov 6, 2020
@openjdk
Copy link

@openjdk openjdk bot commented Nov 6, 2020

@mrserb Since your change was applied there have been 150 commits pushed to the master branch:

  • 57b98fa: 8255965: LogCompilation: add sort by nmethod code size
  • e42c134: 8255706: The JDWP debug agent unecessarily checks for JVMTI_ERROR_INTERRUPT after calling RawMonitorEnter
  • e66fd6f: 8255756: Disabling logging does unnecessary work
  • 140c162: 8255894: Remove unused StubRoutines::_zero_aligned_words
  • fc894ab: 8255955: Shenandoah: Only STW GC should process concurrent roots at pauses
  • d6f0940: 8255913: Decrease number of iterations in TestMaxCachedBufferSize
  • 1b59595: 8255914: [AOT] Using AOT flag should give warning when AOT is not included in build
  • a50fdd5: 8219014: (bf) Add absolute bulk put methods which accept a source Buffer
  • 3a02578: 8255452: Doing GC during JVMTI MethodExit event posting breaks return oop
  • ba2ff3a: 8250637: UseOSErrorReporting times out (on Mac and Linux)
  • ... and 140 more: https://git.openjdk.java.net/jdk/compare/caec8d2208fea0ddd4387a4530b4914645482377...master

Your commit was automatically rebased without conflicts.

Pushed as commit e730e8b.

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

@mrserb mrserb deleted the JDK-8241806 branch Apr 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
3 participants