[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-serviceability-dev
Subject: Re: RFR: JDK-8031445: Attach on windows can fail with java.io.IOException: All pipe instances are bu
From: Chris Plummer <chris.plummer () oracle ! com>
Date: 2018-03-23 20:15:44
Message-ID: fd145ce9-5eee-011b-d9ac-c7789c3dbbaf () oracle ! com
[Download RAW message or body]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Yes, I can push it for you. One thing
I'd like to see is a comment explaining why the IOException may
have occurred.<br>
<br>
thanks,<br>
<br>
Chris<br>
<br>
On 3/23/18 11:33 AM, Gary Adams wrote:<br>
</div>
<blockquote type="cite" cite="mid:5AB54893.5040301@oracle.com">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
I finally found some time for some additional testing with the fix
below.<br>
I could not force the attach error with windows-x64, but did
finally <br>
see some failures with windows-x86.<br>
<br>
- I plan to include the ProblemList.txt change for JDK-8057732,<br>
because this change removed the timeout observed with that
test.<br>
<br>
- JDK-8037274 provided an interim change to include
GetLastError()<br>
in the exception message. That explains why sightings were
reporting<br>
different exception messages.<br>
<br>
Chris, if you're OK sponsoring this push, I'll send you a cleaned
up rebased<br>
patch on Mon.<br>
<br>
On 2/7/18, 3:34 PM, <a class="moz-txt-link-abbreviated"
href="mailto:gary.adams@oracle.com" \
moz-do-not-send="true">gary.adams@oracle.com</a> wrote:
<blockquote
cite="mid:d6232a09-28ea-530f-dafb-2fccd523178e@oracle.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8">
<div class="moz-cite-prefix">On 2/7/18 3:19 PM, <a
moz-do-not-send="true" class="moz-txt-link-abbreviated"
href="mailto:gary.adams@oracle.com">gary.adams@oracle.com</a>
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:4eb6ff53-0b9a-e4fb-60d1-1a5e0b82c10c@oracle.com">
<meta http-equiv="content-type" content="text/html;
charset=utf-8">
<pre>Hi Gary,
I don't think you intended to include the ProblemList.txt changes in
your webrev.</pre>
</blockquote>
You are right. I was also looking at JDK-8057732 in the same
workspace.<br>
I believe there may have been a windows-x86 issue that may no
longer <br>
be an issue.<br>
<blockquote type="cite"
cite="mid:4eb6ff53-0b9a-e4fb-60d1-1a5e0b82c10c@oracle.com">
<pre>I think your changes address the "java.io.IOException: CreateNamedPipe \
failed" failures if a name collision is the cause. This failure mode was
extremely rare (only 3 sightings), and if due to a collision, a single
retry should suffice in making it not appear again in our lifetime.
However, I don't think this addresses the "java.io.IOException: All pipe
instances are busy" issue, which seems to the more common failures mode,
although also very rare. Have you looked into its potential cause?</pre>
</blockquote>
Unfortunately, we no longer have the stack traces from the
earlier test failures.<br>
The one stack trace we do have comes from this same native call
to createNamedPipe.<br>
<br>
I have not been able to reproduce any of the original reported
errors, yet.<br>
If this is a question of a heavily loaded system contending for
a limit number <br>
of named pipes, the retry should address a number of those race
conditions.<br>
We could also introduce a delay before the retry in case an
older process is exiting<br>
and not getting enough cycles to complete.<br>
<br>
Since we're talking about attach operations, I don't think we'll
see this <br>
issue failing in real life situations.
<blockquote type="cite"
cite="mid:4eb6ff53-0b9a-e4fb-60d1-1a5e0b82c10c@oracle.com">
<pre>thanks,
Chris
On 2/7/18 8:51 AM, <a \
href="http://mail.openjdk.java.net/mailman/listinfo/serviceability-dev" \
moz-do-not-send="true">gary.adams at oracle.com</a> wrote: ><i> The IOException \
that is observed when creating a new named pipe </i>><i> when the pipe already \
exists and is in use, recommends to retry </i>><i> the operation later. Since we \
are already using a random number </i>><i> to generate a unique pipe name, it \
makes sense to simply </i>><i> retry the operation with a new pipe name.
</i>><i>
</i>><i> Here is a proposed fix. Testing in progress.
</i>><i>
</i>><i> Issue: <a href="https://bugs.openjdk.java.net/browse/JDK-8031445" \
moz-do-not-send="true">https://bugs.openjdk.java.net/browse/JDK-8031445</a> \
</i>><i> Webrev: <a href="http://cr.openjdk.java.net/%7Egadams/8031445/" \
moz-do-not-send="true">http://cr.openjdk.java.net/~gadams/8031445/</a> </i>><i>
</i>><i>
</i></pre>
</blockquote>
<p><br>
</p>
</blockquote>
<br>
</blockquote>
<p><br>
</p>
</body>
</html>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic