DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=41749>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=41749

           Summary: Tomcat with APR using SSL spins CPU at 100%
           Product: Tomcat 5
           Version: 5.5.20
          Platform: Macintosh
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Connector:Coyote
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: [EMAIL PROTECTED]


I have a problem about once a week with a server which primarily serves HTTPS.
The server continues to respond, but it pegs the CPU. The only remedy is to
restart tomcat. 

The configuration is:

Redhat EL 4.
Dual AMD Operteron Processors.
1GB.
2.6.9-42.0.2.ELsmp
openssl-0.9.7a-43.14
apr 1.2.8
tomcat-native 1.1.8
tomcat 5.5.20
thawte issued certificate.

Here's the stacktrace for the only two threads which are doing any work. All
other threads are waiting.

"http-8443-14" daemon prio=1 tid=0x090c0630 nid=0x1cdc runnable
[0x883fe000..0x883feeb0]
        at org.apache.tomcat.jni.Socket.recvbb(Native Method)
        at
org.apache.coyote.http11.InternalAprInputBuffer.fill(InternalAprInputBuffer.java:817)
        at
org.apache.coyote.http11.InternalAprInputBuffer$SocketInputBuffer.doRead(InternalAprInputBuffer.java:852)
        at
org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:115)
        at
org.apache.coyote.http11.InternalAprInputBuffer.doRead(InternalAprInputBuffer.java:771)
        at org.apache.coyote.Request.doRead(Request.java:418)
        at 
org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:284)
        at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:404)
        at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:299)
        at 
org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:192)
        at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(Unknown Source)
        at sun.nio.cs.StreamDecoder$CharsetSD.implRead(Unknown Source)
        at sun.nio.cs.StreamDecoder.read(Unknown Source)
        - locked <0xa22ee680> (a java.io.InputStreamReader)
        at java.io.InputStreamReader.read(Unknown Source)
        at 
org.apache.xerces.readers.CharReader.fillCurrentChunk(CharReader.java:167)
        at org.apache.xerces.readers.CharReader.<init>(CharReader.java:85)
        at
org.apache.xerces.readers.DefaultReaderFactory.createCharReader(DefaultReaderFactory.java:186)
        at
org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultReaderFactory.java:140)
        at
org.apache.xerces.readers.DefaultEntityHandler.startReadingFromDocument(DefaultEntityHandler.java:493)
        at 
org.apache.xerces.framework.XMLParser.parseSomeSetup(XMLParser.java:314)
        at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1097)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
        at
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
        at 
org.apache.axis.server.AxisServer.initSOAPConstants(AxisServer.java:345)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:279)
        at 
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at 
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at 
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:833)
        at
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
        at 
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1285)
        at java.lang.Thread.run(Unknown Source)

"http-8443-10" daemon prio=1 tid=0x084fac80 nid=0x8d8 runnable
[0x8867d000..0x8867e130]
        at org.apache.tomcat.jni.Socket.recvbb(Native Method)
        at
org.apache.coyote.http11.InternalAprInputBuffer.fill(InternalAprInputBuffer.java:817)
        at
org.apache.coyote.http11.InternalAprInputBuffer$SocketInputBuffer.doRead(InternalAprInputBuffer.java:852)
        at
org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:115)
        at
org.apache.coyote.http11.InternalAprInputBuffer.doRead(InternalAprInputBuffer.java:771)
        at org.apache.coyote.Request.doRead(Request.java:418)
        at 
org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:284)
        at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:404)
        at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:299)
        at 
org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:192)
        at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(Unknown Source)
        at sun.nio.cs.StreamDecoder$CharsetSD.implRead(Unknown Source)
        at sun.nio.cs.StreamDecoder.read(Unknown Source)
        - locked <0x91572498> (a java.io.InputStreamReader)
        at java.io.InputStreamReader.read(Unknown Source)
        at 
org.apache.xerces.readers.CharReader.fillCurrentChunk(CharReader.java:167)
        at org.apache.xerces.readers.CharReader.<init>(CharReader.java:85)
        at
org.apache.xerces.readers.DefaultReaderFactory.createCharReader(DefaultReaderFactory.java:186)
        at
org.apache.xerces.readers.DefaultReaderFactory.createReader(DefaultReaderFactory.java:140)
        at
org.apache.xerces.readers.DefaultEntityHandler.startReadingFromDocument(DefaultEntityHandler.java:493)
        at 
org.apache.xerces.framework.XMLParser.parseSomeSetup(XMLParser.java:314)
        at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1097)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
        at
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
        at 
org.apache.axis.server.AxisServer.initSOAPConstants(AxisServer.java:345)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:279)
        at 
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at 
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at 
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:833)
        at
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
        at 
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1285)
        at java.lang.Thread.run(Unknown Source)

Unfortunately I do not have a core yet to see where we are down on the native 
side. 

I moved to tomcat-native 1.1.8 only after experiencing this problem with 1.1.3.
Originally I had this same issue with tomcat-5.5.17 and whatever tcnative
shipped with 5.5.17

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to