You are viewing a plain text version of this content. The canonical link for it is here.
Posted to httpclient-users@hc.apache.org by Julius Davies <ju...@cucbc.com> on 2005/01/24 20:28:20 UTC

slowly losing threads (httpclient-2.0.1)

httpclient-2.0.1

I'm running an application that uses "HttpClient.executeMethod()" about
once every 5 minutes.  In 4 weeks of usage the executeMethod() has hung,
completely, on two occasions, requiring a restart of the JVM.

In the thread-dump (kill -3), this looks suspicious to me:

"Thread-8" prio=1 tid=0x081d38b8 nid=0x75ff runnable [bdbff000..bdbff908]
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.net.SocketInputStream.read(SocketInputStream.java:182)
        at java.io.FilterInputStream.read(FilterInputStream.java:66)
        at java.io.PushbackInputStream.read(PushbackInputStream.java:120)
        at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:77)
        at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:103)
        at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1062)
        at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:2163)
        at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1924)
        at org.apache.commons.httpclient.HttpMethodBase.processRequest(HttpMethodBase.java:2634)
        at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1065)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:643)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:497)
        at com.cucbc.ucp.HttpDispatcher.run(HttpDispatcher.java:114)
        at java.lang.Thread.run(Thread.java:534)


Any ideas?


yours,

Julius

---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-user-help@jakarta.apache.org


Re: slowly losing threads (httpclient-2.0.1)

Posted by Julius Davies <ju...@cucbc.com>.
I think I'll try httpclient-2.0.2 for a while.  It doesn't use
"PushbackInputStream" so maybe that will help.

yours,

Julius

On Mon, 2005-24-01 at 11:36 -0800, Julius Davies wrote:
> Some additional notes:
> 
> I'm using "http", not "https".
> 
> Here is the platform info:
> 
> Server Info: Apache Tomcat/5.0.28
> Java Version: 1.4.2
> Java Vendor: Sun Microsystems Inc.
> VM Name: Java HotSpot(TM) Client VM
> VM Version: 1.4.2-b28
> VM Vendor: Sun Microsystems Inc.
> OS Name: Linux
> OS Version: 2.4.17
> OS Architecture: i386
> 
> Thanks!
> 
> Julius
> 
> On Mon, 2005-24-01 at 11:28 -0800, Julius Davies wrote:
> > httpclient-2.0.1
> > 
> > I'm running an application that uses "HttpClient.executeMethod()" about
> > once every 5 minutes.  In 4 weeks of usage the executeMethod() has hung,
> > completely, on two occasions, requiring a restart of the JVM.
> > 
> > In the thread-dump (kill -3), this looks suspicious to me:
> > 
> > "Thread-8" prio=1 tid=0x081d38b8 nid=0x75ff runnable [bdbff000..bdbff908]
> >         at java.net.SocketInputStream.socketRead0(Native Method)
> >         at java.net.SocketInputStream.read(SocketInputStream.java:129)
> >         at java.net.SocketInputStream.read(SocketInputStream.java:182)
> >         at java.io.FilterInputStream.read(FilterInputStream.java:66)
> >         at java.io.PushbackInputStream.read(PushbackInputStream.java:120)
> >         at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:77)
> >         at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:103)
> >         at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1062)
> >         at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:2163)
> >         at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1924)
> >         at org.apache.commons.httpclient.HttpMethodBase.processRequest(HttpMethodBase.java:2634)
> >         at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1065)
> >         at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:643)
> >         at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:497)
> >         at com.cucbc.ucp.HttpDispatcher.run(HttpDispatcher.java:114)
> >         at java.lang.Thread.run(Thread.java:534)
> > 
> > 
> > Any ideas?
> > 
> > 
> > yours,
> > 
> > Julius
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
> > 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-user-help@jakarta.apache.org


Re: slowly losing threads (httpclient-2.0.1)

Posted by Julius Davies <ju...@cucbc.com>.
Some additional notes:

I'm using "http", not "https".

Here is the platform info:

Server Info: Apache Tomcat/5.0.28
Java Version: 1.4.2
Java Vendor: Sun Microsystems Inc.
VM Name: Java HotSpot(TM) Client VM
VM Version: 1.4.2-b28
VM Vendor: Sun Microsystems Inc.
OS Name: Linux
OS Version: 2.4.17
OS Architecture: i386

Thanks!

Julius

On Mon, 2005-24-01 at 11:28 -0800, Julius Davies wrote:
> httpclient-2.0.1
> 
> I'm running an application that uses "HttpClient.executeMethod()" about
> once every 5 minutes.  In 4 weeks of usage the executeMethod() has hung,
> completely, on two occasions, requiring a restart of the JVM.
> 
> In the thread-dump (kill -3), this looks suspicious to me:
> 
> "Thread-8" prio=1 tid=0x081d38b8 nid=0x75ff runnable [bdbff000..bdbff908]
>         at java.net.SocketInputStream.socketRead0(Native Method)
>         at java.net.SocketInputStream.read(SocketInputStream.java:129)
>         at java.net.SocketInputStream.read(SocketInputStream.java:182)
>         at java.io.FilterInputStream.read(FilterInputStream.java:66)
>         at java.io.PushbackInputStream.read(PushbackInputStream.java:120)
>         at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:77)
>         at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:103)
>         at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1062)
>         at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:2163)
>         at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1924)
>         at org.apache.commons.httpclient.HttpMethodBase.processRequest(HttpMethodBase.java:2634)
>         at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1065)
>         at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:643)
>         at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:497)
>         at com.cucbc.ucp.HttpDispatcher.run(HttpDispatcher.java:114)
>         at java.lang.Thread.run(Thread.java:534)
> 
> 
> Any ideas?
> 
> 
> yours,
> 
> Julius
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-user-help@jakarta.apache.org


Re: slowly losing threads (httpclient-2.0.1)

Posted by Oleg Kalnichevski <ol...@apache.org>.
Julius,

As you can see HttpClient blocks in the native socket read call. The
only thing that can possibly explain this behavior is zero (indefinite)
socket read timeout. Make sure you set the socket read timeout to a
positive value

> "Thread-8" prio=1 tid=0x081d38b8 nid=0x75ff runnable 
> [bdbff000..bdbff908]
>         at java.net.SocketInputStream.socketRead0(Native Method)
> 

Hope this helps

Oleg

On Mon, 2005-01-24 at 11:28 -0800, Julius Davies wrote:
> httpclient-2.0.1
> 
> I'm running an application that uses "HttpClient.executeMethod()" about
> once every 5 minutes.  In 4 weeks of usage the executeMethod() has hung,
> completely, on two occasions, requiring a restart of the JVM.
> 
> In the thread-dump (kill -3), this looks suspicious to me:
> 
> "Thread-8" prio=1 tid=0x081d38b8 nid=0x75ff runnable [bdbff000..bdbff908]
>         at java.net.SocketInputStream.socketRead0(Native Method)
>         at java.net.SocketInputStream.read(SocketInputStream.java:129)
>         at java.net.SocketInputStream.read(SocketInputStream.java:182)
>         at java.io.FilterInputStream.read(FilterInputStream.java:66)
>         at java.io.PushbackInputStream.read(PushbackInputStream.java:120)
>         at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:77)
>         at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:103)
>         at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1062)
>         at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:2163)
>         at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1924)
>         at org.apache.commons.httpclient.HttpMethodBase.processRequest(HttpMethodBase.java:2634)
>         at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1065)
>         at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:643)
>         at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:497)
>         at com.cucbc.ucp.HttpDispatcher.run(HttpDispatcher.java:114)
>         at java.lang.Thread.run(Thread.java:534)
> 
> 
> Any ideas?
> 
> 
> yours,
> 
> Julius
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: httpclient-user-help@jakarta.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpclient-user-help@jakarta.apache.org