possible SSL error

Clive Holloway clive.holloway at gmail.com
Fri Feb 15 09:13:48 UTC 2008


I've also posted this (with contextual links) over on Perlmonks:

http://perlmonks.org/index.pl?node_id=668111

but I figured that this might actually be the best place to ask.

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 consistant 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?

I've started examining the StartTLS code, but I'm not making much
progress yet (steep learning curve!).

Any input on this would be much appreciated.

cLive ;-)


More information about the Djabberd mailing list