tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chris.kar...@omiris.net
Subject RE: request.getReader() hanging
Date Thu, 06 Jun 2002 08:33:21 GMT
nothing remarkable about cpu usage
killing the httpd daemon produces the following traces

============================================================================
======================
2002-06-06 08:26:52 StandardWrapperValve[jsp]: Servlet.service() for servlet
jsp threw exception
java.io.IOException
        at
org.apache.ajp.RequestHandler.refillReadBuffer(RequestHandler.java:704)
        at org.apache.ajp.RequestHandler.doRead(RequestHandler.java:673)
        at org.apache.ajp.Ajp13.doRead(Ajp13.java:354)
        at
org.apache.ajp.tomcat4.Ajp13InputStream.read(Ajp13InputStream.java:99)
        at java.io.InputStream.read(InputStream.java:91)
        at java.io.InputStreamReader.fill(InputStreamReader.java:173)
        at java.io.InputStreamReader.read(InputStreamReader.java:249)
        at java.io.BufferedReader.fill(BufferedReader.java:139)
        at java.io.BufferedReader.readLine(BufferedReader.java:299)
        at java.io.BufferedReader.readLine(BufferedReader.java:363)
        at org.apache.jsp.sample$jsp._jspService(sample$jsp.java:63)
        at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:202)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:243)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:190)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
        at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2
46)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170
)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
        at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
64)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5
66)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
        at
org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:429)
        at
org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:495)
        at java.lang.Thread.run(Thread.java:484)

2002-06-06 08:26:52 Ajp13Processor[46659][18] process: invoke
java.io.IOException: Broken pipe
        at java.net.SocketOutputStream.socketWrite(Native Method)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:83)
        at org.apache.ajp.Ajp13.send(Ajp13.java:525)
        at org.apache.ajp.RequestHandler.finish(RequestHandler.java:496)
        at org.apache.ajp.Ajp13.finish(Ajp13.java:395)
        at
org.apache.ajp.tomcat4.Ajp13Response.finishResponse(Ajp13Response.java:192)
        at
org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:435)
        at
org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:495)
        at java.lang.Thread.run(Thread.java:484)

chris

-----Original Message-----
From: Rossen Raykov [mailto:Rossen.Raykov@CognicaseUSA.com]
Sent: 05 June 2002 18:12
To: 'Tomcat Users List'
Subject: RE: request.getReader() hanging


What happens with CPU usage?
And what traces to you get if you kill the httpd daemon?


> -----Original Message-----
> From: chris.karema@omiris.net [mailto:chris.karema@omiris.net]
> Sent: Wednesday, June 05, 2002 12:31 PM
> To: tomcat-user@jakarta.apache.org
> Subject: RE: request.getReader() hanging
> 
> 
> i've tried sending modifying the data sent, but the behaviour 
> stays the
> same,
> it does seem to send the request headers through, but only as 
> demonstrated
> by including the following snippet
> before calling request.getReader()
> 
> ==========================================
> Enumeration enum = request.getHeaderNames();
> System.out.println("Content-Length = "+request.getContentLength());
> while(enum.hasMoreElements()){
> 	String header = (String)enum.nextElement();
> 	System.out.println("RequestHeader: "+ header+" =
> "+request.getHeader(header));
> }
> ================================================
> That prints out all the headers, but as soon as it gets to the
> reader.readLine(), it just hangs
> 
> Using solaris 7 btw
> 
> ps - catalina.out shows the following info when ajp13 responds alright
> =======================================================
> [Ajp13] receive:  total read = 230
> [Ajp13] Received 2 JK_AJP13_FORWARD_REQUEST
> [Ajp13] receive()
> [Ajp13] receive:  total read = 6
> [Ajp13] send()
> [Ajp13] send()
> [Ajp13] send()
> [Ajp13] recycle()
> [Ajp13] receiveNextRequest()
> [Ajp13] receive()
> ==============================================================
> ===========
> 
> but when it hangs it only shows this
> ===================================================================
> [Ajp13] receive:  total read = 278
> [Ajp13] Received 2 JK_AJP13_FORWARD_REQUEST
> [Ajp13] receive()
> [Ajp13] receive:  total read = 6
> [Ajp13] send()
> [Ajp13] receive()
> ==============================================================
> ==============
> ====
> 
> 
> -----Original Message-----
> From: Rossen Raykov [mailto:Rossen.Raykov@CognicaseUSA.com]
> Sent: 05 June 2002 17:01
> To: 'Tomcat Users List'
> Cc: 'tomcat-developer@jakarta.apache.org'
> Subject: RE: request.getReader() hanging
> 
> 
> The problem is that apj13 does not serve servlets and JSP 
> pages correct
> also.
> It hangs making useless communications with mod_jk and uses all the
> available CPU power.
> If I kill the corresponding http daemon the following error 
> appears in the
> log:
> 
> Ajp13Processor[25181][0] process: invoke
> java.io.IOException: Broken pipe
>         at java.net.SocketOutputStream.socketWrite(Native Method)
>         at 
> java.net.SocketOutputStream.write(SocketOutputStream.java:83)
>         at org.apache.ajp.Ajp13.send(Ajp13.java:525)
>         at 
> org.apache.ajp.RequestHandler.finish(RequestHandler.java:496)
>         at org.apache.ajp.Ajp13.finish(Ajp13.java:395)
>         at
> org.apache.ajp.tomcat4.Ajp13Response.finishResponse(Ajp13Respo
> nse.java:192)
>         at
> org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:435)
>         at
> org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:495)
>         at java.lang.Thread.run(Thread.java:484)
> 
> That makes me think that the request header processing is braking if
> specific data is send
> (in jakarta-tomcat-connectors-4.0.2-01-src\jk\doc\AJPv13.html there is
> interesting question at the bottom of the document and it may 
> be the key for
> this problem).
> Most probably you have the same problem.
> I'm about to debug it but unfortunately I can not reproduce 
> it on my system.
> 
> Is the problem that you are talking about related to any 
> specific data?
> Shall the data in the quoted example be sufficient to hang 
> the Connector?
> BW what OS you are using?
> 
> Regards,
> Rossen
> 
> 
> **********************************************************************
> This email and any files transmitted with it are confidential and
> intended solely for the use of the individual or entity to whom they
> are addressed. If you have received this email in error please notify
> postmaster@omiris.net.
> 
> This footnote also confirms that this email message has been swept by
> MIMEsweeper for the presence of computer viruses.
> **********************************************************************
> 

--
To unsubscribe, e-mail:
<mailto:tomcat-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail:
<mailto:tomcat-user-help@jakarta.apache.org>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message