http://www.perlmonks.org?node_id=668111

cLive ;-) has asked for the wisdom of the Perl Monks concerning the following question:

Hi All,

I've been scratching my head on this one for a few days now, and wonder if I'm losing it, so any input would be appreciated :)

I have a slightly tweaked DJabberd daemon running. After a while, and for no reason that I can determine, the CPU load suddenly shoots up to 97% and sticks.

What's weird is that I'm tailing the XMPP message log, and can't see continual messages (that to me would be indicative of something going on). Well, there are messages that come in bursts, but after that slows down, the CPU stays at 97%. Memory usage is consistent at 21Mb (50Mb virtual).

During this time, I can still send and receive messages with no lag, so I'm wondering what the hell could be hogging the CPU.

strace throws out an almost continual stream of:

epoll_wait(11, {{EPOLLOUT, {u32=25, u64=25}}}, 1000, -1) = 1 epoll_wait(11, {{EPOLLOUT, {u32=25, u64=25}}}, 1000, -1) = 1 epoll_wait(11, {{EPOLLOUT, {u32=25, u64=25}}}, 1000, -1) = 1 epoll_wait(11, {{EPOLLOUT, {u32=25, u64=25}}}, 1000, -1) = 1 epoll_wait(11, {{EPOLLOUT, {u32=25, u64=25}}}, 1000, -1) = 1 epoll_wait(11, {{EPOLLOUT, {u32=25, u64=25}}}, 1000, -1) = 1

A scan of the DJabberd lists shows that this is possibly an SSL error. A search points to it possibly being a timing issue (?) with watching the SSL connections, but it appears that that thread died with no resolution.

I've just disabled SSL in DJabberd (commented out set_config_sslcertificatekey and set_config_sslcertificatefile sets) , and I cannot now recreate the high load problem.

I'm running version 0.83 of DJabberd.

Has anyone encountered this issue before? Or have any idea on how to approach this?