[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: &gt;<i> The IOException \
that is observed when creating a new named pipe </i>&gt;<i> when the pipe already \
exists and is in use, recommends to retry </i>&gt;<i> the operation later. Since we \
are already using a random number </i>&gt;<i> to generate a unique pipe name, it \
makes sense to simply </i>&gt;<i> retry the operation with a new pipe name.
</i>&gt;<i>
</i>&gt;<i> Here is a proposed fix. Testing in progress.
</i>&gt;<i>
</i>&gt;<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>&gt;<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>&gt;<i>
</i>&gt;<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