Hi Jakob,

> Occasionally our 2.8a (soon 2.8) Pound installations enter
> a bad state where they use 100% CPU and cause the system load
> to indicate lots (more than 20) of running threads, even when
> there is very little actual traffic.

I have stumbled upon this behaviour some time ago. This happens in
certain cases when the remote party unexpectedly breaks the connection.
In such cases calls to BIO_read return 0 and that makes the calling thread
spin indefinitely in a loop. With the time the number of such threads
grows, which leads to abnormal load average and CPU usage. This is
attested with both 2.8a and 2.8. Here is the patch that fixes it:

  
https://github.com/graygnuorg/pound/commit/c5a95780e2233a05ab3fb8b4eb8a9550f0c3b53c

(as usual, append the .patch suffix in order to get a raw patch file).

Hope that helps.

Regards,
Sergey



  

--
To unsubscribe send an email with subject unsubscribe to [email protected].
Please contact [email protected] for questions.

Reply via email to