serviceability-dev@... was included in this email by mistake.
This was only supposed to go to Patricio since the Mach5 links
won't work outside of Oracle. Sigh...

Sorry about the noise folks!

Dan


On 3/18/20 5:37 PM, Daniel D. Daugherty wrote:
Patricio,

This is a separate follow up about the jshell tests. Since I have been
tracking these as part of my GK work and filed a number of those bugs,
I figured I would help analyze them...

JDK-8209848 test/langtools/jdk/jshell tests failed with Accept timed out
https://bugs.openjdk.java.net/browse/JDK-8209848

    This bug has been linked to sightings on Linux-X64, SPARC and Win-X64.
    While this fix should reduce the number of sightings on Win-X64, it
    won't help for Linux-X64 or SPARC.

https://mach5.us.oracle.com/mdash/bugHistory?search=bugId%3AJDK-8209848

JDK-8184445 JShell tests: fail intermittently if tests are run in high concurrent mode.
https://bugs.openjdk.java.net/browse/JDK-8184445

    The tests you mention below are also mentioned in this bug.

    This bug has been linked to sightings on Linux-X64, OSX, SPARC and
    Win-X64. While this fix should reduce the number of sightings on
    Win-X64, it won't help for Linux-X64, OSX, or SPARC.

https://mach5.us.oracle.com/mdash/bugHistory?search=bugId%3AJDK-8184445

JDK-8173079 JShell test: jdk/jshell/UserJdiUserRemoteTest.java fails intermittently
https://bugs.openjdk.java.net/browse/JDK-8173079

    I have high hopes that this bug (on Win*) will be addressed by
    this fix (8240902) because this test uses JDI...

    Most of the sightings for this bug are for Win-X64 and few SPARC.
    The bug also mentions Linux sightings, but I don't see any current
    links for Linux:

https://mach5.us.oracle.com/mdash/bugHistory?search=bugId%3AJDK-8173079

    So this fix should help with Win* sightings, but not Linux or SPARC.

JDK-8190912 jdk/jshell/JdiHangingListenExecutionControlTest.java failed with
            timeout waiting for connection
https://bugs.openjdk.java.net/browse/JDK-8190912

    I have high hopes that this bug (on Win*) will be addressed by
    this fix (8240902) because this test uses JDI...

    Most of the sightings for this bug are for Win-X64; there is one
    Linux and one OSX.

https://mach5.us.oracle.com/mdash/bugHistory?search=bugId%3AJDK-8190912

    So this fix should help with Win* sightings, but not Linux or OSX.

JDK-8207166 langtools/jdk/jshell/JdiHangingLaunchExecutionControlTest.java
https://bugs.openjdk.java.net/browse/JDK-8207166

    I have high hopes that this bug will be addressed by this fix
    (8240902) because this test uses JDI...

    The one linked sighting with platform info is for Win-X64.

https://mach5.us.oracle.com/mdash/bugHistory?search=bugId%3AJDK-8207166

JDK-8235780 jdk/jshell/FailOverExecutionControlDyingLaunchTest.java fails during setup
https://bugs.openjdk.java.net/browse/JDK-8235780

    I have high hopes that this bug (on Win*) will be addressed by
    this fix (8240902) because this test uses JDI...

    This bug has been linked to sightings on Linux-X64 and Win-X64.
    While this fix should reduce the number of sightings on Win-X64,
    it won't help for Linux-X64.

https://mach5.us.oracle.com/mdash/bugHistory?search=bugId%3AJDK-8235780

JDK-8239930 jdk/jshell/UserJdiUserRemoteTest.java fails due to agentvm mode timeout
https://bugs.openjdk.java.net/browse/JDK-8239930

    I have high hopes that this bug will be addressed by this fix
    (8240902) because this test uses JDI...

    Both sightings linked to this bug are for Win-X64:

https://mach5.us.oracle.com/mdash/bugHistory?search=bugId%3AJDK-8239930

JDK-8240531 jshell/FailOverExecutionControlDyingLaunchTest.java fails due to agentvm mode timeout
https://bugs.openjdk.java.net/browse/JDK-8240531

    I have high hopes that this bug will be addressed by this fix
    (8240902) because this test uses JDI...

    The three sightings linked to this bug are for Win-X64:

https://mach5.us.oracle.com/mdash/bugHistory?search=bugId%3AJDK-8240531


Okay... that's it for the jshell bugs that I track that have been
spotted on Win-X64 (and usually other platforms too).

Dan


On 3/17/20 4:14 PM, Patricio Chilano wrote:
Hi all, ...

Please review the following patch:

Bug: https://bugs.openjdk.java.net/browse/JDK-8240902
Webrev: http://cr.openjdk.java.net/~pchilanomate/8240902/v1/webrev/

Calling closeConnection() on an already created/opened connection includes calls to CloseHandle() on objects that can still be used by other threads. This can lead to either undefined behavior or, as detailed in the bug comments, changes of state of unrelated objects. This issue was found while debugging the reason behind some jshell test failures seen after pushing 8230594. Not as important, but there are also calls to closeStream() from createStream()/openStream() when failing to create/open a stream that will return after executing "CHECK_ERROR(enterMutex(stream, NULL));" without closing the intended resources. Then, calling closeConnection() could assert if the reason of the previous failure was that the stream's mutex failed to be created/opened. These patch aims to address these issues too.

Tested in mach5 with the current baseline, tiers1-3 and several runs of open/test/langtools/:tier1 which includes the jshell tests where this connector is used. I also applied patch http://cr.openjdk.java.net/~pchilanomate/8240902/triggerbug/webrev mentioned in the comments of the bug, on top of the baseline and run the langtool tests with and without this fix. Without the fix running around 30 repetitions already shows failures in tests jdk/jshell/FailOverExecutionControlTest.java and jdk/jshell/FailOverExecutionControlHangingLaunchTest.java. With the fix I run several hundred runs and saw no failures. Let me know if there is any additional testing I should do.

As a side note, I see there are a couple of open issues related with jshell failures (8209848) which could be related to this bug and therefore might be fixed by this patch.

Thanks,
Patricio



Reply via email to