You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by VERES ZOLTAN <zo...@albacomp.hu> on 2010/07/27 12:52:31 UTC

tomcat 6.0.18 stops on Suse Linux Enterprise 10

Hi All,


I have a serious problem with tomcat on linux.
Tomcat often stops with the error "Connection refused".
Clients can not connect to the server and even the tomcat default page can not be displayed.
When this error occurs, one of the following two JAVA processes has 200% CPU load.
But I'm not sure this causes the problem.

/usr/java/jre1.6.0_10/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager.

/usr/java/jre1.6.0_10/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties.

If I terminate the JAVA process listed above with kill -9, and restart Tomcat with catalina.sh start, it works again for a while. After 10 minutes, it stops again, but this working period can be hours.

I'm not sure that JAVA process causes the problem all the time, because I have seen the 200% CPU load and tomcat worked well. 
Moreover I have seen the "connection refused" and there was no 200% CPU load.

I have found the following log items in catalina.log:
But there is no other program listening on TC port 8181...

2010.07.23. 12:35:26 org.apache.coyote.http11.Http11Protocol init
SEVERE: Error initializing endpoint
java.net.BindException: Address already in use<null>:8181
	at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:502)
	at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:176)
	at org.apache.catalina.connector.Connector.initialize(Connector.java:1058)
	at org.apache.catalina.core.StandardService.initialize(StandardService.java:677)
	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:530)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:550)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
2010.07.23. 12:35:26 org.apache.catalina.startup.Catalina load
SEVERE: Catalina.start
LifecycleException:  Protocol handler initialization failed: java.net.BindException: Address already in use<null>:8181
	at org.apache.catalina.connector.Connector.initialize(Connector.java:1060)
	at org.apache.catalina.core.StandardService.initialize(StandardService.java:677)
	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:795)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:530)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:550)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
2010.07.23. 12:35:26 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1023 ms






Is it possible, that I have to increase the "maxThreads" or "acceptCount" tomcat parameters, which control the concurrent access to the tomcat server?

Or can an update to 6.0.20-26-28 solve this problem?

Software versions:
OS: Suse Linux Enterprise 10
Tomcat: 6.0.18
JAVA JRE: 1.6.0_10-b33

 
I would be grateful for any idea.

Thanks
Zoltan


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


RE: tomcat 6.0.18 stops on Suse Linux Enterprise 10

Posted by VERES ZOLTAN <zo...@albacomp.hu>.
Hi Mark,

Thank you very much for your help.

"Does the process actually terminate? Or when you write "stops" do you
mean "stops accepting connections"."

The tomcat java process is running, but doesn't respond to requests.


"Are those really two separate processes? That would suggest multiple
Tomcat instances."

Sorry for my mistakable description. There is only one tomcat java process at a time.

You were right. Increasing "maxThreads" or "acceptCount" parameters didn't solve the problem.

I have updated java to JDK 1.6.0_21 and tomcat to 6.0.26, but the not responding state still occurs...

The situations are the followings.
Case1: when I issue the 'catalina.sh start' command the tomcat java process immediately loads the CPU up to 200%

Case2: catalina start is OK, but when I click on the 'Tomcat manager' link on the tomcat default page, situation is the same, CPU 200%

Case3: everything is OK, but after a few hours or days problem occurs

When the problem occurs, http clients get a 'Time out or connection refused' message.
If I wait 30 or 35 minutes, the not responding state ends and TC works fine again.

When I issue the kill -3 to get a dump, jvm can not write it immediately into catalina.out, I can find it when TC works again. I have attached this dump file.

I have issued netstat -an command, results are attached.
There are lot of CLOSE_WAIT states.


Please help.

Regards

Zoltan


-----Original Message-----
From: Mark Thomas [mailto:markt@apache.org] 
Sent: Tuesday, July 27, 2010 7:21 PM
To: Tomcat Users List
Subject: Re: tomcat 6.0.18 stops on Suse Linux Enterprise 10

On 27/07/2010 11:52, VERES ZOLTAN wrote:
> Hi All,
> 
> I have a serious problem with tomcat on linux.
> Tomcat often stops with the error "Connection refused".

Does the process actually terminate? Or when you write "stops" do you
mean "stops accepting connections".

> Clients can not connect to the server and even the tomcat default page can not be displayed.
> When this error occurs, one of the following two JAVA processes has 200% CPU load.
> But I'm not sure this causes the problem.
> 
> /usr/java/jre1.6.0_10/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager.
> 
> /usr/java/jre1.6.0_10/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties.

Are those really two separate processes? That would suggest multiple
Tomcat instances.

> If I terminate the JAVA process listed above with kill -9, and restart Tomcat with catalina.sh start, it works again for a while. After 10 minutes, it stops again, but this working period can be hours.

Don't do that.

When the problem occurs, take 3 thread dumps, each 10 seconds apart and
compare them. That will tell you what the Tomcat instance is doing.

> I have found the following log items in catalina.log:
> But there is no other program listening on TC port 8181...
> 
> 2010.07.23. 12:35:26 org.apache.coyote.http11.Http11Protocol init
> SEVERE: Error initializing endpoint
> java.net.BindException: Address already in use<null>:8181

That suggests a Tomcat process that has not been fully shutdown is still
running.

> Is it possible, that I have to increase the "maxThreads" or "acceptCount" tomcat parameters, which control the concurrent access to the tomcat server?

Anything is possible, but neither of those is likely.

> Or can an update to 6.0.20-26-28 solve this problem?

Unlikely. Although you should upgrade to 6.0.29 for the recent security fix.

> Software versions:
> OS: Suse Linux Enterprise 10
> Tomcat: 6.0.18
> JAVA JRE: 1.6.0_10-b33

And I'd upgrade the JVm too.

> I would be grateful for any idea.

Looks like an application issue to me. Take the thread dumps and check
the logs.

Mark



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: tomcat 6.0.18 stops on Suse Linux Enterprise 10

Posted by Mark Thomas <ma...@apache.org>.
On 27/07/2010 11:52, VERES ZOLTAN wrote:
> Hi All,
> 
> I have a serious problem with tomcat on linux.
> Tomcat often stops with the error "Connection refused".

Does the process actually terminate? Or when you write "stops" do you
mean "stops accepting connections".

> Clients can not connect to the server and even the tomcat default page can not be displayed.
> When this error occurs, one of the following two JAVA processes has 200% CPU load.
> But I'm not sure this causes the problem.
> 
> /usr/java/jre1.6.0_10/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager.
> 
> /usr/java/jre1.6.0_10/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties.

Are those really two separate processes? That would suggest multiple
Tomcat instances.

> If I terminate the JAVA process listed above with kill -9, and restart Tomcat with catalina.sh start, it works again for a while. After 10 minutes, it stops again, but this working period can be hours.

Don't do that.

When the problem occurs, take 3 thread dumps, each 10 seconds apart and
compare them. That will tell you what the Tomcat instance is doing.

> I have found the following log items in catalina.log:
> But there is no other program listening on TC port 8181...
> 
> 2010.07.23. 12:35:26 org.apache.coyote.http11.Http11Protocol init
> SEVERE: Error initializing endpoint
> java.net.BindException: Address already in use<null>:8181

That suggests a Tomcat process that has not been fully shutdown is still
running.

> Is it possible, that I have to increase the "maxThreads" or "acceptCount" tomcat parameters, which control the concurrent access to the tomcat server?

Anything is possible, but neither of those is likely.

> Or can an update to 6.0.20-26-28 solve this problem?

Unlikely. Although you should upgrade to 6.0.29 for the recent security fix.

> Software versions:
> OS: Suse Linux Enterprise 10
> Tomcat: 6.0.18
> JAVA JRE: 1.6.0_10-b33

And I'd upgrade the JVm too.

> I would be grateful for any idea.

Looks like an application issue to me. Take the thread dumps and check
the logs.

Mark



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org