Here is a problem:
We have one dedicated server and 60 clients. The server is configured as following:
Ice.ThreadPool.Server.Size=64
Ice.ThreadPool.Client.Size=32
It works fine until it comes with a warning of thread pool size and falling into a deadlock after the final warning to the log:
thread pool `Ice.ThreadPool.Server' is running low on threads
Size=64, SizeMax=64, SizeWarn=51
It looks like there is no any free thread available anymore to send a response. So every locked thread is waiting for at least one free thread to be available but it will never happen.
What would be your advise of how to locate this kind of problems in a code? Maybe Ice has some configuration properties for deadlock diagnostic?
Best regards, Leo

Reply With Quote