[Dovecot] Panic: Trying to allocate 2147483648 bytes

David Halik dhalik at jla.rutgers.edu
Fri Mar 20 21:04:59 EET 2009


> OK, so it isn't really the kind of bug I first thought it would be.
> Instead it's allocating/leaking way too much memory.
>   
I agree. I watched it closer again this time and it filled up all 
available memory within 30 seconds.

>
> Can you test what exactly is the difference? INDEX=MEMORY or being in
> NFS? I don't see how either of those would make a difference here.
>
> To me it's currently looking like Solaris iconv() is returning some
> weird results in some condition.
>   

You're right, it doesn't look like an INDEX=MEMORY issue. Here's the 
breakdown:

Server1
----------
mmap_disable = no
mail_nfs_storage = no
mail_nfs_index=no

Local Disk + Normal Index = No Panic
Local Disk + Memory Index = No Panic

Server2
----------
mmap_disable = yes
mail_nfs_storage = yes
mail_nfs_index=yes

NFS + Normal Index = Panic
NFS + Memory Index = Panic

So at first I thought NFS is definitely effecting it. Here is a top from 
the server1 without NFS three minutes into a search through 6000 emails:

 21014 dhalik     1  10    0 7920K 6352K cpu/0    2:46 46.21% imap

That looks much better.

So I tried the same thing on server2 with NFS and it filled up then 
panicked.

But just to be sure I moved my homedir to local disk temporarily, and 
you are totally right. The problem happened again! So now I'm stumped. 
It looks like it is neither NFS or INDEX, but an issue with Solaris as 
you suggested. It just seems odd that I can't reproduce it on one of the 
servers, yet the other two do it every single time. As far as I know the 
servers have the same libraries as well:

Panic Server:

bash-2.05$ uname -a
SunOS 5.9 Generic_118558-39 sun4u sparc SUNW,Ultra-80
bash-2.05$ ldd /usr/local/libexec/dovecot/imap
        libiconv.so.2 =>         /usr/local/lib/libiconv.so.2
        libdl.so.1 =>    /usr/lib/libdl.so.1
        librt.so.1 =>    /usr/lib/librt.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libsendfile.so.1 =>      /usr/lib/libsendfile.so.1
        libc.so.1 =>     /usr/lib/libc.so.1
        libaio.so.1 =>   /usr/lib/libaio.so.1
        libmd5.so.1 =>   /usr/lib/libmd5.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        /usr/platform/SUNW,Ultra-80/lib/libc_psr.so.1
        /usr/platform/SUNW,Ultra-80/lib/libmd5_psr.so.1

Non Panic Server:

bash-2.05$ uname -a
SunOS 5.9 Generic_118558-39 sun4u sparc SUNW,Ultra-250
bash-2.05$ ldd /usr/local/libexec/dovecot/imap
        libiconv.so.2 =>         /usr/local/lib/libiconv.so.2
        libdl.so.1 =>    /usr/lib/libdl.so.1
        librt.so.1 =>    /usr/lib/librt.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libsendfile.so.1 =>      /usr/lib/libsendfile.so.1
        libc.so.1 =>     /usr/lib/libc.so.1
        libaio.so.1 =>   /usr/lib/libaio.so.1
        libmd5.so.1 =>   /usr/lib/libmd5.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        /usr/platform/SUNW,Ultra-250/lib/libc_psr.so.1
        /usr/platform/SUNW,Ultra-250/lib/libmd5_psr.so.1


-- 
================================
David Halik
System Administrator
OIT-CSS Rutgers University
dhalik at jla.rutgers.edu
================================



More information about the dovecot mailing list