3 Replies Latest reply on Apr 28, 2004 10:49 AM by jardia

    Broken Pipe while using netboot

    moondoggie2k

      I'm installing a two server configuration. I've set up a single netboot instance running under JBoss on the first server (let's call this server A)and am trying to start up the second server (server B) using the netboot configuration on server A.

      Once server B starts it's deployment, I'm starting to see Broken Pipe Exceptions on server A. Server B does start up properly (I think!) and I can see it looking for hot deployments on server A periodically because I see the broken pipes continuing to be thrown.

      I'm running the latest JBoss release (3.2.3) on Solaris boxes running Java 1.4.2. The exact exception I'm seeing is:

      ClientAbortException: java.net.SocketException: Broken pipe

      at org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:404)

      at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:428)

      at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:348)

      at org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:432)

      at org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:419)

      at org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:108)

      at org.apache.catalina.servlets.DefaultServlet.copyRange(DefaultServlet.java:1996)

      at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:1745)

      at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:1073)

      at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:506)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)

      at org.jboss.netboot.TrivialDavFilter.doFilter(TrivialDavFilter.java:55)

      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)

      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)

      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)

      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

      at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:220)

      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

      at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)

      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

      at org.jboss.web.tomcat.tc4.statistics.ContainerStatsValve.invoke(ContainerStatsValve.java:76)

      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

      at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)

      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)

      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

      at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)

      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)

      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:65)

      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)

      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)

      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)

      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

      at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:197)

      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)

      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)

      at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605)

      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677)

      at java.lang.Thread.run(Thread.java:534)

      09:16:14,143 INFO [Engine] ErrorDispatcherValve[localhost]: Remote Client Aborted Request, IOException: Broken pipe


      Any suggestions????

      Thanks!

      Damon

        • 1. Re: Broken Pipe while using netboot

          Hello

          I've seem to be having the same problem.
          Have you found the cause of this problem?

          I'm running both on the same server.
          instanceA (jboss/server/netboot) is just the netboot/webDAV server which uses the binding service to remap all the ports.

          instanceB lives inside instanceA as a exploded war deployment (jboss/server/netboot/deploy/netboot.war/jboss/server/netbooted-config). It is the one the netboot client connects to with

          run --netboot=http://localhost:8180/netboot/jboss --configuration=netbooted-config
          


          instanceA/deploy contains:
          jbossweb-tomcat41.sar
          jmx-console.war

          instanceB/deploy contains:
          jbossweb-tomcat41.sar
          jmx-console.war

          My setup is:
          Windows2000
          jdk 1.4.2

          cheers
          oliver

          • 2. Re: Broken Pipe while using netboot

            jboss 3.2.3

            17:32:20,796 ERROR [Engine] StandardWrapperValve[default]: Servlet.service() for servlet default threw exception
            ClientAbortException: java.net.SocketException: Software caused connection abort: socket write error
             at org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:404)
             at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:428)
             at org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:438)
             at org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:419)
             at org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:108)
             at org.apache.catalina.servlets.DefaultServlet.copyRange(DefaultServlet.java:1996)
             at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:1745)
             at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:1073)
             at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java:506)
             at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
             at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
             at org.jboss.netboot.TrivialDavFilter.doFilter(TrivialDavFilter.java:55)
             at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
             at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
             at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
             at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
             at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
             at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
             at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
             at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
             at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:220)
             at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
             at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
             at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
             at org.jboss.web.tomcat.tc4.statistics.ContainerStatsValve.invoke(ContainerStatsValve.java:76)
             at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
             at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
             at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
             at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
             at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
             at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
             at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
             at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
             at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
             at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
             at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:65)
             at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
             at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
             at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
             at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
             at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
             at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
             at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
             at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
             at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
             at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:197)
             at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
             at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
             at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605)
             at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677)


            • 3. Re: Broken Pipe while using netboot

              Also when i try to access the jmx-console on instanceB (the one started using netboot) i get jsp compile errors.
              It is not finding the servlet classes.
              They do exist on the netboot server instanceA
              (jboss\server\netboot\deploy\netboot.war\jboss\server\netbooted-config\lib\javax.servlet.jar)

              Is it supposed to work like this or am i missing something?

              cheers
              oliver

              17:40:53,046 INFO [Engine] Error compiling file: D:\temp\netboot-client\server\netbooted-config\tmp\work\MainEngine\localhost\jmx-console\/index_jsp.java [javac] Compiling 1 source file
               [javac] D:\temp\netboot-client\server\netbooted-config\tmp\work\MainEngine\localhost\jmx-console\index_jsp.java:3: package javax.servlet does not exist
               [javac] import javax.servlet.*;
               [javac] ^
              ...
              17:40:53,062 ERROR [Engine] Exception:
              Compile failed; see the compiler error output for details.
               at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:844)
               at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:682)
               at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:317)
               at org.apache.jasper.compiler.Compiler.compile(Compiler.java:370)
               at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:473)
               at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:190)
               at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
               at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
               at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
               at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
               at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
               at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
               at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
               at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
               at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
               at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
               at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
               at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:220)
               at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
               at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
               at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
               at org.jboss.web.tomcat.tc4.statistics.ContainerStatsValve.invoke(ContainerStatsValve.java:76)
               at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
               at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
               at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
               at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
               at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
               at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
               at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
               at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
               at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
               at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
               at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:65)
               at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
               at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
               at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
               at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
               at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
               at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
               at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
               at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
               at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
               at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:197)
               at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
               at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
               at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605)
               at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677)
               at java.lang.Thread.run(Thread.java:534)