Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Jan 2006 01:01:18 +0900
From:      SANETO Takanori <sanewo@ba2.so-net.ne.jp>
To:        Jason Evans <jasone@freebsd.org>
Cc:        freebsd@newmillennium.net.au, freebsd-current@FreeBSD.org, robin@isometry.net
Subject:   Re: Malloc bugs exhibited in ports/mail/dovecot
Message-ID:  <43CFB7CE.4090402@ba2.so-net.ne.jp>
In-Reply-To: <6A234191-C4DA-4E1B-BB4D-1F3F8043DDA9@freebsd.org>
References:  <200601161150.k0GBoamk010563@locutus.newmillennium.net.au> <91B40C65-A11B-427E-B352-8B6EF8A55864@freebsd.org> <43CECA2C.6030400@ba2.so-net.ne.jp> <6A234191-C4DA-4E1B-BB4D-1F3F8043DDA9@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Thanks for your analysis.

According to your advice, instead of patching the code, I could make
dovecot run by setting login_process_size = 64 in
/usr/local/etc/dovecot.conf.

Regards,

SANETO Takanori

Jason Evans wrote:
> On Jan 18, 2006, at 3:07 PM, SANETO Takanori wrote:
>> I experienced this using malloc.c 1.95.
>> assert("arenas != NULL") failed in malloc.c:4519.
>>
>> To reproduce, build mail/dovecot (under either version of malloc.c) and
>> run it under libc of malloc.c rev 1.95. imap-login and pop3-login dump
>> core.
>>
>> My environment is:
>> FreeBSD 7-CURRENT as of 2006/01/15 (+latest libc including malloc.c 1.95)
>> in VMware 4.5.3
>> sysctl hw.ncpu = 1
>>
>> % ldd /usr/local/libexec/dovecot/imap-login
>> /usr/local/libexec/dovecot/imap-login:
>>         libssl.so.4 => /usr/lib/libssl.so.4 (0x2809b000)
>>         libcrypto.so.4 => /lib/libcrypto.so.4 (0x280cc000)
>>         libc.so.6 => /lib/libc.so.6 (0x281d2000)
> 
> This is due to:
> 
> 1) A bug in malloc.  If malloc() fails the first time it is called, this
> causes a fatal error rather than returning NULL.  This is fixed in
> revision 1.96 of malloc.c.
> 
> 2) Low resource limits set by dovecot.  malloc extends the heap in
> increments of 16 MB, and dovecot's resource limits are set low enough
> that malloc immediately fails.  The attached patch to the dovecot port
> works around this.  Another reasonable workaround would be to define
> _malloc_options to be "k" (or "kk", or ...) in the dovecot source code. 
> A short term (but not generally recommended, since it affects all
> programs) workaround would be to set /etc/malloc.conf to 'k'.
> 
> Thanks,
> Jason
> 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43CFB7CE.4090402>