You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by "Vaidya, Omkar" <ov...@ptc.com> on 2024/01/05 09:45:04 UTC

Regarding Tomcat is creating the zombie processes

Hi Team,

This is regarding like we have one customer issue where on Linux platform, we have configured our IOT-application (Thingworx), which is using Tomcat as a server.
So we are able to identify that even when we remove our application, Tomcat is creating a zombie (defunct) process, which is creating 200+ processes under the process table, which ultimately occupy all the OS resources and the application goes in a hung state. This issue is also reproducible on the Standalone Tomcat server also.
There are two scenarios mentioned below -
1.            If this is relatable to Tomcat can you please suggest any article or documentation so that we can stop zombie process creation, if this is a known issue or there is only way to clear zombie (defunct) process from Processes table of linux.
2.            Also, let us know if this is a Operating System specific issue like as it is reproducible only on Linux, So Linux os is the thing that creates the zombie (defunct) processes?
we are eagerly waiting for the response.

Thanks,
Omkar Vaidya.


Re: Regarding Tomcat is creating the zombie processes

Posted by Olaf Kock <to...@olafkock.de>.
On 05.01.24 14:17, Simon Matter wrote:
>> You will need to provide more details.
>>
>> A default Tomcat install does not create parent and child processes so
>> zombie processes cannot occur.

Often, Java-Threads look like child processes in Linux tools.

I'm assuming that the application creates non-daemon threads, that don't 
terminate when they should.

Tomcat itself only creates connector-related threads according to the 
declaration in server.xml, and optionally database pools (or similar), 
also as declared. Other threads /might/ be created by the (custom) 
application that you deploy, and /they/ might prevent tomcat from ever 
exiting cleanly.

My working hypothesis: The reason for the described behavior is 100% on 
the application side, not at all with Tomcat.

As you state exhaustion of system resources: Depending on your use case, 
you might need to make more system resources available - I've seen cases 
where a server ran out of file-descriptors (or similar - this is very 
vague memory).

>> I'll also note that zombie process do not consume system resources
>> (apart from a process ID).
>>
>> Please provide the steps you used to recreate this issue in a clean
>> installation of a standalone Tomcat instance.
>>
>> Mark
>>
> As an easy start you could provide us with the Tomcat related process tree
> and detailed description of how the lifecycle of Tomcat is managed.
>
I'd recommend analyzing at a thread dump, created before zombification, 
to look at the nature of all of the threads that are running in your 
system before it goes down - or rather before it doesn't go down.

Olaf


Re: Regarding Tomcat is creating the zombie processes

Posted by Simon Matter <si...@invoca.ch>.
> You will need to provide more details.
>
> A default Tomcat install does not create parent and child processes so
> zombie processes cannot occur.
>
> I'll also note that zombie process do not consume system resources
> (apart from a process ID).
>
> Please provide the steps you used to recreate this issue in a clean
> installation of a standalone Tomcat instance.
>
> Mark
>

As an easy start you could provide us with the Tomcat related process tree
and detailed description of how the lifecycle of Tomcat is managed.

Regards,
Simon


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


RE: Regarding Tomcat is creating the zombie processes

Posted by Simon Matter <si...@invoca.ch>.
Hi,

I'm not Mark but still try to provide my help

> Hi Mark,
>
> Thanks for the response. For mainly related to our Thingworx IOT-based
> application, we are using the Tomcat 9.0.62 server. So for that, we are
> getting zombie or defunct processes.
>
> "Please provide the steps you used to recreate this issue in a clean
> installation of a standalone Tomcat instance." -> So for this,  We have
> executed our installer, which itself installs the Tomcat server. So, there
> are no manual steps that we ask the user to execute.

What you were asked is to provide full details about your installer.
That's most likely where we could see why you have this issue.

>
> As per the previous response, "A default Tomcat install does not create
> parent and child processes, so zombie processes cannot occur." -> So we
> have raised a support case with Tomcat to just understand the reason why
> defunct processes are created.

I'm not sure you can "raise a support case with Tomcat" as you do with
commercial companies where you pay for support contracts. At least I was
not aware Apache Tomcat provides such contracts, but I may have missed it.

>
> Is anybody already raised case similar to defunct or related to zombie
> processes. If yes, can you please share which resolution you have provided
> to them to prevent creation of those.

Your best bet may be to openly provide more detailed info so we, as a
community, can help you identifying why you see zombie processes.

Regards,
Simon

>
> Thanks,
> Omkar V.
>
> -----Original Message-----
> From: Mark Thomas <ma...@apache.org>
> Sent: Friday, January 5, 2024 6:00 PM
> To: users@tomcat.apache.org
> Subject: Re: Regarding Tomcat is creating the zombie processes
>
> [You don't often get email from markt@apache.org. Learn why this is
> important at https://aka.ms/LearnAboutSenderIdentification ]
>
> You will need to provide more details.
>
> A default Tomcat install does not create parent and child processes so
> zombie processes cannot occur.
>
> I'll also note that zombie process do not consume system resources (apart
> from a process ID).
>
> Please provide the steps you used to recreate this issue in a clean
> installation of a standalone Tomcat instance.
>
> Mark
>
>
> On 05/01/2024 09:48, Vaidya, Omkar wrote:
>> Adding information -
>> Tomcat Version - 9.0.62
>> Platform - Linux Platform
>>
>>
>> From: Vaidya, Omkar <ov...@ptc.com>
>> Sent: Friday, January 5, 2024 3:15 PM
>> To: users@tomcat.apache.org
>> Cc: Shriwardhankar, Varun <vs...@ptc.com>
>> Subject: Regarding Tomcat is creating the zombie processes
>>
>> Hi Team,
>>
>> This is regarding like we have one customer issue where on Linux
>> platform, we have configured our IOT-application (Thingworx), which is
>> using Tomcat as a server.
>> So we are able to identify that even when we remove our application,
>> Tomcat is creating a zombie (defunct) process, which is creating 200+
>> processes under the process table, which ultimately occupy all the OS
>> resources and the application goes in a hung state. This issue is also
>> reproducible on the Standalone Tomcat server also.
>> There are two scenarios mentioned below -
>> 1.            If this is relatable to Tomcat can you please suggest any
>> article or documentation so that we can stop zombie process creation, if
>> this is a known issue or there is only way to clear zombie (defunct)
>> process from Processes table of linux.
>> 2.            Also, let us know if this is a Operating System specific
>> issue like as it is reproducible only on Linux, So Linux os is the thing
>> that creates the zombie (defunct) processes?
>> we are eagerly waiting for the response.
>>
>> Thanks,
>> Omkar Vaidya.
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>



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


Re: Regarding Tomcat is creating the zombie processes

Posted by Mark Thomas <ma...@apache.org>.
On 09/01/2024 10:11, Vaidya, Omkar wrote:
> Hi Mark,
> 
> Thanks for the response. For mainly related to our Thingworx IOT-based application, we are using the Tomcat 9.0.62 server. So for that, we are getting zombie or defunct processes.
> 
> "Please provide the steps you used to recreate this issue in a clean installation of a standalone Tomcat instance." -> So for this,  We have executed our installer, which itself installs the Tomcat server. So, there are no manual steps that we ask the user to execute.

That is not a clean installation of a standalone Tomcat. That is your 
installer which could, frankly, be doing anything.

Your original post claimed that this issue was reproducible on a 
standalone Tomcat installation. You need to provide details of how to 
reproduce this on a clean standalone Tomcat installation - i.e. starting 
with an installer provided by the ASF.

> As per the previous response, "A default Tomcat install does not create parent and child processes, so zombie processes cannot occur." -> So we have raised a support case with Tomcat to just understand the reason why defunct processes are created.
> 
> Is anybody already raised case similar to defunct or related to zombie processes. If yes, can you please share which resolution you have provided to them to prevent creation of those.

This is open source support, provided by volunteers, for free. Not a 
commercial support agreement. If you want a commercial support agreement 
then there are plenty of vendors offering them (of varying quality). And 
you'll need to pay for it.

So far, you have claimed a problem exists without providing any evidence 
to back up that claim.

You need to provide the steps to re-create the problem from a clean 
installation of a current Tomcat package provided by the ASF.

Given that the issue is with zombie process (which require parent/child 
process) and that a standard Tomcat installation is a single process 
that never forks any children, this currently looks like something that 
is not a Tomcat issue.

At this point the onus is on you to provide the steps necessary for 
someone on this list to recreate the problem you are seeing starting 
from a Tomcat distribution downloaded from tomcat.apache.org

Mark


> 
> Thanks,
> Omkar V.
> 
> -----Original Message-----
> From: Mark Thomas <ma...@apache.org>
> Sent: Friday, January 5, 2024 6:00 PM
> To: users@tomcat.apache.org
> Subject: Re: Regarding Tomcat is creating the zombie processes
> 
> [You don't often get email from markt@apache.org. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
> 
> You will need to provide more details.
> 
> A default Tomcat install does not create parent and child processes so zombie processes cannot occur.
> 
> I'll also note that zombie process do not consume system resources (apart from a process ID).
> 
> Please provide the steps you used to recreate this issue in a clean installation of a standalone Tomcat instance.
> 
> Mark
> 
> 
> On 05/01/2024 09:48, Vaidya, Omkar wrote:
>> Adding information -
>> Tomcat Version - 9.0.62
>> Platform - Linux Platform
>>
>>
>> From: Vaidya, Omkar <ov...@ptc.com>
>> Sent: Friday, January 5, 2024 3:15 PM
>> To: users@tomcat.apache.org
>> Cc: Shriwardhankar, Varun <vs...@ptc.com>
>> Subject: Regarding Tomcat is creating the zombie processes
>>
>> Hi Team,
>>
>> This is regarding like we have one customer issue where on Linux platform, we have configured our IOT-application (Thingworx), which is using Tomcat as a server.
>> So we are able to identify that even when we remove our application, Tomcat is creating a zombie (defunct) process, which is creating 200+ processes under the process table, which ultimately occupy all the OS resources and the application goes in a hung state. This issue is also reproducible on the Standalone Tomcat server also.
>> There are two scenarios mentioned below -
>> 1.            If this is relatable to Tomcat can you please suggest any article or documentation so that we can stop zombie process creation, if this is a known issue or there is only way to clear zombie (defunct) process from Processes table of linux.
>> 2.            Also, let us know if this is a Operating System specific issue like as it is reproducible only on Linux, So Linux os is the thing that creates the zombie (defunct) processes?
>> we are eagerly waiting for the response.
>>
>> Thanks,
>> Omkar Vaidya.
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
> 

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


RE: Regarding Tomcat is creating the zombie processes

Posted by "Vaidya, Omkar" <ov...@ptc.com>.
Hi Mark, 

Thanks for the response. For mainly related to our Thingworx IOT-based application, we are using the Tomcat 9.0.62 server. So for that, we are getting zombie or defunct processes. 

"Please provide the steps you used to recreate this issue in a clean installation of a standalone Tomcat instance." -> So for this,  We have executed our installer, which itself installs the Tomcat server. So, there are no manual steps that we ask the user to execute. 

As per the previous response, "A default Tomcat install does not create parent and child processes, so zombie processes cannot occur." -> So we have raised a support case with Tomcat to just understand the reason why defunct processes are created. 

Is anybody already raised case similar to defunct or related to zombie processes. If yes, can you please share which resolution you have provided to them to prevent creation of those. 

Thanks,
Omkar V. 

-----Original Message-----
From: Mark Thomas <ma...@apache.org> 
Sent: Friday, January 5, 2024 6:00 PM
To: users@tomcat.apache.org
Subject: Re: Regarding Tomcat is creating the zombie processes

[You don't often get email from markt@apache.org. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]

You will need to provide more details.

A default Tomcat install does not create parent and child processes so zombie processes cannot occur.

I'll also note that zombie process do not consume system resources (apart from a process ID).

Please provide the steps you used to recreate this issue in a clean installation of a standalone Tomcat instance.

Mark


On 05/01/2024 09:48, Vaidya, Omkar wrote:
> Adding information -
> Tomcat Version - 9.0.62
> Platform - Linux Platform
>
>
> From: Vaidya, Omkar <ov...@ptc.com>
> Sent: Friday, January 5, 2024 3:15 PM
> To: users@tomcat.apache.org
> Cc: Shriwardhankar, Varun <vs...@ptc.com>
> Subject: Regarding Tomcat is creating the zombie processes
>
> Hi Team,
>
> This is regarding like we have one customer issue where on Linux platform, we have configured our IOT-application (Thingworx), which is using Tomcat as a server.
> So we are able to identify that even when we remove our application, Tomcat is creating a zombie (defunct) process, which is creating 200+ processes under the process table, which ultimately occupy all the OS resources and the application goes in a hung state. This issue is also reproducible on the Standalone Tomcat server also.
> There are two scenarios mentioned below -
> 1.            If this is relatable to Tomcat can you please suggest any article or documentation so that we can stop zombie process creation, if this is a known issue or there is only way to clear zombie (defunct) process from Processes table of linux.
> 2.            Also, let us know if this is a Operating System specific issue like as it is reproducible only on Linux, So Linux os is the thing that creates the zombie (defunct) processes?
> we are eagerly waiting for the response.
>
> Thanks,
> Omkar Vaidya.
>
>

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


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


Re: Regarding Tomcat is creating the zombie processes

Posted by Mark Thomas <ma...@apache.org>.
You will need to provide more details.

A default Tomcat install does not create parent and child processes so 
zombie processes cannot occur.

I'll also note that zombie process do not consume system resources 
(apart from a process ID).

Please provide the steps you used to recreate this issue in a clean 
installation of a standalone Tomcat instance.

Mark


On 05/01/2024 09:48, Vaidya, Omkar wrote:
> Adding information -
> Tomcat Version - 9.0.62
> Platform - Linux Platform
> 
> 
> From: Vaidya, Omkar <ov...@ptc.com>
> Sent: Friday, January 5, 2024 3:15 PM
> To: users@tomcat.apache.org
> Cc: Shriwardhankar, Varun <vs...@ptc.com>
> Subject: Regarding Tomcat is creating the zombie processes
> 
> Hi Team,
> 
> This is regarding like we have one customer issue where on Linux platform, we have configured our IOT-application (Thingworx), which is using Tomcat as a server.
> So we are able to identify that even when we remove our application, Tomcat is creating a zombie (defunct) process, which is creating 200+ processes under the process table, which ultimately occupy all the OS resources and the application goes in a hung state. This issue is also reproducible on the Standalone Tomcat server also.
> There are two scenarios mentioned below -
> 1.            If this is relatable to Tomcat can you please suggest any article or documentation so that we can stop zombie process creation, if this is a known issue or there is only way to clear zombie (defunct) process from Processes table of linux.
> 2.            Also, let us know if this is a Operating System specific issue like as it is reproducible only on Linux, So Linux os is the thing that creates the zombie (defunct) processes?
> we are eagerly waiting for the response.
> 
> Thanks,
> Omkar Vaidya.
> 
> 

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


RE: Regarding Tomcat is creating the zombie processes

Posted by "Vaidya, Omkar" <ov...@ptc.com>.
Adding information -
Tomcat Version - 9.0.62
Platform - Linux Platform


From: Vaidya, Omkar <ov...@ptc.com>
Sent: Friday, January 5, 2024 3:15 PM
To: users@tomcat.apache.org
Cc: Shriwardhankar, Varun <vs...@ptc.com>
Subject: Regarding Tomcat is creating the zombie processes

Hi Team,

This is regarding like we have one customer issue where on Linux platform, we have configured our IOT-application (Thingworx), which is using Tomcat as a server.
So we are able to identify that even when we remove our application, Tomcat is creating a zombie (defunct) process, which is creating 200+ processes under the process table, which ultimately occupy all the OS resources and the application goes in a hung state. This issue is also reproducible on the Standalone Tomcat server also.
There are two scenarios mentioned below -
1.            If this is relatable to Tomcat can you please suggest any article or documentation so that we can stop zombie process creation, if this is a known issue or there is only way to clear zombie (defunct) process from Processes table of linux.
2.            Also, let us know if this is a Operating System specific issue like as it is reproducible only on Linux, So Linux os is the thing that creates the zombie (defunct) processes?
we are eagerly waiting for the response.

Thanks,
Omkar Vaidya.


Re: Regarding Tomcat is creating the zombie processes

Posted by Konstantin Kolinko <kn...@gmail.com>.
пт, 5 янв. 2024 г. в 12:45, Vaidya, Omkar <ov...@ptc.com>:
>
> Hi Team,
>
>
>
> This is regarding like we have one customer issue where on Linux platform, we have configured our IOT-application (Thingworx), which is using Tomcat as a server.
>
> So we are able to identify that even when we remove our application, Tomcat is creating a zombie (defunct) process, which is creating 200+ processes under the process table, which ultimately occupy all the OS resources and the application goes in a hung state. This issue is also reproducible on the Standalone Tomcat server also.
>
> There are two scenarios mentioned below -
>
> 1.            If this is relatable to Tomcat can you please suggest any article or documentation so that we can stop zombie process creation, if this is a known issue or there is only way to clear zombie (defunct) process from Processes table of linux.

The count of "200" sounds a lot like the default value of "maxThreads"
attribute of a <Connector>. See Configuration Reference,
https://tomcat.apache.org/tomcat-9.0-doc/config/http.html

So it is very likely that your "zombie processes" are just Threads and
not processes.
https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html

A good way to see what those threads are actually doing is to take a
"Thread dump". It can be done with "jstack" program that comes with
Java.

See also FAQ pages
https://cwiki.apache.org/confluence/display/TOMCAT/Troubleshooting+and+Diagnostics#TroubleshootingandDiagnostics-CommonTroubleshootingScenario

https://cwiki.apache.org/confluence/display/TOMCAT/HowTo#HowTo-HowdoIobtainathreaddumpofmyrunningwebapp?

Best regards,
Konstantin Kolinko

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