Re: [Dovecot] rc22 segv when over quota
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Tue, 20 Feb 2007, Steffen Kaiser wrote:
I have rebuilt rc23 to use "poll" instead of epoll, the same problem:
warning: Can't read pathname for load map: Input/output error. Reading symbols from /lib/tls/i686/cmov/libdl.so.2...done. Loaded symbols for /lib/tls/i686/cmov/libdl.so.2 Reading symbols from /lib/tls/i686/cmov/libc.so.6...done. Loaded symbols for /lib/tls/i686/cmov/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /usr/local/lib/dovecot/imap/lib10_quota_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib10_quota_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib11_imap_quota_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib11_imap_quota_plugin.so Core was generated by `imap [dvtest 10.20.10.63]'. Program terminated with signal 11, Segmentation fault. #0 mailbox_save_continue (ctx=0x80df574) at mail-storage.c:530 530 return ctx->transaction->box->v.save_continue(ctx); (gdb) bt full #0 mailbox_save_continue (ctx=0x80df574) at mail-storage.c:530 No locals. #1 0x08057193 in client_input (context=0x80df530) at cmd-append.c:67 client = (struct client *) 0x32c cmd = (struct client_command_context *) 0x80e27c0 #2 0x080ba522 in io_loop_handler_run (ioloop=0x80dd9b0) at ioloop-poll.c:199 ctx = (struct ioloop_handler_context *) 0x80dd9d8 pollfd = <value optimized out> tv = {tv_sec = 4, tv_usec = 762810} io = (struct io *) 0x80df610 t_id = 2 msecs = <value optimized out> ret = 135132464 call = <value optimized out> #3 0x080b9868 in io_loop_run (ioloop=0x80dd9b0) at ioloop.c:284 No locals. #4 0x08063910 in main (argc=Cannot access memory at address 0x8d4 ) at main.c:285 No locals.
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iQEVAwUBRdr7NS9SORjhbDpvAQKXQQf/VHx/LEaC5zvz3C17iPuCSjro1Q9jznw2 GQA3FStiWhP3NsckSSQ+RxB8ih+lf+A8o2+nhF+pJ7N6qcBK3BVkum+WjQW5ddDv IEiAeo+dtFaP+7sO+qJeuq4ImXpiMDGpUVRt+PJYC1cAxWx+HYQ8im5UXEP4eTz7 uMu7MAX9vjwsWHmrfKMJf/36VQpTajMsfrfYbbTPPva++kuuNI33RIDvCeOsSmVF Vu38mRzP+wvwi/4YRV6UciVfrXV7sBl9Tk3oJjdEkn3gbxWPMfBYENxNRhAsj158 m+Zqz/bTJuThWlUFFM6uM/HDNrO39N3oWcHAJb7+zt8ULVMbD2WuVA== =9Ba1 -----END PGP SIGNATURE-----
On Tue, 2007-02-20 at 14:44 +0100, Steffen Kaiser wrote:
#0 mailbox_save_continue (ctx=0x80df574) at mail-storage.c:530 530 return ctx->transaction->box->v.save_continue(ctx);
This is an "impossible" crash also. Maybe it's somehow related to your other crash.
The only thing I can think of is that plugins are somehow messing up. Are you sure the quota plugins are compiled against rc22 Dovecot? Hmm. I think I should add some plugin version checks..
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Thu, 22 Feb 2007, Timo Sirainen wrote:
On Tue, 2007-02-20 at 14:44 +0100, Steffen Kaiser wrote:
#0 mailbox_save_continue (ctx=0x80df574) at mail-storage.c:530 530 return ctx->transaction->box->v.save_continue(ctx);
This is an "impossible" crash also. Maybe it's somehow related to your other crash.
The other crash is no more reproducible: I deleted all files of dovecot and the mails and caches; re-installed rc23.
I also removed the quota plugin references from the conf.
Now I have the problems only, when the fs quota on ext3 is over, not on XFS? I suppose, it's not the underlying filesystem, but that the quota is reached at different levels, because directories count differently in the two systems. I used the exact same mailbox and quota settings on both XFS and Ext3.
The core_segv_overquota.* files are with plugin enabled, the other ones without the plugin (see below for the conf). The files are created by: gdb /usr/local/libexec/dovecot/imap $a -batch -x gdb_cmds >"$a.out" 2>"$a.err" Hence, the *.err files are errors from gdb itself.
(BTW: How about adding Dovecot's version to the second line of the "-n" output?) # /usr/local/sbin/dovecot --version 1.0.rc23 # /usr/local/sbin/dovecot -n # /usr/local/etc/dovecot.conf log_path: /var/tmp/dovecot.log info_log_path: /var/tmp/dovecot.info ssl_disable: yes disable_plaintext_auth: no verbose_ssl: yes login_dir: /usr/local/var/run/dovecot/login login_executable: /usr/local/libexec/dovecot/imap-login verbose_proctitle: yes mail_location: maildir:/mnt/mailcache/%u/MailDir:CONTROL=/var/cache/dovecot/%i/control:INDEX=/var/cache/dovecot/%i/index mail_debug: yes mail_drop_priv_before_exec: yes auth default: mechanisms: plain login cache_size: 10 verbose: yes debug: yes debug_passwords: yes passdb: driver: pam args: cache_key=%u dovecot userdb: driver: passwd
Bye,
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iQEVAwUBRd6ZJC9SORjhbDpvAQL+NwgAjmblt3J70RDNJ0mNJhvKh29PiuXhd2zO dmqjEohzmO6WP9sE+nQYmT01hpj0Wr+wQFV2oUzNjRjaAP/QxvuBds5WxNEAm7m7 5XAqmvc6p5JSfZf6l9Kbo8gfhuM8+4UY4vMLo/3TOacCkL3dxLXDDRzaZQLg3Z8m LG3GzxS5alf0jRV+xffg6brtrro/xUwcE2dVFYH7xygq//eSnhxkR2yDWWkIeH4+ OSxczernnflr9SLTY5q56+GudPZZX7FJGjCkkTBwl392S9DfrTbTfL1YHiSfz1+y szFEg1SHbtCzCl5h3X+rN0YBAOaQebOBpiQuAABqAUS6v+5J1+Mhhw== =Bb/Y -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Fri, 23 Feb 2007, Steffen Kaiser wrote:
When ^C "dovecot -F", there are log messages like: dovecot: Feb 23 09:04:41 Warning: I/O leak: 0x804d860 (158) dovecot: Feb 23 09:04:41 Warning: I/O leak: 0x804d860 (152)
====
I just downloaded & compiled rc24. In the mean time, I also put kernel 2.6.20 on this box.
There is a change in the log:
Note the "Success", previous versions said "Disk quota exceeded". I tested with the _same_ (not copies, but physically the same files) mailbox, index and control files in rc22, rc23 and rc24. I also notices a different behaviour, whether the user's hard quota is 100% full when uploading another mail starts, in opposite when the hard quota is reached during the upload, please see the end of the mail.
===
The disk quotas are absolutely utilised, no single block can be allocated on the disk with the maildir. (indexes and control files are located elsewhere without quota).
dovecot: Feb 23 09:13:29 Error: IMAP(dvtest): o_stream_send_istream(/mnt/mailcache/dvtest/MailDir/.test/tmp/1172218409.P19175Q0M237232.ux-2s11-9) failed: Success dovecot: Feb 23 09:13:29 Error: child 19175 (imap) killed with signal 11
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
warning: Can't read pathname for load map: Input/output error. Core was generated by `imap [dvtest 10.20.10.63]'. Program terminated with signal 11, Segmentation fault. #0 mailbox_save_continue (ctx=0x80deb54) at mail-storage.c:530 530 return ctx->transaction->box->v.save_continue(ctx); #0 mailbox_save_continue (ctx=0x80deb54) at mail-storage.c:530 No locals. #1 0x080571f3 in client_input (context=0x80deb10) at cmd-append.c:67 client = (struct client *) 0x0 cmd = (struct client_command_context *) 0x80e0d68 #2 0x080ba752 in io_loop_handler_run (ioloop=0x80dd9b0) at ioloop-poll.c:199 ctx = (struct ioloop_handler_context *) 0x80dd9d8 pollfd = <value optimized out> tv = {tv_sec = 9, tv_usec = 994346} io = (struct io *) 0x80decc8 t_id = 2 msecs = <value optimized out> ret = 135129872 call = <value optimized out> #3 0x080b9a98 in io_loop_run (ioloop=0x80dd9b0) at ioloop.c:284 No locals. #4 0x08063980 in main (argc=Cannot access memory at address 0x5a8 ) at main.c:287 home = 0x0
=====
/usr/local# ./dovecot.rc24/sbin/dovecot -n # /usr/local/dovecot.rc24/etc/dovecot.conf log_path: /var/tmp/dovecot.log info_log_path: /var/tmp/dovecot.info ssl_disable: yes disable_plaintext_auth: no verbose_ssl: yes login_dir: /usr/local/dovecot.rc24/var/run/dovecot/login login_executable: /usr/local/dovecot.rc24/libexec/dovecot/imap-login verbose_proctitle: yes mail_location: maildir:/mnt/mailcache/%u/MailDir:CONTROL=/var/cache/dovecot/%i/control:INDEX=/var/cache/dovecot/%i/index mail_debug: yes mail_drop_priv_before_exec: yes auth default: mechanisms: plain login cache_size: 10 verbose: yes debug: yes debug_passwords: yes passdb: driver: pam args: cache_key=%u dovecot userdb: driver: passwd
=====
Summary of configure: Install prefix ...................... : /usr/local/dovecot.rc24 File offsets ........................ : 64bit I/O loop method ..................... : poll File change notification method ..... : dnotify Building with SSL support ........... : yes (OpenSSL) Building with IPv6 support .......... : yes Building with pop3 server ........... : yes Building with mail delivery agent .. : yes Building with GSSAPI support ........ : no Building with user database modules . : static prefetch passwd passwd-file checkpassword ldap sql (modules) Building with password lookup modules : passwd passwd-file shadow pam checkpassword ldap sql (modules) Building with SQL drivers ............: pgsql
===========
I re-built Dovecot rc24 with no argument other than --prefix: Install prefix ...................... : /usr/local/dovecot.rc24_plain File offsets ........................ : 64bit I/O loop method ..................... : poll File change notification method ..... : dnotify Building with SSL support ........... : yes (OpenSSL) Building with IPv6 support .......... : yes Building with pop3 server ........... : yes Building with mail delivery agent .. : yes Building with GSSAPI support ........ : no Building with user database modules . : static prefetch passwd passwd-file checkpassword (modules) Building with password lookup modules : passwd passwd-file shadow pam checkpassword (modules) Building with SQL drivers ............:
The behaviour is the same.
====
Found another thing, I removed one mail, hence, the quota dropped a bit below the hard quota: Disk quotas for user dvtest (uid 1012): Filesystem blocks quota limit grace files quota limit grace 1021* 600 1024 6days 145 0 0
When I now upload a mail above 4K to the server:
dovecot: Feb 23 09:34:41 Error: IMAP(dvtest): o_stream_send_istream(/mnt/mailcache/dvtest/MailDir/.test/tmp/1172219681.P20611Q0M827098.ux-2s11-9) failed: Success
Note: The first time, there was NO segv, but just a note about an internal server error and that I should refer to the server log.
dovecot: Feb 23 09:35:00 Error: IMAP(dvtest): o_stream_send_istream(/mnt/mailcache/dvtest/MailDir/.test/tmp/1172219700.P20612Q0M157711.ux-2s11-9) failed: Success dovecot: Feb 23 09:35:00 Error: child 20612 (imap) killed with signal 11 dovecot: Feb 23 09:35:00 Error: IMAP(dvtest): o_stream_send_istream(/mnt/mailcache/dvtest/MailDir/.test/tmp/1172219700.P20611Q1.ux-2s11-9) failed: Success dovecot: Feb 23 09:35:00 Error: child 20611 (imap) killed with signal 11
This is the second try immediately following the first one. I got the box about an internal server error on time.
======
Restart Dovecot, the following happens in one session of Dovecot and Thunderbird, no manual restarts.
Try to upload a 8KB mail: dovecot: Feb 23 09:40:13 Error: IMAP(dvtest): o_stream_send_istream(/mnt/mailcache/dvtest/MailDir/tmp/1172220013.P20656Q0M441909.ux-2s11-9) failed: Success dovecot: Feb 23 09:40:13 Error: child 20656 (imap) killed with signal 11 dovecot: Feb 23 09:40:13 Error: IMAP(dvtest): o_stream_send_istream(/mnt/mailcache/dvtest/MailDir/tmp/1172220013.P20657Q0M493383.ux-2s11-9) failed: Success
One box about internal server error.
Try to upload a 4K mail: dovecot: Feb 23 09:40:41 Error: IMAP(dvtest): o_stream_send_istream(/mnt/mailcache/dvtest/MailDir/tmp/1172220041.P20657Q1.ux-2s11-9) failed: Success
The box: Internal server error
Try to upload a 2KB mail: success, no log entry; the quota is now 100% full again.
Try to upload another 2KB mail: endless: dovecot: Feb 23 09:43:19 Error: IMAP(dvtest): o_stream_send_istream(/mnt/mailcache/dvtest/MailDir/tmp/1172220199.P21072Q0M865499.ux-2s11-9) failed: Success dovecot: Feb 23 09:43:19 Error: child 21072 (imap) killed with signal 11 dovecot: Feb 23 09:43:19 Error: IMAP(dvtest): o_stream_send_istream(/mnt/mailcache/dvtest/MailDir/tmp/1172220199.P21073Q0M901234.ux-2s11-9) failed: Success dovecot: Feb 23 09:43:19 Error: child 21073 (imap) killed with signal 11 dovecot: Feb 23 09:43:19 Error: IMAP(dvtest): o_stream_send_istream(/mnt/mailcache/dvtest/MailDir/tmp/1172220199.P21074Q0M933467.ux-2s11-9) failed: Success dovecot: Feb 23 09:43:19 Error: child 21074 (imap) killed with signal 11
and re-logins log entries. Thunderbird re-tries to upload the mail again and again.
Bye,
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iQEVAwUBRd6qpC9SORjhbDpvAQIdJgf/TUIqSXjDCMzpjauM6Wer6BBEj3Wxq769 NPvtxvuuMqDSIds106Dk6ixhiqi+2RDmHhtzHyXB2lX1HRw5Tf+XPRiM7TakVC2B ih+SXt3XfIl1dW5Ja2d04wNHyoUi4yri0dubichw8Plw+6lRC6uFNdx5lm2rwFdk bf7SxxcpCCmJX03lGTe82bEGKS69PvsMM0gWpsUZfC3SUzSd6ceSlvjB51c6OUnv xa86ElodFIuUSTHeRQAkKTtomQB410uL48g8Qb23UMSYnWoFKMRpYh6t+ikWHxz4 FJ/ReJgj26SqrZ/NSLftM9imr1ftF1JERvXZj706rOjR2ime4wR7/g== =kWOS -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Fri, 23 Feb 2007, Steffen Kaiser wrote:
Try to upload another 2KB mail: endless: failed: Success dovecot: Feb 23 09:43:19 Error: child 21074 (imap) killed with signal 11
Oh, just saw that the gdb output looks a bit different now:
warning: Can't read pathname for load map: Input/output error. Core was generated by `imap [dvtest 10.20.10.63]'. Program terminated with signal 11, Segmentation fault. #0 mailbox_save_continue (ctx=0x80deb54) at mail-storage.c:530 530 return ctx->transaction->box->v.save_continue(ctx); #0 mailbox_save_continue (ctx=0x80deb54) at mail-storage.c:530 No locals. #1 0x08056ea0 in cmd_append_continue_parsing (cmd=0x80deb10) at cmd-append.c:304 sync_flags = <value optimized out> client = (struct client *) 0x0 ctx = (struct cmd_append_context *) 0x80e0d68 args = (struct imap_arg *) 0x80f3a50 flags_list = (struct imap_arg_list *) 0x80f3af0 flags = MAIL_SEEN keywords_list = (const char * const *) 0x0 keywords = (struct mail_keywords *) 0x0 internal_date_str = 0x0 internal_date = -1 ret = 0 timezone_offset = 0 nonsync = true #2 0x08057045 in cmd_append (cmd=0x80deb54) at cmd-append.c:462 storage = (struct mail_storage *) 0x2 box = <value optimized out> client = (struct client *) 0x80deb10 ctx = (struct cmd_append_context *) 0x80e0d68 mailbox = 0x80dee08 "INBOX" #3 0x0805b368 in client_handle_input (cmd=0x80deb54) at client.c:331 client = (struct client *) 0x80deb10 __PRETTY_FUNCTION__ = "client_handle_input" #4 0x0805b3f7 in client_handle_input (cmd=0x80deb54) at client.c:388 client = (struct client *) 0x80deb10 __PRETTY_FUNCTION__ = "client_handle_input" #5 0x0805ba4c in _client_input (context=0x80deb10) at client.c:428 client = (struct client *) 0x80deb10 cmd = (struct client_command_context *) 0x80deb54 #6 0x080ba752 in io_loop_handler_run (ioloop=0x80dd9b0) at ioloop-poll.c:199 ctx = (struct ioloop_handler_context *) 0x80dd9d8 pollfd = <value optimized out> tv = {tv_sec = 9, tv_usec = 999470} io = (struct io *) 0x80decc8 t_id = 2 msecs = <value optimized out> ret = 0 call = <value optimized out> #7 0x080b9a98 in io_loop_run (ioloop=0x80dd9b0) at ioloop.c:284 No locals. #8 0x08063980 in main (argc=Cannot access memory at address 0x5a8 ) at main.c:287
I have kept the core files and compiled versions this time.
Bye,
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iQEVAwUBRd6rzi9SORjhbDpvAQIBZAf+JsK+xuqPCoj1Txd40K63F0OywIT75VpT RbG399sXlHerD8fsAwVyDM1Bod3uQ5CXjBgNUYzocHNm4dvrCdVXT9eMFW7ISMe1 Vzcu9yWxYOGtQBLiktFEhFtr+uP0GxDuZM3x/Y6OQMda28zJ/lgoFe4pvP1+fE0F gWP5GY1G8Zd/C6bG6TQnsze1eD1jkI4AO6enJLIScze2TK1RthP1lviwMgKvNK7j qvBfWRJ1sS/7yD8QtwIsDSEdxqSY5qG9xDDF0hZP6/Cofm3lRzbuTfkZyCY5bc1n wpqijd5Pya16b56J5J0onhyV0+9AvbF4524W+e+StXl8SGwLVfF/Og== =C/UO -----END PGP SIGNATURE-----
On Fri, 2007-02-23 at 09:49 +0100, Steffen Kaiser wrote:
o_stream_send_istream(/mnt/mailcache/dvtest/MailDir/.test/tmp/1172218409.P19175Q0M237232.ux-2s11-9) failed: Success
Fixed: http://dovecot.org/list/dovecot-cvs/2007-March/007916.html
dovecot: Feb 23 09:13:29 Error: child 19175 (imap) killed with signal 11
Fixed: http://dovecot.org/list/dovecot-cvs/2007-March/007919.html
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Thu, 1 Mar 2007, Timo Sirainen wrote:
On Fri, 2007-02-23 at 09:49 +0100, Steffen Kaiser wrote:
o_stream_send_istream(/mnt/mailcache/dvtest/MailDir/.test/tmp/1172218409.P19175Q0M237232.ux-2s11-9) failed: Success
Fixed: http://dovecot.org/list/dovecot-cvs/2007-March/007916.html
dovecot: Feb 23 09:13:29 Error: child 19175 (imap) killed with signal 11
Fixed: http://dovecot.org/list/dovecot-cvs/2007-March/007919.html
There was one segv immediately after I switched ro rc25, but I forgot to issue "ulimit" before. Then I moved around lots of mail without problem.
I added some stuff to the config (mainly LDAP & SSL).
Today I saw a segv again (below).
I now copied a bunch of message around, again, but no problem.
=======
dovecot: Mar 02 11:07:08 Error: auth(default): ldap(dvtest,10.20.10.63): ldap_search((&(objectClass=fhMailAlias)(uid=dvtest))) failed: No such object dovecot: Mar 02 11:07:08 Error: auth(default): ldap(dvtest,10.20.10.63): ldap_search() failed: No such object dovecot: Mar 02 11:07:08 Error: IMAP(dvtest): o_stream_send_istream(/home/dvtest/MailDir/.Drafts/tmp/1172830028.P20052Q0M313522.ux-2s11-9) failed: Disk quota exceeded dovecot: Mar 02 11:07:08 Error: IMAP(dvtest): Sending log messages too fast, throttling.. dovecot: Mar 02 11:07:08 Error: auth(default): ldap(dvtest,10.20.10.63): ldap_search((&(objectClass=fhMailAlias)(uid=dvtest))) failed: No such object dovecot: Mar 02 11:07:08 Error: auth(default): ldap(dvtest,10.20.10.63): ldap_search() failed: No such object dovecot: Mar 02 11:07:08 Error: child 20052 (imap) killed with signal 11
I wonder: There is another login right before the crash, does this probably mean that thunderbird tried to open yet another connection, and the new one abends and not the one with the "Disc quota" error?
I tried to copy a bunch of messages from one account of the server to another account on the server.
The bad of the crash is that the core file is just 72KB in size and it does not look correct:
# file core_segv11_overquota core_segv11_overquota: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style, from 'imap' # gdb /usr/local/dovecot.rc25/libexec/dovecot/imap core_segv11_overquota GNU gdb 6.4.90-debian Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
Cannot access memory at address 0xb7f0f4e8 (gdb) bt full #0 i_stream_read (stream=Cannot access memory at address 0xbf823f90 ) at istream.c:54 _stream = <value optimized out> Cannot access memory at address 0xbf823f8c
# /usr/local/dovecot.rc25/sbin/dovecot -n # /usr/local/dovecot.rc25/etc/dovecot.conf log_path: /var/log/dovecot/dovecot.log info_log_path: /var/log/dovecot/dovecot.info protocols: imap imaps pop3 pop3s ssl_ca_file: /etc/ssl/certs/ca.crt ssl_cert_file(default): /etc/ssl/certs/imap.pem ssl_cert_file(imap): /etc/ssl/certs/imap.pem ssl_cert_file(pop3): /etc/ssl/certs/pop3.pem ssl_key_file(default): /etc/ssl/private/imap.key ssl_key_file(imap): /etc/ssl/private/imap.key ssl_key_file(pop3): /etc/ssl/private/pop3.key disable_plaintext_auth: no verbose_ssl: yes login_dir: /usr/local/dovecot.rc25/var/run/dovecot/login login_executable(default): /usr/local/dovecot.rc25/libexec/dovecot/imap-login login_executable(imap): /usr/local/dovecot.rc25/libexec/dovecot/imap-login login_executable(pop3): /usr/local/dovecot.rc25/libexec/dovecot/pop3-login login_log_format_elements: %p: user=<%u> method=%m rip=%r lip=%l %c verbose_proctitle: yes first_valid_uid: 1000 mail_location: maildir:%h/MailDir:CONTROL=/var/cache/dovecot/%i/control:INDEX=/var/cache/dovecot/%i/index mail_debug: yes dotlock_use_excl: yes maildir_copy_with_hardlinks: yes maildir_copy_preserve_filename: yes mail_drop_priv_before_exec: yes mail_executable(default): /usr/local/dovecot.rc25/libexec/dovecot/imap mail_executable(imap): /usr/local/dovecot.rc25/libexec/dovecot/imap mail_executable(pop3): /usr/local/dovecot.rc25/libexec/dovecot/pop3 mail_plugins(default): quota imap_quota mail_plugins(imap): quota imap_quota mail_plugins(pop3): quota mail_plugin_dir(default): /usr/local/dovecot.rc25/lib/dovecot/imap mail_plugin_dir(imap): /usr/local/dovecot.rc25/lib/dovecot/imap mail_plugin_dir(pop3): /usr/local/dovecot.rc25/lib/dovecot/pop3 pop3_uidl_format(default): pop3_uidl_format(imap): pop3_uidl_format(pop3): %u pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): oe-ns-eoh namespace: type: private separator: . inbox: yes hidden: yes auth default: mechanisms: plain login cache_size: 10 username_chars: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890 verbose: yes debug: yes debug_passwords: yes passdb: driver: ldap args: /usr/local/dovecot.rc25/etc/dovecot-ldap.conf passdb: driver: pam args: cache_key=%u session=yes dovecot userdb: driver: prefetch userdb: driver: ldap args: /usr/local/dovecot.rc25/etc/dovecot-ldap.conf userdb: driver: passwd socket: type: listen client: path: /var/run/dovecot/auth-client mode: 432 master: path: /var/run/dovecot/auth-master mode: 432 group: mail plugin: quota: fs
I've built Dovecot with:
$ ./configure --with-ldap --with-sql --with-pgsql
- --prefix=/usr/local/dovecot.rc25
Bye,
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iQEVAwUBRef+CC9SORjhbDpvAQLeJQf+PDEkPadX4P1jWTsUkSHORy9wTBmyhjW9 bZMHhN9RsZN6iqS1o1F/08yDHYZmjppiaGdA+BXRKuzaw5eCsdKxvqeSO2pL01Vi 2/hrnJgXWBKWin0Bg4SPw4jBWK232xSqGiMTLpnKSzSNwbHo/q9WQTtxHML5Vklw WwOhysT29YcDkFPVgV2+hybA1oTHZIQo10IWjRDWydElHw7ovnHJr2F2BkMlTnfx JzfeiB1ClIGXDt0PzRVJhK10k6PLol3CVic8BFpmVzS9fEwRuTIeaX/Qewjve2/X w+7u2WxBl8p05P20er91nNtMDUPB6zlwRhCTCl5379FyqRKYvPWjsg== =6sA7 -----END PGP SIGNATURE-----
On Fri, 2007-03-02 at 11:35 +0100, Steffen Kaiser wrote:
dovecot: Mar 02 11:07:08 Error: IMAP(dvtest): o_stream_send_istream(/home/dvtest/MailDir/.Drafts/tmp/1172830028.P20052Q0M313522.ux-2s11-9) failed: Disk quota exceeded dovecot: Mar 02 11:07:08 Error: IMAP(dvtest): Sending log messages too fast, throttling.. dovecot: Mar 02 11:07:08 Error: auth(default): ldap(dvtest,10.20.10.63): ldap_search((&(objectClass=fhMailAlias)(uid=dvtest))) failed: No such object dovecot: Mar 02 11:07:08 Error: auth(default): ldap(dvtest,10.20.10.63): ldap_search() failed: No such object dovecot: Mar 02 11:07:08 Error: child 20052 (imap) killed with signal 11
I wonder: There is another login right before the crash, does this probably mean that thunderbird tried to open yet another connection, and the new one abends and not the one with the "Disc quota" error?
Possibly. You could be sure by adding %p to mail_log_prefix.
I tried to copy a bunch of messages from one account of the server to another account on the server.
The bad of the crash is that the core file is just 72KB in size and it does not look correct:
Yea, and unfortunately doesn't really help. Are the core files also limited by disk quotas? If not, maybe the next time it crashes it'll produce more usable core file.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Fri, 23 Feb 2007, Steffen Kaiser wrote:
Hello,
(This time I saved the core file.)
again killed with signal 11 when hard fs quota got reached.
I started three mailutil copy processes in parallel, then the segv.
ar/cache/dovecot/1022/index dovecot: Mar 15 14:14:53 Info: IMAP(dvtest2) [30716]: maildir: root=/home/dvtest2/MailDir, index=/var/cache/dovecot/1022/index, control=/var/cache/dovecot/1022/control, inbox= dovecot: Mar 15 14:14:53 Info: IMAP(dvtest2) [30716]: fs quota add storage dir = /home/dvtest2/MailDir dovecot: Mar 15 14:14:53 Info: IMAP(dvtest2) [30716]: fs quota block device = /dev/mapper/mailstud-mailstud dovecot: Mar 15 14:14:53 Info: IMAP(dvtest2) [30716]: fs quota mount point = /home
[SNIP]
dovecot: Mar 15 14:14:59 Info: IMAP(dvtest2) [30717]: fs quota add storage dir = /home/dvtest2/MailDir dovecot: Mar 15 14:14:59 Info: IMAP(dvtest2) [30717]: fs quota block device = /dev/mapper/mailstud-mailstud dovecot: Mar 15 14:14:59 Info: IMAP(dvtest2) [30717]: fs quota mount point = /home dovecot: Mar 15 14:14:59 Error: child 30716 (imap) killed with signal 11 dovecot: Mar 15 14:14:59 Info: IMAP(skaise2a) [30692]: Disconnected: Logged out dovecot: Mar 15 14:15:04 Info: IMAP(skaise2a) [30710]: Disconnected: Logged out dovecot: Mar 15 14:15:04 Info: IMAP(dvtest2) [30717]: Disconnected: Logged out
Another client has been authorized and instantly another client got the segv.
warning: Can't read pathname for load map: Input/output error. Reading symbols from /lib/tls/i686/cmov/libdl.so.2...done. Loaded symbols for /lib/tls/i686/cmov/libdl.so.2 Reading symbols from /lib/tls/i686/cmov/libc.so.6...done. Loaded symbols for /lib/tls/i686/cmov/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /usr/local/dovecot.rc27/lib/dovecot/imap/lib10_quota_plugin.so...done. Loaded symbols for /usr/local/dovecot.rc27/lib/dovecot/imap/lib10_quota_plugin.so Reading symbols from /usr/local/dovecot.rc27/lib/dovecot/imap/lib11_imap_quota_plugin.so...done. Loaded symbols for /usr/local/dovecot.rc27/lib/dovecot/imap/lib11_imap_quota_plugin.so Reading symbols from /usr/local/dovecot.rc27/lib/dovecot/imap/lib20_mail_log_plugin.so...done. Loaded symbols for /usr/local/dovecot.rc27/lib/dovecot/imap/lib20_mail_log_plugin.so Reading symbols from /usr/local/dovecot.rc27/lib/dovecot/imap/lib20_zlib_plugin.so...done. Loaded symbols for /usr/local/dovecot.rc27/lib/dovecot/imap/lib20_zlib_plugin.so Reading symbols from /usr/lib/libz.so.1...done. Loaded symbols for /usr/lib/libz.so.1 Core was generated by `imap [dvtest2 127.0.0.1]'. Program terminated with signal 11, Segmentation fault. #0 i_stream_read (stream=0x0) at istream.c:54 54 if (stream->closed) (gdb) bt full #0 i_stream_read (stream=0x0) at istream.c:54 _stream = <value optimized out> #1 0x08056b19 in cmd_append_continue_message (cmd=0x80e1104) at cmd-append.c:345 client = (struct client *) 0x80e10c0 ctx = (struct cmd_append_context *) 0x80e4320 size = <value optimized out> ret = <value optimized out> #2 0x08057323 in client_input (context=0x80e10c0) at cmd-append.c:70 client = (struct client *) 0x80e10c0 cmd = (struct client_command_context *) 0x80e1104 #3 0x080bb732 in io_loop_handler_run (ioloop=0x80de9b0) at ioloop-poll.c:199 ctx = (struct ioloop_handler_context *) 0x80de9d8 pollfd = <value optimized out> tv = {tv_sec = 3, tv_usec = 578475} io = (struct io *) 0x80e2278 t_id = 2 msecs = <value optimized out> ret = 0 call = <value optimized out> #4 0x080ba9f8 in io_loop_run (ioloop=0x80de9b0) at ioloop.c:323 No locals. #5 0x08063bf0 in main (argc=Cannot access memory at address 0x0 ) at main.c:287 home = 0x0
=================
# /usr/local/dovecot.rc27/etc/dovecot.conf base_dir: /var/run/dovecot/ log_path: /var/log/dovecot/dovecot.log protocols: imap imaps pop3 pop3s ssl_ca_file: /etc/ssl/certs/ca.crt ssl_cert_file(default): /etc/ssl/certs/imap.pem ssl_cert_file(imap): /etc/ssl/certs/imap.pem ssl_cert_file(pop3): /etc/ssl/certs/pop3.pem ssl_key_file(default): /etc/ssl/private/imap.key ssl_key_file(imap): /etc/ssl/private/imap.key ssl_key_file(pop3): /etc/ssl/private/pop3.key disable_plaintext_auth: no verbose_ssl: yes login_dir: /var/run/dovecot//login login_executable(default): /usr/local/dovecot.rc27/libexec/dovecot/imap-login login_executable(imap): /usr/local/dovecot.rc27/libexec/dovecot/imap-login login_executable(pop3): /usr/local/dovecot.rc27/libexec/dovecot/pop3-login login_log_format_elements: %p: user=<%u> method=%m rip=%r lip=%l %c verbose_proctitle: yes first_valid_uid: 1000 mail_location: maildir:%h/MailDir:CONTROL=/var/cache/dovecot/%i/control:INDEX=/var/cache/dovecot/%i/index mail_debug: yes dotlock_use_excl: yes maildir_copy_with_hardlinks: yes maildir_copy_preserve_filename: yes mail_drop_priv_before_exec: yes mail_executable(default): /usr/local/dovecot.rc27/libexec/dovecot/imap mail_executable(imap): /usr/local/dovecot.rc27/libexec/dovecot/imap mail_executable(pop3): /usr/local/dovecot.rc27/libexec/dovecot/pop3 mail_plugins(default): quota imap_quota mail_log zlib mail_plugins(imap): quota imap_quota mail_log zlib mail_plugins(pop3): quota mail_log mail_plugin_dir(default): /usr/local/dovecot.rc27/lib/dovecot/imap mail_plugin_dir(imap): /usr/local/dovecot.rc27/lib/dovecot/imap mail_plugin_dir(pop3): /usr/local/dovecot.rc27/lib/dovecot/pop3 mail_log_prefix: %Us(%u) [%p]: mail_log_max_lines_per_sec: 30 pop3_uidl_format(default): pop3_uidl_format(imap): pop3_uidl_format(pop3): %u pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): oe-ns-eoh namespace: type: private separator: . inbox: yes hidden: yes auth default: mechanisms: plain login cache_size: 10 username_chars: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890 verbose: yes debug: yes debug_passwords: yes passdb: driver: ldap args: /usr/local/dovecot.rc26/etc/dovecot-ldap.conf passdb: driver: shadow userdb: driver: prefetch userdb: driver: ldap args: /usr/local/dovecot.rc26/etc/dovecot-ldap.conf userdb: driver: passwd-file args: /etc/passwd socket: type: listen client: path: /var/run/dovecot/auth-client mode: 432 master: path: /var/run/dovecot/auth-master mode: 432 group: mail plugin: quota: fs
Bye,
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iQEVAwUBRflK0i9SORjhbDpvAQKBNwgA3hCdPeqVJq/fyHNXWuTAc9NJ8lguYrdp cxa7TOrgLIf1I2wM9zwnoTDFJXcuFv2rqRX82fCBQiz2JebhsnevyUvny4jtJHlf vQiK9ufanFNzbeqYJkrBU065rz8sVgiXMHm01CtusZQK+3ylEXgxofWoeel/U+va 2aX/xBSgR/womVhr6EMRLZnHWJsZ3OV6GGC1TvvlLo5myCspngtL3oBKg5D8uNIG b2LPMQe9nAHt1lkQq5dEa6+1Dg69tLhViJTCdg2F4MI/UBTlt01dxa9mhsXXjcnH lugKl0d2WjDYJ+PDO0BqIPnKTww2OEN34pdjyUiNMoDS8MWvi7/rnw== =rxRi -----END PGP SIGNATURE-----
On Thu, 2007-03-15 at 14:32 +0100, Steffen Kaiser wrote:
#0 i_stream_read (stream=0x0) at istream.c:54 _stream = <value optimized out> #1 0x08056b19 in cmd_append_continue_message (cmd=0x80e1104) at cmd-append.c:345
This should fix it: http://dovecot.org/list/dovecot-cvs/2007-March/008165.html
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Thu, 15 Mar 2007, Timo Sirainen wrote:
On Thu, 2007-03-15 at 14:32 +0100, Steffen Kaiser wrote:
#0 i_stream_read (stream=0x0) at istream.c:54 _stream = <value optimized out> #1 0x08056b19 in cmd_append_continue_message (cmd=0x80e1104) at cmd-append.c:345
This should fix it: http://dovecot.org/list/dovecot-cvs/2007-March/008165.html
Great, no segv anymore!
I had tested Dovecot like before (starting several copy-processes), no crash. Then I ran imaptest10 for more than two houres, no crash. Then I ran 30 imaptest10 processes concurrently for another two houres, no crash. I'm impressed.
Regards,
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux)
iQEVAwUBRfp7sC9SORjhbDpvAQJWVwf9E8qiO6bhhEgLGGDMeoNnZS/D6pSDnkdW xuU0mkXIq2qqMLjHPQDGcZ1zqNwM81hOIbdfo8VcNXRco+PhMOcPb6Fxfy7gjjXT DOigeVIdpa4DVJaFizhQSqBkj934LMEde48xPcdrBQSTsqvueczHoTF7+2hPOrZ7 y+emeY0XcUyntYMUqF/ERYPn2LihhJLinS4nUmLB89wcqKmFOoS3zoxKa5rkzCkU 3HBgQrtmHudclmEEJWvdDGKreO8O0zgNhaEMYgkK+XAfg1NkN0OwZeRWAhbajXS3 hdc0t3pWwqFIE74YCRdWgihUMpPV3Bptlh9gPzHeSXAE/DOUHymXhQ== =+HKo -----END PGP SIGNATURE-----
participants (2)
-
Steffen Kaiser
-
Timo Sirainen