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

Interrupted system call exception

XMLWordPrintable

    • sparc
    • solaris_7

      RMI and JDBC calls produce Exceptions with a "Interrupted system call" description.

      there is no way to systematically reproduce this problem, but it happens between 1% an 2% of the total calls the server does.

      RMI calls report the following trace:

       java.rmi.UnmarshalException: Error unmarshaling return header;
       nested exception is:
           java.io.InterruptedIOException: Interrupted system call
           at java.net.SocketInputStream.socketRead(Native Method)
           at java.net.SocketInputStream.socketRead(Compiled Code)
           at java.net.SocketInputStream.read(Compiled Code)
           at java.io.BufferedInputStream.fill(Compiled Code)
           at java.io.BufferedInputStream.read(Compiled Code)
           at java.io.DataInputStream.readByte(Compiled Code)
           at sun.rmi.transport.StreamRemoteCall.executeCall(Compiled Code)
           at sun.rmi.server.UnicastRef.invoke(Compiled Code)
           at esit.esgdwh.EsidImpl_Stub.getESIDContact(Compiled Code)

      JDBC calls report the following problem (the Oracle driver being used is 8.1.6 for jdk1.1):

       java.sql.SQLException: Interrupted system call
           at java.lang.Throwable.fillInStackTrace(Native Method)
           at java.lang.Throwable.fillInStackTrace(Compiled Code)
           at java.lang.Throwable.<init>(Compiled Code)
           at java.lang.Exception.<init>(Compiled Code)
           at java.sql.SQLException.<init>(SQLException.java:43)
           at oracle.jdbc.dbaccess.DBError.check_error(DBError.java)
           at oracle.jdbc.driver.OracleStatement.doExecuteQuery(Compiled Code)
           at oracle.jdbc.driver.OracleStatement.doExecute(Compiled Code)
           at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(Compiled Code)
           at oracle.jdbc.driver.OracleStatement.executeQuery(Compiled Code)

      this problem happens in solaris production releases of jdks 1.1.x and 1.2.x.

      the problem has been observed in the following versions: 1.1.6, 1.2.2_03, 1.2.2_05

      alejandro.abdelnur@eng 2000-03-13

      adding the following as reference a bugtraq was out of the loop (and it's complaining with automatic emails).

      a few email messages have been exchanged regarding this bug with the javasoft engineers:

      ###@###.### wrote:

      > Does this occur on green threads or native threads? Do you have code
      that you can include that will throw the exception 1% to 2% of the
      time? What leads you to believe this is a problem in java.io? Does the
      JDBC failure occur while communicating over sockets?

      michael,

      we are using native threads.

      i've just spoken with jeff gillings (he is being CCed), he say it may
      be kind of difficult to create a simple program that reproduces the
      problem. but he said it would be possible to add to the server some
      tracing code (where the exceptions happen) that could
      help you diagnostic and identify the problem.

      please let us knows if this will work for your and how do you want to
      proceed.

      at the end of this message i've included a few messages andrew bennett
      and i have exchanged regarding this bug.
      he is suggesting to open 2 bugs one for rmi and the other for JDBC,
      i'll be doing that and make both reference to this one (IMHO the
      problem is at much lower level than RMI and JDBC, within the native
      piece of the JVM).

      regards.

      alejandro.

      -----------------------------------------------------------
      Subject:
              Re: BugId 4319848 : (P1/S2) New *Hotbug* Created,
                   Please Evaluate
              Date:
                   Wed, 08 Mar 2000 17:32:21 -0800
              From:
                   ###@###.###
       Organization:
                   Sun Microsystems
                To:
                   Alejandro Abdelnur <###@###.###>
        References:
                   1 , 2 , 3

      Greetings

      The java/runtime category is for VM specific bugs. You may want
      to
      break out your bug into two - submitting once against RMI, the
      other
      against JDBC, as they may be separate errors, but look the same.
      Chances are the classes that are throwing the exception both
      throw
      exceptions that have the same message. Since JDBC and RMI both
      use
      socket operations, it's probably a dupe of any of these bugs:
      4032593,
      4298808, or 4304614. It looks like the message "Interrupted
      system
      call" is an operating system message that's bubbling up from
      some
      operation.

      From the two stack traces, I'd have to say that RMI isn't dying
      right
      off, but it happens during the reading of the socket, and thus,
      it can't
      unmarshall the stream that's getting returned.

      The JDBC call probably dies in the Oracle JDBC driver during
      .doExecuteQuery(), which gets the message, and then calls
      .check_error(), and then bubbles up the chain.


      Andrew


      Alejandro Abdelnur wrote:
      >
      > andrew,
      >
      > well, i guess selecting io_classes may have been a mistake,
      i've put that because the stack trace of the rmi call exception
      where
      > io classes are directly involved.
      >
      > may be a better subcategory, as the exception appears to come
      always from native code, would be runtime (or core?, does that
      > category exist?).
      >
      > if you feel there is a better suited category, please change
      the current selection, if you engineers think there isn't
      enough
      > information to go forward please let us know and we'll try to
      provide the required/missing information to your team.
      >
      > thxs for taking care of this.
      >
      > regards.
      >
      > alejandro.
      >
      >
      > > Greetings
      > >
      > > This is probably going to get marked incomplete by one of my
      engineers
      > > when they get around to it. What is the IO bug that's
      causing this that
      > > made you choose the classes_io subcategory? More often than
      not, RMI
      > > and JDBC are throwing that exception, probably related to
      the
      > > classes_net bug listed in the "See also" secton.
      > >
      > > Thanks
      > >

            Unassigned Unassigned
            duke J. Duke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: