You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xindice-users@xml.apache.org by Rohit Mathur <ro...@fnal.gov> on 2006/06/28 23:18:15 UTC

Broken pipe exception

Hello All,

I've run into another problem related to xindice. Its a remote site that 
we dont have access to, but they have sent the error log, which i have 
added below. We have a central monitoring system that accesses various 
xindice databases running on tomcat installations.

I am able to access the web interface of xindice on that site without a 
problem, and have ensured that the request information is available.

but the php rpc call

   $result = xu_rpc_http_concise(
                                array(
                                        'method'        => "run",
                                        'args'          => $params,
                                        'host'          => $host,
                                        'uri'           => $uri,
                                        'port'          => $port
                                )
returns 0 results from this one particular site, and causes the 
exception shown below in that sites tomcat logs.
Any ideas? I tried increasing the timeout since the db has a large 
number of records, but that didnt help.
The parameters to this rpc call are fine.

thanks & regards

Rohit

2006-06-27 22:09:06 StandardWrapperValve[Xindice]: Servlet.service() for 
servlet Xindice threw exception
javax.servlet.ServletException: argh!
    at org.apache.xindice.server.UglyBrowser.doGet(UglyBrowser.java:93)
    at 
org.apache.xindice.server.XindiceServlet.doGet(XindiceServlet.java:82)
    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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
    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.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:2415)
    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:170)
    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.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
    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:223)
    at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
    at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
    at 
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
    at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
    at java.lang.Thread.run(Thread.java:536)
----- Root Cause -----
java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at 
org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:668)
    at 
org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:160)
    at 
org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:523)
    at org.apache.coyote.Response.doWrite(Response.java:524)
    at 
org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:384)
    at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:348)
    at 
org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:411)
    at org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:398)
    at 
org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:110)
    at 
org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:104)
    at org.apache.xindice.server.UglyBrowser.doGet(UglyBrowser.java:90)
    at 
org.apache.xindice.server.XindiceServlet.doGet(XindiceServlet.java:82)
    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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
    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.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:2415)
    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:170)
    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.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
    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:223)
    at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
    at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
    at 
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
    at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
    at java.lang.Thread.run(Thread.java:536)



Re: Broken pipe exception

Posted by Todd Byrne <by...@cns.montana.edu>.
The fix to that exception is in SVN, but the only way to get to that
code is through an HTTP_GET method. The ugly browser is the HTML
database view not XML RPC.

My hunch is that you just need to do a normal PHP open on the URL and
read in the contents of the file to see if the database is still
running. My PHP is a bit rusty otherwise I would give you an example.

If you get the exception in the future its just the xindice not finding
the correct collection: http://localhost:8080/xindice/?/asfd will throw
the exception.

Todd Byrne

Rohit Mathur wrote:
> Hello All,
> 
> I've run into another problem related to xindice. Its a remote site that
> we dont have access to, but they have sent the error log, which i have
> added below. We have a central monitoring system that accesses various
> xindice databases running on tomcat installations.
> 
> I am able to access the web interface of xindice on that site without a
> problem, and have ensured that the request information is available.
> 
> but the php rpc call
> 
>   $result = xu_rpc_http_concise(
>                                array(
>                                        'method'        => "run",
>                                        'args'          => $params,
>                                        'host'          => $host,
>                                        'uri'           => $uri,
>                                        'port'          => $port
>                                )
> returns 0 results from this one particular site, and causes the
> exception shown below in that sites tomcat logs.
> Any ideas? I tried increasing the timeout since the db has a large
> number of records, but that didnt help.
> The parameters to this rpc call are fine.
> 
> thanks & regards
> 
> Rohit
> 
> 2006-06-27 22:09:06 StandardWrapperValve[Xindice]: Servlet.service() for
> servlet Xindice threw exception
> javax.servlet.ServletException: argh!
>    at org.apache.xindice.server.UglyBrowser.doGet(UglyBrowser.java:93)
>    at
> org.apache.xindice.server.XindiceServlet.doGet(XindiceServlet.java:82)
>    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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
> 
>    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.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:2415)
>    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:170)
> 
>    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.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
>    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:223)
>    at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
>    at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
> 
>    at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
>    at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
> 
>    at java.lang.Thread.run(Thread.java:536)
> ----- Root Cause -----
> java.net.SocketException: Broken pipe
>    at java.net.SocketOutputStream.socketWrite0(Native Method)
>    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
>    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
>    at
> org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:668)
> 
>    at
> org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:160)
> 
>    at
> org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:523)
> 
>    at org.apache.coyote.Response.doWrite(Response.java:524)
>    at
> org.apache.coyote.tomcat4.OutputBuffer.realWriteBytes(OutputBuffer.java:384)
> 
>    at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:348)
>    at
> org.apache.coyote.tomcat4.OutputBuffer.writeBytes(OutputBuffer.java:411)
>    at org.apache.coyote.tomcat4.OutputBuffer.write(OutputBuffer.java:398)
>    at
> org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:110)
> 
>    at
> org.apache.coyote.tomcat4.CoyoteOutputStream.write(CoyoteOutputStream.java:104)
> 
>    at org.apache.xindice.server.UglyBrowser.doGet(UglyBrowser.java:90)
>    at
> org.apache.xindice.server.XindiceServlet.doGet(XindiceServlet.java:82)
>    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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
> 
>    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.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:2415)
>    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:170)
> 
>    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.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
>    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:223)
>    at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
>    at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
> 
>    at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
>    at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
> 
>    at java.lang.Thread.run(Thread.java:536)
>