7 Replies Latest reply on Feb 18, 2009 12:59 PM by ejain

    Socket error caused by remote host?

    d-chen

      Hello,

      Can anyone tell me how to fix this error or have ideas about this error?

      2006-06-06 10:19:41,442 ERROR [org.apache.tomcat.util.net.PoolTcpEndpoint] Socket error caused by remote host /129.1.2.9
      java.net.SocketException: Invalid argument
      at java.net.PlainSocketImpl.socketSetOption(Native Method)
      at java.net.PlainSocketImpl.setOption(Unknown Source)
      at java.net.Socket.setTcpNoDelay(Unknown Source)
      at org.apache.tomcat.util.net.PoolTcpEndpoint.setSocketOptions(PoolTcpEndpoint.java:503)
      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:515)
      at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
      at java.lang.Thread.run(Unknown Source)

      Thanks,
      -D

        • 1. Re: Socket error caused by remote host?
          kampmann03

          We are having the same stack getting thrown to our logs.

          We are running:
          -Java 1.5.1_06 on
          -Solaris 8 with
          -Apache 2.0.54 and
          -Mod_jk 2.10 load balancing in front of several
          -JBoss 4.0.2 servers.

          The only helpful information I could find was: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6378870

          This gives a plausible explaination for a root cause. However I'm not sure why our embedded Tomcat would be unable to respond to the inbound requests. Does anyone have any thoughts on what to dig further on? Is there more monitoring we could put in place?

          I can't tell if this is a configuration issue in our environment or if this is a bug in our code.

          Thanks in advance for any help
          -Kam

          • 2. Re: Socket error caused by remote host?
            vvsreddy21

            I am getting below exception on Solaris10 / JBoss403 .

            2006-07-04 12:03:28,915 ERROR [PoolTcpEndpoint] {http-0.0.0.0-8080-5} Socket error caused by remote host /10.65.0.225
            java.net.SocketException: Invalid argument
            at java.net.PlainSocketImpl.socketSetOption(Native Method)
            at java.net.PlainSocketImpl.setOption(PlainSocketImpl.java:264)
            at java.net.Socket.setTcpNoDelay(Socket.java:826)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.setSocketOptions(PoolTcpEndpoint.java:503)
            at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:515)
            at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
            at java.lang.Thread.run(Thread.java:595)

            Can any one know how to resolve this issue, please let me know.
            Thanks in advance

            -Vamsii

            • 3. Re: Socket error caused by remote host?
              ejain

              I see a similar ERROR logged from time to time:

              2008-03-20 14:14:06 -0700 org.apache.tomcat.util.net.PoolTcpEndpoint
               ERROR: Socket error caused by remote host /xxx.xxx.xxx.xxx
              java.net.SocketException: Connection reset
               at java.net.SocketInputStream.read(SocketInputStream.java:168)
               at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)
               at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
               at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:723)
               at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1030)
               at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1057)
               at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1041)
               at org.apache.tomcat.util.net.jsse.JSSESocketFactory.handshake(JSSESocketFactory.java:119)
               at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:520)
               at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
               at java.lang.Thread.run(Thread.java:595)


              Guess this is due to clients aborting the connection, so it's nothing I need to be concerned about. But how do I suppress these ERROR messages? I've added the following to the log4j.conf but no luck:

              <category name="org.apache.tomcat.util.net.PoolTcpEndpoint">
               <priority value="SEVERE"/>
              </category>



              • 4. Re: Socket error caused by remote host?
                brian.stansberry

                Perhaps "FATAL" instead of "SEVERE". "SEVERE" is a java.util.logging level.

                • 5. Re: Socket error caused by remote host?
                  ejain

                   

                  Perhaps "FATAL" instead of "SEVERE". "SEVERE" is a java.util.logging level.


                  Oh... Thanks!


                  • 6. Re: Socket error caused by remote host?

                    This is a SUN bug[1].

                    "The issue here is not that the socket has been closed but rather than the peer has reset the connection. On Solaris the setsockopt(3SOCKET) call returns EINVAL when the connection is reset.

                    -Mark

                    [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6378870

                    • 7. Re: Socket error caused by remote host?
                      ejain

                      Strange: I'm seeing this error on Linux as well.