Some first results are in:
imaputil.c (build_args, build_args_ext) seems to suffer from off-by-one errors
triggering out-of-bounds on the args array. They look quite messy, but then they
are at the heart of the imap command parser :-\
in many places strings are assigned with strdup, but later free-d with my_free.
This causes all kinds of weirdness when re-defining my_malloc/my_free with
GC_MALLOC/GC_FREE.
And I havent even started testing the pop3 code.
Paul J Stevens wrote:
As a follow up to myself.
I've been building and testing 2.0.1 a little with garbage collection
enabled. Very informative stuff. list.c is definitely prime-suspect.
Thank you Dan Weber for the patch.
Keep you posted.
Paul J Stevens wrote:
Aaron Stone wrote:
Not to crash your crash party, but please make sure to file a bug
soon so
that we don't forget about this issue until the last minute before
2.0.2.
Meanwhile, I've been keeping an eye on runaway imapd's, and I actually
have quite a lot of them. Just happens that I'm on a dual processor
machine with only a few users, so I don't usually feel the slowdown.
Aaron,
We really need to fix this looping issue. I've been seeing it as well
on and off on one of my machines. And mysql's logs start eating disks
like hell when this happens.
I'm having that machine send me sms messages and set an at job to
restart dbmail when it happens so I can go and attach a gdb to the
runaway process, but it's not happening often to do me much good.
It's always perform_imap_search that looping, but I haven't been able
to get a real handle on it.
The list.c cleanup and memsetting newset has helped a little it seems.
But not enough.
I need automatic backtraces....
--
________________________________________________________________
Paul Stevens [EMAIL PROTECTED]
NET FACILITIES GROUP GPG/PGP: 1024D/11F8CD31
The Netherlands_______________________________________www.nfg.nl