Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4298809

java.net.SocketException: Interrupted system call

XMLWordPrintable

    • 1.2.2
    • x86
    • linux
    • Verified



      Name: mc57594 Date: 12/12/99


      java version "1.2.2"
      Classic VM (build 1.2.2-I, green threads, javacomp)


      This is a duplicate of a problem fixed by the Blackdown Organization
      in their JDK 1.2.2 RC 3 release for Linux. Please see a complete
      description at:

        Bug Id 1578, "java.net.SocketException: Interrupted system call"
        http://www.blackdown.org/cgi-bin/jdk/incoming?id=1578

      That description includes a test case with source. For information
      on reproducing the problem with VolanoMark, see Table 2 and the
      corresponding run rules at:

        The Volano Report
        http://www.volano.com/report.html

      The people at Blackdown were unable to reproduce the problem, but
      they did fix it for me. It was a matter of retrying all interrupted
      network operations even for the timeout code.
      =================================================
      Date: Fri, 3 Dec 1999 21:44:29 -0700 (MST)
        From: ###@###.###
        To: ###@###.###
        Subject: java.net.SocketException: Interrupted system call

        Full_Name: John Neffenger
        JDK_Version: 1.2.2_RC2
        JDK_Arch: i386 (x86)
        Linux_Dist: RedHat
        Linux_Dist_Ver: 6.1
        Libc_Ver: 2.1.2
        Ld_Ver: 2.1.2
        Dyn_Java: no
        Toolkit: Motif
        Toolkit_Ver:
        Bug_Example: http://
        Submission from: 216.102.197.168 (216.102.197.168)


        I'm getting "java.net.SocketException: Interrupted system call" when
        running network tests on JDK 1.2.1 RC2 on Red Hat Linux 6.1 when all of
        the following are true:

          - There is more than one concurrent network connection.
          - The test runs over a real network, rather than in loopback.
          - The test runs with green threads, rather than native threads.
          - And the server sets a non-zero socket timeout on each connection.

        The problem is easily recreated on my network by running the following
        two programs -- a multithreaded echo server and client test driver:

          http://www.volano.com/temp/Client.java
          http://www.volano.com/temp/Server.java

        Run the server using JDK 1.2.2 RC2 on Linux with:

          java -green Server

        Run the client on another machine on the same network. The test works
        when run with one network connection:

          java Client -h red.volano.com -c 1 -m 100

        but fails with two network connections:

          java Client -h red.volano.com -c 2 -m 100

        The "-h" option is the host name of the server, the "-c" option is the
        number of clients to create, and the "-m" option is the number of
        messages for each client to send and receive.

        The test fails on the server side with the error:

          Error in server (java.net.SocketException: Interrupted system call).

        This test runs fine under Blackdown JDK 1.1.7 Version 3 on Linux, and it
        runs fine if you run it in loopback or with native threads or without a
        socket timeout on each connection. Because of the exception, JDK 1.2.2
        RC2 fails to run the VolanoMark network scalability test.


        Reply 1

        Resend

        From: Kevin B. Hendricks <###@###.###>
        To: ###@###.###
        Subject: Re: java.net.SocketException: Interrupted system call (PR#1578)
        Date: Sun Dec 5 09:17:41 1999

        Hi,

        I have been unable to recreate your probem report (even using two machines (but
        my second machine running the client was a Sun box). Juergen had similar
        troubles trying to recereate the bug you reported.

        I went back to the green threads code and made sure any call to select or poll
        was manually restarted if it returned with -1 and errno==EINTR (especially the
        one in sysTimeout which I think is the culprit).

        It seems on Linux, that both select and poll system calls can be interrupted and
        return even with SA_RESTART set on all signal handlers.

        This should fix your problem. This fix should appear in RC3 any day now.

        Thanks for your bug report.

        Kevin

        Followup 1

        Compose reply
        Download message

        Date: Sun, 05 Dec 1999 09:17:48 -0800
        From: John Neffenger <###@###.###>
        To: "Kevin B. Hendricks" <###@###.###>
        CC: Volano Support <###@###.###>
        Subject: Re: java.net.SocketException: Interrupted system call (PR#1578)

        Hi Kevin,

        Thanks for looking into it.

        > I have been unable to recreate your probem report (even using two machines
        (but
        > my second machine running the client was a Sun box). Juergen had similar
        > troubles trying to recereate the bug you reported.

        I'm using a dual SPARC Solaris 7 box for the client as well. The
        problem occurs for me on two different Linux machines. In fact, I've
        seen the problem in every JDK 1.2 release.

        Perhaps you have a faster network or machine, and you're not getting the
        concurrent connections. I'm running the server side on a 200 MHz
        Pentium Pro. You might try starting 100 simultaneous clients (or more)
        instead of just 2:

          java Client -h red.volano.com -c 100 -m 100

        > This should fix your problem. This fix should appear in RC3 any day now.

        Thanks again,
        John Neffenger

      (Review ID: 98807)
      ======================================================================

      Name: rlT66838 Date: 12/15/99


      java version "1.2.2"
      Classic VM (build 1.2.2-I, green threads, javacomp)


      This is a duplicate of a problem fixed by the Blackdown Organization in their
      JDK 1.2.2 RC 3.9 (not yet released). Please see a complete description at:

        Bug Id 1604, "Segmentation violation with 1020 timeout sockets"
        http://www.blackdown.org/cgi-bin/jdk/incoming?id=1604

      I'm unable to reproduce the bug on Sun's JDK 1.2.2 RC1 since I hit this bug
      first:

        Bug Id 4298809, "java.net.SocketException: Interrupted system call"
        http://developer.java.sun.com/developer/bugParade/bugs/4298809.html

      but since the Sun JDK is built off the Blackdown files, I assume Sun will hit
      this bug as soon as Bug Id 4298809 is fixed (as Blackdown did). I'm just hoping
      Sun can fix both bugs at the same time for the next release candidate.

      For information on reproducing the problem with VolanoMark, see Table 2 and the
      corresponding run rules at:

        The Volano Report
        http://www.volano.com/report.html
      (Review ID: 98997)
      ======================================================================

            hongzh Hong Zhang
            mchamnessunw Mark Chamness (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: