The following bug has been CLOSED ====================================================================== http://dbmail.org/mantis/bug_view_advanced_page.php?bug_id=0000119 ====================================================================== Reported By: Dead2 Assigned To: aaron ====================================================================== Project: DBMail Bug ID: 119 Category: LMTP daemon Reproducibility: always Severity: major Priority: high Status: closed ====================================================================== Date Submitted: 23-Nov-04 15:59 CET Last Modified: 13-Dec-04 11:10 CET ====================================================================== Summary: dbmail-lmtpd is eating ram Description: dbmail-lmtpd is eating ram.
After only 8000 messages delivered, the 20 (IDLE) processes are each eating 14-20 MB of ram, totaling around 330MB ram. This has been confirmed by reports from Wolfram and Thomas Mueller aswell. ====================================================================== ---------------------------------------------------------------------- ilja - 24-Nov-04 15:53 CET ---------------------------------------------------------------------- this will be worked on after releasing 2.0.1 For now, there's a workaround. Set MAX_RECONNECTS=1 in dbmail.conf ---------------------------------------------------------------------- aaron - 02-Dec-04 08:24 CET ---------------------------------------------------------------------- I'm going to work on this bug by adding an EXIT command to LMTP that ends the process. That should allow valgrind to identify all of the leaks. Does anyone know if there's a way we can do this with signal handlers, so that perhaps we can leave them in the tree and build automated testing mechanisms that excercise the daemons, quit them, and see what's not cleaned up? ---------------------------------------------------------------------- aaron - 02-Dec-04 11:13 CET ---------------------------------------------------------------------- Give this patch a whirl. There were two memory issues and one program flow bug, all fixed. The problems were that the from list that was created in the DATA handler so that the evelope sender could passed to insert_messages was not freed and that the headfields list populated by mime_readheader was not freed. The bug was that because it is possible to skip the LHLO command and begin the conversation without it, the rcpt list was not initialized. The rcpt list is always initialized now, but I have left in the ability to skip LHLO, as it's not really a big deal and would require a lot of fixing to fix. Rather than just freeing the from list, I just made it global and now treat it exactly as the rcpt list, which makes the code a bit more consistent. ---------------------------------------------------------------------- aaron - 05-Dec-04 12:46 CET ---------------------------------------------------------------------- Anybody tried my patch yet? It's working for me, but I'd like a second pair of eyes... ---------------------------------------------------------------------- aaron - 07-Dec-04 00:42 CET ---------------------------------------------------------------------- Committed my fix to both dbmail_2_0_branch and HEAD. Bug History Date Modified Username Field Change ====================================================================== 23-Nov-04 15:59Dead2 New Bug 23-Nov-04 16:01Dead2 Status new => confirmed 24-Nov-04 15:53ilja Bugnote Added: 0000368 02-Dec-04 08:24aaron Bugnote Added: 0000411 02-Dec-04 11:07aaron File Added: lmtp-leak.diff 02-Dec-04 11:07aaron File Added: lmtp-leaks.diff 02-Dec-04 11:08aaron File Deleted: lmtp-leak.diff 02-Dec-04 11:13aaron Bugnote Added: 0000413 05-Dec-04 12:46aaron Bugnote Added: 0000422 07-Dec-04 00:42aaron Bugnote Added: 0000425 07-Dec-04 00:42aaron Assigned To => aaron 07-Dec-04 00:42aaron Resolution open => fixed 07-Dec-04 00:42aaron Status confirmed => resolved 13-Dec-04 11:10ilja Status resolved => closed ======================================================================