Bug 253363
Summary: | Dovecot pop3-login/imap-login crash with OOM error | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Vladimir Mosgalin <vladimir.mv> | ||||
Component: | dovecot | Assignee: | Tomas Janousek <tjanouse> | ||||
Status: | CLOSED ERRATA | QA Contact: | |||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | 5.1 | CC: | administrator, brads, eric.eisenhart, me, mk, prieheck, riel, sputhenp, sven | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | RHSA-2008-0297 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2008-05-21 14:20:13 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Vladimir Mosgalin
2007-08-18 10:17:17 UTC
Created attachment 161790 [details]
Complete imap-login strace
Looking at dovecot source, found that setrlimit call which was messing everything up. It can be controlled through config, with login_process_size option. By default it's commented out, which means "login_process_size = 32". Everything works when uncommenting it and changing 32 to 64. Resulting VMM size of pop3-login and imap-login is just a bit over 32m, so looks like bloat from new versions of libraries triggered this. I think this option should be uncommented and changed in default config. Fedora might be affected, too. Thanks for the report, good catch. I'll change it in Fedora and in the next update of dovecot in RHEL. This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release. The problem is that the default value is designed for 32bit systems. On 64bit systems the library mappings are greatly increased. From a 32bit system # pmap 12427 12427: imap-login 00110000 4K r-x-- [ anon ] 002ea000 148K r-x-- /usr/lib/libk5crypto.so.3.1 0030f000 4K rwx-- /usr/lib/libk5crypto.so.3.1 00312000 180K r-x-- /usr/lib/libgssapi_krb5.so.2.2 0033f000 4K rwx-- /usr/lib/libgssapi_krb5.so.2.2 0082d000 260K r-x-- /lib/libssl.so.0.9.8b 0086e000 16K rwx-- /lib/libssl.so.0.9.8b 0090f000 64K r-x-- /lib/libresolv-2.6.so 0091f000 4K r-x-- /lib/libresolv-2.6.so 00920000 4K rwx-- /lib/libresolv-2.6.so 00921000 8K rwx-- [ anon ] 00a48000 28K r-x-- /usr/lib/libkrb5support.so.0.1 00a4f000 4K rwx-- /usr/lib/libkrb5support.so.0.1 00ae6000 8K r-x-- /lib/libkeyutils-1.2.so 00ae8000 4K rwx-- /lib/libkeyutils-1.2.so 00afa000 108K r-x-- /lib/ld-2.6.so 00b15000 4K r-x-- /lib/ld-2.6.so 00b16000 4K rwx-- /lib/ld-2.6.so 00b19000 1336K r-x-- /lib/libc-2.6.so 00c67000 8K r-x-- /lib/libc-2.6.so 00c69000 4K rwx-- /lib/libc-2.6.so 00c6a000 12K rwx-- [ anon ] 00c9a000 12K r-x-- /lib/libdl-2.6.so 00c9d000 4K r-x-- /lib/libdl-2.6.so 00c9e000 4K rwx-- /lib/libdl-2.6.so 00ca1000 72K r-x-- /lib/libz.so.1.2.3 00cb3000 4K rwx-- /lib/libz.so.1.2.3 00d4f000 8K r-x-- /lib/libcom_err.so.2.1 00d51000 4K rwx-- /lib/libcom_err.so.2.1 07020000 576K r-x-- /usr/lib/libkrb5.so.3.3 070b0000 12K rwx-- /usr/lib/libkrb5.so.3.3 070d4000 1140K r-x-- /lib/libcrypto.so.0.9.8b 071f1000 72K rwx-- /lib/libcrypto.so.0.9.8b 07203000 16K rwx-- [ anon ] 08048000 132K r-x-- /usr/libexec/dovecot/imap-login 08069000 8K rw--- /usr/libexec/dovecot/imap-login 09457000 164K rw--- [ anon ] b7f01000 16K rw--- [ anon ] bffd2000 84K rw--- [ stack ] total 4544K which makes the 32M default not unreasonable given a reasonably heavy use. The problem is apparent on 64bit # pmap 6733 6733: imap-login 0000000000400000 132K r-x-- /usr/libexec/dovecot/imap-login 0000000000621000 4K rw--- /usr/libexec/dovecot/imap-login 0000003659200000 104K r-x-- /lib64/ld-2.5.so 0000003659419000 4K r---- /lib64/ld-2.5.so 000000365941a000 4K rw--- /lib64/ld-2.5.so 0000003659600000 1304K r-x-- /lib64/libc-2.5.so 0000003659746000 2048K ----- /lib64/libc-2.5.so 0000003659946000 16K r---- /lib64/libc-2.5.so 000000365994a000 4K rw--- /lib64/libc-2.5.so 000000365994b000 20K rw--- [ anon ] 0000003659e00000 8K r-x-- /lib64/libdl-2.5.so 0000003659e02000 2048K ----- /lib64/libdl-2.5.so 000000365a002000 4K r---- /lib64/libdl-2.5.so 000000365a003000 4K rw--- /lib64/libdl-2.5.so 000000365a600000 80K r-x-- /usr/lib64/libz.so.1.2.3 000000365a614000 2044K ----- /usr/lib64/libz.so.1.2.3 000000365a813000 4K rw--- /usr/lib64/libz.so.1.2.3 000000365f600000 236K r-x-- /lib64/libsepol.so.1 000000365f63b000 2048K ----- /lib64/libsepol.so.1 000000365f83b000 4K rw--- /lib64/libsepol.so.1 000000365f83c000 40K rw--- [ anon ] 000000365fa00000 84K r-x-- /lib64/libselinux.so.1 000000365fa15000 2048K ----- /lib64/libselinux.so.1 000000365fc15000 8K rw--- /lib64/libselinux.so.1 000000365fc17000 4K rw--- [ anon ] 0000003661200000 8K r-x-- /lib64/libcom_err.so.2.1 0000003661202000 2044K ----- /lib64/libcom_err.so.2.1 0000003661401000 4K rw--- /lib64/libcom_err.so.2.1 0000003661600000 1172K r-x-- /lib64/libcrypto.so.0.9.8b 0000003661725000 2044K ----- /lib64/libcrypto.so.0.9.8b 0000003661924000 124K rw--- /lib64/libcrypto.so.0.9.8b 0000003661943000 16K rw--- [ anon ] 0000003661e00000 68K r-x-- /lib64/libresolv-2.5.so 0000003661e11000 2048K ----- /lib64/libresolv-2.5.so 0000003662011000 4K r---- /lib64/libresolv-2.5.so 0000003662012000 4K rw--- /lib64/libresolv-2.5.so 0000003662013000 8K rw--- [ anon ] 0000003662600000 176K r-x-- /usr/lib64/libgssapi_krb5.so.2.2 000000366262c000 2048K ----- /usr/lib64/libgssapi_krb5.so.2.2 000000366282c000 8K rw--- /usr/lib64/libgssapi_krb5.so.2.2 0000003662e00000 568K r-x-- /usr/lib64/libkrb5.so.3.3 0000003662e8e000 2048K ----- /usr/lib64/libkrb5.so.3.3 000000366308e000 16K rw--- /usr/lib64/libkrb5.so.3.3 0000003663a00000 144K r-x-- /usr/lib64/libk5crypto.so.3.1 0000003663a24000 2044K ----- /usr/lib64/libk5crypto.so.3.1 0000003663c23000 8K rw--- /usr/lib64/libk5crypto.so.3.1 0000003663e00000 32K r-x-- /usr/lib64/libkrb5support.so.0.1 0000003663e08000 2044K ----- /usr/lib64/libkrb5support.so.0.1 0000003664007000 4K rw--- /usr/lib64/libkrb5support.so.0.1 0000003664200000 8K r-x-- /lib64/libkeyutils-1.2.so 0000003664202000 2044K ----- /lib64/libkeyutils-1.2.so 0000003664401000 4K rw--- /lib64/libkeyutils-1.2.so 0000003666000000 268K r-x-- /lib64/libssl.so.0.9.8b 0000003666043000 2048K ----- /lib64/libssl.so.0.9.8b 0000003666243000 24K rw--- /lib64/libssl.so.0.9.8b 00002aaaaaaab000 4K rw--- [ anon ] 00002aaaaaaca000 1052K rw--- [ anon ] 00007fffe3653000 84K rw--- [ stack ] ffffffffff600000 8192K ----- [ anon ] total 42716K and that's just after startup. The problem is compounded because the 2048K allocations would appear to be based on the amount of system RAM the particular machine has. On a smaller 64bit box programs get a 1024K allocation for the libraries. One possibility that might make sense is to use the configuration value as the amount that the process is allowed to grow over its initial size. For 32bit this would only increase the maximum size to 37M, and for 64bit would allow a similar sensible amount over whatever the program is after initial load. FWIW, the problem still continues in RHEL 5.1 . I had to increase that setting in dovecot.conf to get rid of the problem. Regards, Devrim It would have been nice if this problem had been fixed before releasing 5.1, noone could read mail after the automatic update this morning :-( :-( This is a 64bit machine with 5G RAM please look thi: http://www.cyberciti.biz/tips/rhel-dovecot-error-while-loading-shared-libraries.html *** Bug 372781 has been marked as a duplicate of this bug. *** *** Bug 377641 has been marked as a duplicate of this bug. *** *** Bug 427600 has been marked as a duplicate of this bug. *** *** Bug 445597 has been marked as a duplicate of this bug. *** An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2008-0297.html |