Leaking memory

Mika Raento mikie at iki.fi
Wed Oct 4 13:17:54 UTC 2006


I'm getting some memory leaks with djabberd and I'm not sure whether
they are due to my changes or to the code already there. I'm having
a bit of trouble tracking down what's being leaked. I'm using
Authen::MySQL, my own RosterStorage module on top of Mysql as well,
and doing some stream compression with ZLib.

The djabberd process can grow as large as a gig quite quickly (at
which point I have to kill it). If I connect to the admin port
and do 'gladiator' I see large counts only for the SCALAR references,
all others seem to be within reason.

The server doesn't always leak stuff-sometimes it runs for a day
or more with no problems, and then can start to rapidly gain. I have
no reliable way of triggering the leak (Irritatingly, running
'gladiator' actually sometimes triggers the leaking behaviour,
but you can't forexample do 'note_arena' - 'gladiator' - 'check_arena'
since the gladiator stuff seems to do something funky with the
perl interpreter - for example it kill mysql database handles).

I've now compiled perl with -DDEBUGGING, run note_arena, and am hoping
the leak gets triggered so I can run check_arena. Until that: any
hints you guys have?


More information about the Djabberd mailing list