[Dovecot] Dovecot v1.2 rawlog in dovecot.conf trouble
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hello, using Dovecot v1.2 changeset: 9126:b745911012bb This line in dovecot.conf make trouble (wrapped in mail): mail_executable = /usr/local/dovecot-1.2.rc5unpatched/libexec/dovecot/rawlog /usr/local/dovecot-1.2.rc5unpatched/libexec/dovecot/imap # sbin/dovecot -F Fio_loop_handle_add: epoll_ctl(1, 0): Operation not permitted Error: imap dump-capability process killed with signal 13 Fatal: Invalid configuration in /usr/local/dovecot-1.2.rc5unpatched/etc/dovecot.conf If I remove rawlog from dovecot.conf, dovecot -F starts up nicely. == I strace'd the problem and finally the following program is exec'ed (wrapped in mail): bunch of env-vars /usr/local/dovecot-1.2.rc5unpatched/libexec/dovecot/rawlog /usr/local/dovecot-1.2.rc5unpatched/libexec/dovecot/imap '[dump-capability' '??]' When I start this line (incl. all the env vars) as root, I get: * BAD [ALERT] imap binary must not be started from inetd, use imap-login instead. When I remove rawlog, I get: ILoading modules from directory: /usr/local/dovecot-1.2.rc5unpatched/lib/dovecot/imap [snip] IMAP4rev1 [...snip...] What I interprete as OK. Bye, - -- Steffen Kaiser -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) iQEVAwUBSjYR2nWSIuGy1ktrAQJH5QgAu8lB/k2fC1ebjzJyU9Sl/8BCf4XwdjkP Z6GGtLi5wZFlW2kGyNr9gJ4Cb5VXQjzs32MKu5h1yH4uLPagy9m6TJzikp4zdiMl lt7HRxZcSA/eVzEx/HZeoezv9hBzqwP9uGJ0G1drORHqfSqPKFjWER3HhDOfAeEe MQcA9onTe08bAB3+95vHCih5Sy7c7sjKgFVUv1NOhKp/cRaALZB7LUZQhaJEOyQ8 fwtXniXCF9JRfkjmpoZT2nRSBd+M6DrSjBshCyWEQOfCX0PgeYM0ytwCsTgGUH6V xj18c0dTUuaf/G8FPzL3c8O3bbFwFlgn7b+0MvhDQdcOAiYnDjUmLA== =cTQj -END PGP SIGNATURE-
[Dovecot] enourmous amount of disc writes
Hi List, on my mailserver (exim4, dovecot 1.0.0, postgresql, ubuntu dapper, about 500 users) I record an enourmous amount of disc writes (up to 18000 blocks written each second) in the time where most of users are active. This IO activity causes wait-states on the disc interface (RAID5) and finally slows down my mailmachine. Is there a explanation for these disc writes respectively is there a possibility to minimize this activity. Stopping Dovecot on this machine causes stopping most of the disc activity. Regards Rainer Sigl -- - Rainer Sigl, | email: s...@mpe.mpg.de MPI f. extraterrestrische Physik, | phone: +49 (89) 3-3557 Postfach 1312,| fax: +49 (89) 3-3569 D-85741 Garching, Germany | web: http://www.mpe.mpg.de/~sigl/ smime.p7s Description: S/MIME Cryptographic Signature
Re: [Dovecot] enourmous amount of disc writes
Rainer Sigl schrieb: Hi List, on my mailserver (exim4, dovecot 1.0.0, postgresql, ubuntu dapper, about 500 users) I record an enourmous amount of disc writes (up to 18000 blocks written each second) in the time where most of users are active. This IO activity causes wait-states on the disc interface (RAID5) and finally slows down my mailmachine. Is there a explanation for these disc writes respectively is there a possibility to minimize this activity. Stopping Dovecot on this machine causes stopping most of the disc activity. Regards Rainer Sigl Hi Rainer first you should upgrade to the latest stable of the 1.x branch or better 1.1.x, also dapper is very old perhaps try hardy then retest, i run 2000 users on suse with dovecot 1.0.15 and mysql on sata 3ware hardware raid 1 500 GB on ext3 without any problems -- Best Regards MfG Robert Schetterer Germany/Munich/Bavaria
[Dovecot] Dovecot v1.2 assert() in ACL
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hello, using Dovecot v1.2 changeset: 9126:b745911012bb ACL config: acl = vfile # To let users LIST mailboxes shared by other users, Dovecot needs a # shared mailbox dictionary. For example: acl_shared_dict = file:/var/cache/dovecot/shared-mailboxes telnet localhost imap 0 login 1 getacl Sent * ACL Sent testuser lrwstipekxacd 1 OK Getacl completed. 2 setacl Sent timo +lrwtsd 2 OK Setacl complete. 3 setacl Sent timo -lrwtsd Aborted (core dumped) cat /var/cache/dovecot/shared-mailboxes shared/shared-boxes/user/timo/testuser 1 === The assert happens when the last right is to remove: setacl I user +lwp setacl I user -l setacl I user -w setacl I user -p Abort === log: Panic: file ../../../src/lib/array.h: line 162 (array_idx_i): assertion failed: (idx * array-element_size array-buffer-used) Raw backtrace: imap [0x80e9ed0] - imap(i_syslog_fatal_handler+0x2d) [0x80e9f6d] - imap [0x80e97da] - /usr/local/dovecot-1.2.rc5unpatched/lib/dovecot/imap/lib01_acl_plugin.so [0xb7e4ede4] - /usr/local/dovecot-1.2.rc5unpatched/lib/dovecot/imap/lib01_acl_plugin.so [0xb7e4ee40] - /usr/local/dovecot-1.2.rc5unpatched/lib/dovecot/imap/lib01_acl_plugin.so [0xb7e50c3b] - /usr/local/dovecot-1.2.rc5unpatched/lib/dovecot/imap/lib01_acl_plugin.so(acl_object_update+0x18) [0xb7e4de98] - /usr/local/dovecot-1.2.rc5unpatched/lib/dovecot/imap/lib02_imap_acl_plugin.so [0xb7f951cf] - imap [0x8063dbc] - imap [0x8063e6b] - imap(client_handle_input+0x3f) [0x8063fbf] - imap(client_input+0x5f) [0x8064b2f] - imap(io_loop_handler_run+0x110) [0x80f2a10] - imap(io_loop_run+0x28) [0x80f1ad8] - imap(main+0x764) [0x806cf34] - /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xc8) [0xb7e6eea8] - imap [0x805cb71] (gdb) bt full #0 0xb7f99410 in ?? () No symbol table info available. #1 0xbfe106ac in ?? () No symbol table info available. #2 0x0006 in ?? () No symbol table info available. #3 0x54a6 in ?? () No symbol table info available. #4 0xb7e82811 in raise () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #5 0xb7e83fb9 in abort () from /lib/tls/i686/cmov/libc.so.6 No symbol table info available. #6 0x080e9edd in default_fatal_finish (type=value optimized out, status=0) at failures.c:160 backtrace = 0x81205e0 imap [0x80e9ed0] - imap(i_syslog_fatal_handler+0x2d) [0x80e9f6d] - imap [0x80e97da] - /usr/local/dovecot-1.2.rc5unpatched/lib/dovecot/imap/lib01_acl_plugin.so [0xb7e4ede4] - /usr/local/dovecot-1.2... #7 0x080e9f6d in i_syslog_fatal_handler (type=LOG_TYPE_PANIC, status=0, fmt=0xb7e55714 file %s: line %d (%s): assertion failed: (%s), args=0xbfe10854 \Y?) at failures.c:315 No locals. #8 0x080e97da in i_panic ( format=0xb7e55714 file %s: line %d (%s): assertion failed: (%s)) at failures.c:207 args = 0xbfe10854 \Y? #9 0xb7e4ede4 in modify_right_list (pool=0x8154330, rightsp=0x8154450, modify_rights=0x8120338, modify_mode=ACL_MODIFY_MODE_REMOVE) at ../../../src/lib/array.h:162 old_rights = (const char * const *) 0x8154360 new_rights = (const char * const *) 0xbfe10894 null = 0x0 #10 0xb7e4ee40 in vfile_object_modify_right (aclobj=0x81542d0, idx=0, update=0xbfe10a2c) at acl-backend-vfile.c:940 c1 = 74 c2 = value optimized out #11 0xb7e50c3b in acl_backend_vfile_object_update (_aclobj=0x81542d0, update=0xbfe10a2c) at acl-backend-vfile.c:1099 str = value optimized out i = value optimized out ret = value optimized out output = value optimized out rights = value optimized out aclobj = (struct acl_object_vfile *) 0x0 dotlock = value optimized out path = value optimized out i = 0 fd = 7 changed = value optimized out __PRETTY_FUNCTION__ = acl_backend_vfile_object_update #12 0xb7e4de98 in acl_object_update (aclobj=0x81542d0, update=0xbfe10a2c) at acl-api.c:137 No locals. #13 0xb7f951cf in cmd_setacl (cmd=0x8130a10) at imap-acl-plugin.c:574 ns = (struct mail_namespace *) 0x8129988 storage = value optimized out box = (struct mailbox *) 0x8154f88 backend = (struct acl_backend *) 0x812e2f0 update = {rights = {id_type = ACL_ID_USER, identifier = 0x8135b18 timo, rights = 0x8120338, neg_rights = 0x0, global = 0}, modify_mode = ACL_MODIFY_MODE_REMOVE, neg_modify_mode = ACL_MODIFY_MODE_REMOVE} mailbox = 0x8135b10 Sent identifier = 0x8135b18 timo rights = 0x8135b21 lrwtsd error = value optimized out negative = false #14 0x08063dbc in client_command_input (cmd=0x8130a10) at client.c:607 client = (struct client *) 0x812f748 command = value optimized out __PRETTY_FUNCTION__ = client_command_input #15 0x08063e6b in client_command_input (cmd=0x8130a10) at client.c:656 client = (struct client *) 0x812f748 command = (struct command *) 0x54a6
Re: [Dovecot] enourmous amount of disc writes
Hello, You might also want to enable noatime in the mount options for the volume housing the data... if you're using maildir, this *could* reduce the number of writes by half, theoretically! Richard. Robert Schetterer wrote: Rainer Sigl schrieb: Hi List, on my mailserver (exim4, dovecot 1.0.0, postgresql, ubuntu dapper, about 500 users) I record an enourmous amount of disc writes (up to 18000 blocks written each second) in the time where most of users are active. This IO activity causes wait-states on the disc interface (RAID5) and finally slows down my mailmachine. Is there a explanation for these disc writes respectively is there a possibility to minimize this activity. Stopping Dovecot on this machine causes stopping most of the disc activity. Regards Rainer Sigl Hi Rainer first you should upgrade to the latest stable of the 1.x branch or better 1.1.x, also dapper is very old perhaps try hardy then retest, i run 2000 users on suse with dovecot 1.0.15 and mysql on sata 3ware hardware raid 1 500 GB on ext3 without any problems -- Richard Hobbs (IT Specialist) Toshiba Research Europe Ltd. - Cambridge Research Laboratory Email: richard.ho...@crl.toshiba.co.uk Web: http://www.toshiba-europe.com/research/ Tel: +44 1223 436999Mobile: +44 7811 803377 smime.p7s Description: S/MIME Cryptographic Signature
Re: [Dovecot] enourmous amount of disc writes
Hi Robert, many thanks for your answer! Yes I'm aware of the necessity to upgrade the complete system. Beside this I wanted to search for a quick solution. Upgrading the system entails many other things and is in my eyes not possible on the living system. Regards Rainer Robert Schetterer wrote: Rainer Sigl schrieb: Hi List, on my mailserver (exim4, dovecot 1.0.0, postgresql, ubuntu dapper, about 500 users) I record an enourmous amount of disc writes (up to 18000 blocks written each second) in the time where most of users are active. This IO activity causes wait-states on the disc interface (RAID5) and finally slows down my mailmachine. Is there a explanation for these disc writes respectively is there a possibility to minimize this activity. Stopping Dovecot on this machine causes stopping most of the disc activity. Regards Rainer Sigl Hi Rainer first you should upgrade to the latest stable of the 1.x branch or better 1.1.x, also dapper is very old perhaps try hardy then retest, i run 2000 users on suse with dovecot 1.0.15 and mysql on sata 3ware hardware raid 1 500 GB on ext3 without any problems -- - Rainer Sigl, | email: s...@mpe.mpg.de MPI f. extraterrestrische Physik, | phone: +49 (89) 3-3557 Postfach 1312,| fax: +49 (89) 3-3569 D-85741 Garching, Germany | web: http://www.mpe.mpg.de/~sigl/ smime.p7s Description: S/MIME Cryptographic Signature
Re: [Dovecot] enourmous amount of disc writes
Hi Robert, many thanks for your answer! Yes I'm aware of the necessity to upgrade the complete system. Beside this I wanted to search for a quick solution. Upgrading the system entails many other things and is in my eyes not possible on the living system. Did you ever measure the ioactiviy with iostat on your machine? Please tell me the output values. Which hardware do you use? I have a RAID5 with 3ware 7000 series. Regards Rainer Robert Schetterer wrote: Rainer Sigl schrieb: Hi List, on my mailserver (exim4, dovecot 1.0.0, postgresql, ubuntu dapper, about 500 users) I record an enourmous amount of disc writes (up to 18000 blocks written each second) in the time where most of users are active. This IO activity causes wait-states on the disc interface (RAID5) and finally slows down my mailmachine. Is there a explanation for these disc writes respectively is there a possibility to minimize this activity. Stopping Dovecot on this machine causes stopping most of the disc activity. Regards Rainer Sigl Hi Rainer first you should upgrade to the latest stable of the 1.x branch or better 1.1.x, also dapper is very old perhaps try hardy then retest, i run 2000 users on suse with dovecot 1.0.15 and mysql on sata 3ware hardware raid 1 500 GB on ext3 without any problems -- - Rainer Sigl, | email: s...@mpe.mpg.de MPI f. extraterrestrische Physik, | phone: +49 (89) 3-3557 Postfach 1312,| fax: +49 (89) 3-3569 D-85741 Garching, Germany | web: http://www.mpe.mpg.de/~sigl/ smime.p7s Description: S/MIME Cryptographic Signature
Re: [Dovecot] enourmous amount of disc writes
Hi Richard, many thanks for you answer. yes, this solution did we discuss as well. For a future testing system I will try this. But I can't use it on the living system in the moment. Regards Rainer Richard Hobbs wrote: Hello, You might also want to enable noatime in the mount options for the volume housing the data... if you're using maildir, this *could* reduce the number of writes by half, theoretically! Richard. Robert Schetterer wrote: Rainer Sigl schrieb: Hi List, on my mailserver (exim4, dovecot 1.0.0, postgresql, ubuntu dapper, about 500 users) I record an enourmous amount of disc writes (up to 18000 blocks written each second) in the time where most of users are active. This IO activity causes wait-states on the disc interface (RAID5) and finally slows down my mailmachine. Is there a explanation for these disc writes respectively is there a possibility to minimize this activity. Stopping Dovecot on this machine causes stopping most of the disc activity. Regards Rainer Sigl Hi Rainer first you should upgrade to the latest stable of the 1.x branch or better 1.1.x, also dapper is very old perhaps try hardy then retest, i run 2000 users on suse with dovecot 1.0.15 and mysql on sata 3ware hardware raid 1 500 GB on ext3 without any problems -- - Rainer Sigl, | email: s...@mpe.mpg.de MPI f. extraterrestrische Physik, | phone: +49 (89) 3-3557 Postfach 1312,| fax: +49 (89) 3-3569 D-85741 Garching, Germany | web: http://www.mpe.mpg.de/~sigl/ smime.p7s Description: S/MIME Cryptographic Signature
Re: [Dovecot] enourmous amount of disc writes
I think I mentioned this twice with little response by the DC community, but here goes a third time. I have things set up so that I can kill DC, swap in the new executables and restart DC, all in about 4 minutes or less. And if things go wrong, I can fall back just as fast. Users don't know that I've done anything (if the upgrade is good); I usually do it during lunchtimeso there shouldn't be a problem with doing it prime shift. So upgrade shouldn't be a big deal. Of course, I'm running a pretty vanilla DC install with no real plugin, no deliver, etc. -- Once upon a time, the Internet was a friendly, neighbors-helping-neighbors small town, and no one locked their doors. Now it's like an apartment in Bed-Stuy: you need three heavy duty pick-proof locks, one of those braces that goes from the lock to the floor, and bars on the windows Stewart Dean, Unix System Admin, Bard College, New York 12504 sd...@bard.edu voice: 845-758-7475, fax: 845-758-7035
Re: [Dovecot] Dovecot Top?
Timo Sirainen wrote: On Jun 11, 2009, at 11:23 AM, Andrew Hearn wrote: We occasional see high load peaks on our mail servers - these generally don't only last a few minutes. 'Top' show imap taking the lots of CPU resources, is there a dovecot 'top' like program to show dovecot which users are taking system resources? That is something I've wished to implement for a long time, but I never really have time. But v1.2 keeps track of various things and it would be possible to create some kind of a dovecot-top based on those. Currently there's a stats plugin that can log some of those things: http://dovecot.org/patches/1.2/stats-plugin.c Although that plugin doesn't currently log what I added most recently: http://www.mail-archive.com/dovecot@dovecot.org/msg18477.html Thanks Timo, Thanks for the info, I'll look forward to this... -- Andrew Hearn.
Re: [Dovecot] enourmous amount of disc writes
Rainer Sigl schrieb: Hi Robert, many thanks for your answer! Yes I'm aware of the necessity to upgrade the complete system. Beside this I wanted to search for a quick solution. Upgrading the system entails many other things and is in my eyes not possible on the living system. look for parameters in dovecot.conf example which might help you with your problem Did you ever measure the ioactiviy with iostat on your machine? no i havent, why should i ,its running fine since years, i have a meassure from an nearly equal server which runs sharedweb apache2, it shows nearly null iostat, only during a rsync back there are a few outbreaks but that might be not comparable to a imap server Please tell me the output values. Which hardware do you use? I have a RAID5 with 3ware 7000 series. i have 3ware 9550SX SATA-RAID Regards Rainer Robert Schetterer wrote: Rainer Sigl schrieb: Hi List, on my mailserver (exim4, dovecot 1.0.0, postgresql, ubuntu dapper, about 500 users) I record an enourmous amount of disc writes (up to 18000 blocks written each second) in the time where most of users are active. This IO activity causes wait-states on the disc interface (RAID5) and finally slows down my mailmachine. Is there a explanation for these disc writes respectively is there a possibility to minimize this activity. Stopping Dovecot on this machine causes stopping most of the disc activity. Regards Rainer Sigl Hi Rainer first you should upgrade to the latest stable of the 1.x branch or better 1.1.x, also dapper is very old perhaps try hardy then retest, i run 2000 users on suse with dovecot 1.0.15 and mysql on sata 3ware hardware raid 1 500 GB on ext3 without any problems -- Best Regards MfG Robert Schetterer Germany/Munich/Bavaria
[Dovecot] [Fwd: Re: enourmous amount of disc writes]
Original Message Subject: Re: [Dovecot] enourmous amount of disc writes Date: Mon, 15 Jun 2009 18:48:50 +0200 From: Rainer Sigl s...@mpe.mpg.de To: Ralf Hildebrandt ralf.hildebra...@charite.de References: 4a3640c5.1070...@mpe.mpg.de 4a364233.6090...@schetterer.org 4a365913.6030...@mpe.mpg.de 20090615142836.gx29...@charite.de ok, ich haette gerne von iostat 1 die folgenden Werte nach dem ersten. Die erste Zeile zeigt immer einen overall average seit dem letzten Boot an. Dieser Wert ist bei mir auch rel. harmlos. Die Spitzen sind untertags. Gruss Rainer Ralf Hildebrandt wrote: * Rainer Sigl s...@mpe.mpg.de: Hi Robert, many thanks for your answer! Yes I'm aware of the necessity to upgrade the complete system. Beside this I wanted to search for a quick solution. Upgrading the system entails many other things and is in my eyes not possible on the living system. Du wärst erstaunt was alles geht... Did you ever measure the ioactiviy with iostat on your machine? Please tell me the output values. Which hardware do you use? Welches iostat output willst Du? wir haben READ 2.0MByte/s WRITE 0.5MBytes/s bei 12.000 Usern. -- - Rainer Sigl, | email: s...@mpe.mpg.de MPI f. extraterrestrische Physik, | phone: +49 (89) 3-3557 Postfach 1312,| fax: +49 (89) 3-3569 D-85741 Garching, Germany | web: http://www.mpe.mpg.de/~sigl/ -- - Rainer Sigl, | email: s...@mpe.mpg.de MPI f. extraterrestrische Physik, | phone: +49 (89) 3-3557 Postfach 1312,| fax: +49 (89) 3-3569 D-85741 Garching, Germany | web: http://www.mpe.mpg.de/~sigl/ smime.p7s Description: S/MIME Cryptographic Signature
Re: [Dovecot] enourmous amount of disc writes
Dunno how much this applys to a local drive, but: I run dovecot for about 40k users over nfs. Default install of redhat el5 The version of dovecot shipped with redhat caused all kinds of user issues, so swapped it out with a pre 1.0 release of dovecot that I knew was good. About a year ago, I upgraded it to dovecot 1.1.3, and I freaked out, cause we have no load on the mail/nfs servers at all. The nfs load dropped to only 6% of what it was doing. No user complaints, everything has been good for a year. I was completely paranoid for a few days after the upgrade though, cause my stats dropped so much. Quoting Rainer Sigl s...@mpe.mpg.de: Hi Richard, many thanks for you answer. yes, this solution did we discuss as well. For a future testing system I will try this. But I can't use it on the living system in the moment. Regards Rainer Richard Hobbs wrote: Hello, You might also want to enable noatime in the mount options for the volume housing the data... if you're using maildir, this *could* reduce the number of writes by half, theoretically! Richard. Robert Schetterer wrote: Rainer Sigl schrieb: Hi List, on my mailserver (exim4, dovecot 1.0.0, postgresql, ubuntu dapper, about 500 users) I record an enourmous amount of disc writes (up to 18000 blocks written each second) in the time where most of users are active. This IO activity causes wait-states on the disc interface (RAID5) and finally slows down my mailmachine. Is there a explanation for these disc writes respectively is there a possibility to minimize this activity. Stopping Dovecot on this machine causes stopping most of the disc activity. Regards Rainer Sigl Hi Rainer first you should upgrade to the latest stable of the 1.x branch or better 1.1.x, also dapper is very old perhaps try hardy then retest, i run 2000 users on suse with dovecot 1.0.15 and mysql on sata 3ware hardware raid 1 500 GB on ext3 without any problems -- - Rainer Sigl, | email: s...@mpe.mpg.de MPI f. extraterrestrische Physik, | phone: +49 (89) 3-3557 Postfach 1312,| fax: +49 (89) 3-3569 D-85741 Garching, Germany | web: http://www.mpe.mpg.de/~sigl/
[Dovecot] mixing dovecot and non-dovecot access to mail
Hello, I have recently installed Mailscanner/postfix for the mail server and dovecot for (mainly remote) access to email (via T'bird etc. and/or Webmail). Most users still use text mail clients (mutt, pine, some still old elm) while in the office. These clients access mail (both incoming at /var/mail/ and users' private folders in ~/Mail) directly. I wonder whether this mixing of dovecot and non-dovecot access can make any problems, provide, of course, that the users are not using both ways at the same time. AFAIK dovecot makes some indexing. Will it not be confused if the folder is changed and de-sync-ed with the index? regards, Michal. -- Michal Szymanski (msz at astrouw dot edu dot pl) Warsaw University Observatory, Warszawa, POLAND -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
Re: [Dovecot] Dovecot Antispam plugin
Timo, Christian has reported an error to me on dovecot 1.0.7, where the following code: 199 if (i_stream_read_data(mailstream, beginning, size, 5) 0 || 200 size 5) { 201 ret = -1; 202 mail_storage_set_error(t-box-storage, 203ME(NOTPOSSIBLE) 204Failed to read mail beginning); 205 goto failed_to_copy; 206 } 207 208 /* From ? skip line */ 209 if (memcmp(From , beginning, 5) == 0) { 210 i_stream_read_next_line(mailstream); 211 } else { 212 if (o_stream_send(outstream, beginning, 5) != 5) { 213 ret = -1; 214 mail_storage_set_error(t-box-storage, 215ME(NOTPOSSIBLE) 216Failed to write line to temp); 217 goto failed_to_copy; 218 } 219 } 220 221 if (o_stream_send_istream(outstream, mailstream) 0) { 222 ret = -1; 223 mail_storage_set_error(t-box-storage, 224ME(NOTPOSSIBLE) 225Failed to copy to spool file); 226 goto failed_to_copy; 227 } with a mailstream that start with X-Spam-... will result in a file stored that starts with X-SpaX-Spam- I've read the above code many times now and tried to find a problem with it, but I don't see it -- could you help us? johannes signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Dovecot Antispam plugin
On Mon, 2009-06-15 at 21:03 +0200, Johannes Berg wrote: Christian has reported an error to me on dovecot 1.0.7, where the following code: 199 if (i_stream_read_data(mailstream, beginning, size, 5) 0 || 200 size 5) { .. 212 if (o_stream_send(outstream, beginning, 5) != 5) { .. 221 if (o_stream_send_istream(outstream, mailstream) 0) { .. with a mailstream that start with X-Spam-... will result in a file stored that starts with X-SpaX-Spam- I've read the above code many times now and tried to find a problem with it, but I don't see it -- could you help us? The problem is that the istream API doesn't work the way you expect. Just reading doesn't advance the stream, only calling i_stream_skip() or i_stream_seek() does that (and o_stream_send_istream() internally). So just remove the o_stream_send(beginning) call and it'll work. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Dovecot Antispam plugin
On Mon, 2009-06-15 at 15:08 -0400, Timo Sirainen wrote: On Mon, 2009-06-15 at 21:03 +0200, Johannes Berg wrote: Christian has reported an error to me on dovecot 1.0.7, where the following code: 199 if (i_stream_read_data(mailstream, beginning, size, 5) 0 || 200 size 5) { .. 212 if (o_stream_send(outstream, beginning, 5) != 5) { .. 221 if (o_stream_send_istream(outstream, mailstream) 0) { .. with a mailstream that start with X-Spam-... will result in a file stored that starts with X-SpaX-Spam- I've read the above code many times now and tried to find a problem with it, but I don't see it -- could you help us? The problem is that the istream API doesn't work the way you expect. Just reading doesn't advance the stream, only calling i_stream_skip() or i_stream_seek() does that (and o_stream_send_istream() internally). So just remove the o_stream_send(beginning) call and it'll work. Aha! I knew I was missing something, thanks. Does i_stream_read_next_line() skip over the line? johannes signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Dovecot Antispam plugin
On Mon, 2009-06-15 at 21:11 +0200, Johannes Berg wrote: The problem is that the istream API doesn't work the way you expect. Just reading doesn't advance the stream, only calling i_stream_skip() or i_stream_seek() does that (and o_stream_send_istream() internally). So just remove the o_stream_send(beginning) call and it'll work. Aha! I knew I was missing something, thanks. Does i_stream_read_next_line() skip over the line? Yes, that too. :) signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Dovecot Antispam plugin
On Mon, 2009-06-15 at 15:15 -0400, Timo Sirainen wrote: On Mon, 2009-06-15 at 21:11 +0200, Johannes Berg wrote: The problem is that the istream API doesn't work the way you expect. Just reading doesn't advance the stream, only calling i_stream_skip() or i_stream_seek() does that (and o_stream_send_istream() internally). So just remove the o_stream_send(beginning) call and it'll work. Aha! I knew I was missing something, thanks. Does i_stream_read_next_line() skip over the line? Yes, that too. :) Great, thanks, so I'll just have to remove the else branch to make it work correctly. johannes signature.asc Description: This is a digitally signed message part
Re: [Dovecot] dovecot-antispam plugin and Failed to call dspam message
Johannes Berg wrote: Hi, However, I know from looking at the dspam system.log file, the retraining actually happens - so it -does- appear to be calling dspam. It appears that the 'move' operation fails. Plugin debug log when I attempt to move a message: Jun 13 09:29:07 stelleri imap: antispam: mailbox_is_unsure(SPAM): 0 Jun 13 09:29:07 stelleri imap: antispam: mailbox_is_trash(INBOX): 0 Jun 13 09:29:07 stelleri imap: antispam: mailbox_is_trash(SPAM): 0 Jun 13 09:29:07 stelleri imap: antispam: mail copy: from trash: 0, to trash: 0 Jun 13 09:29:07 stelleri imap: antispam: mailbox_is_spam(INBOX): 0 Jun 13 09:29:07 stelleri imap: antispam: mailbox_is_spam(SPAM): 1 Jun 13 09:29:07 stelleri imap: antispam: mailbox_is_unsure(INBOX): 0 Jun 13 09:29:07 stelleri imap: antispam: mail copy: src spam: 0, dst spam: 1, src unsure: 0 Jun 13 09:29:07 stelleri imap: antispam: /usr/local/bin/dspam --source=error --class=spam --signature=4a339984859385209328925 --deliver= --user frysco Associated log from dspam system.log: 1244903347 M None Specified4a339984859385209328925 None Specified 0.066815frysco Retrained I have no idea what's going on, obviously, but please verify that the above dspam command line 1) exits with exit code 0 2) doesn't print anything to stderr Both of these are taken by the plugin as an indication that something went wrong, because dspam's error reporting was _severely_ lacking at the time I wrote the plugin. It might have improved in the meantime, I have no idea. It certainly seems to be the 'verbose debug' information that DSpam prints to stderr that triggers this. After testing with the patches from Marcin Rzepecki and Harlan Stenn, I managed completely disabled these kind of lines from being sent: Jun 13 15:35:18 stelleri imap: antispam: error: dspam returned 57397: [06/13/2009 15:35:18] query error: VERBOSE DEBUG (INFO ONLY - NOT AN ERROR): see sql.errors for more details I then put in the unaltered FreeBSD ports version of the plugin, and no longer got the Failed to call dspam messages. Since these messages - even though non-zero and stating that they aren't an error - are just informational, I'd think that it might be an idea to have the plugin detect and ignore that. Turning on DSpam debugging should not (I should think) break the plugin from working. Thanks, -jcd
Re: [Dovecot] dovecot-antispam plugin and Failed to call dspam message
On Mon, 2009-06-15 at 13:27 -0700, Jeremy Doran wrote: It certainly seems to be the 'verbose debug' information that DSpam prints to stderr that triggers this. After testing with the patches from Marcin Rzepecki and Harlan Stenn, I managed completely disabled these kind of lines from being sent: Jun 13 15:35:18 stelleri imap: antispam: error: dspam returned 57397: [06/13/2009 15:35:18] query error: VERBOSE DEBUG (INFO ONLY - NOT AN ERROR): see sql.errors for more details I then put in the unaltered FreeBSD ports version of the plugin, and no longer got the Failed to call dspam messages. Ok. Since these messages - even though non-zero and stating that they aren't an error - are just informational, I'd think that it might be an idea to have the plugin detect and ignore that. Turning on DSpam debugging should not (I should think) break the plugin from working. Well, that's not trivial. I guess if dspam has now been fixed to always exit with a non-zero exit code we could remove the stderr checking code, or make it depend on a configuration option. But as it was when I wrote the code, dspam was broken enough for this to be absolutely necessary. johannes signature.asc Description: This is a digitally signed message part
Re: [Dovecot] mixing dovecot and non-dovecot access to mail
On Mon, 2009-06-15 at 20:40 +0200, Michal Szymanski wrote: I wonder whether this mixing of dovecot and non-dovecot access can make any problems, provide, of course, that the users are not using both ways at the same time. AFAIK dovecot makes some indexing. Will it not be confused if the folder is changed and de-sync-ed with the index? To make sure that Dovecot notices flag changes done by other clients, you need to set mbox_dirty_syncs=no. To make sure that other clients notice flag changes done by Dovecot set mbox_lazy_writes=no. Both of these decrease performance though. Also I think you should try to make sure that everything works correctly even when using both Dovecot and non-Dovecot at the same time. Mainly this means that you should check that their locking mechanisms are the same. http://wiki.dovecot.org/MboxLocking signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Dovecot v1.2 assert() in ACL
On Mon, 2009-06-15 at 15:23 +0200, Steffen Kaiser wrote: 2 setacl Sent timo +lrwtsd 2 OK Setacl complete. 3 setacl Sent timo -lrwtsd Aborted (core dumped) Thanks, fixed: http://hg.dovecot.org/dovecot-1.2/rev/01fae3737994 signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Dovecot v1.2 rawlog in dovecot.conf trouble
On Mon, 2009-06-15 at 11:18 +0200, Steffen Kaiser wrote: mail_executable = /usr/local/dovecot-1.2.rc5unpatched/libexec/dovecot/rawlog /usr/local/dovecot-1.2.rc5unpatched/libexec/dovecot/imap # sbin/dovecot -F Fio_loop_handle_add: epoll_ctl(1, 0): Operation not permitted This happens only if you have /tmp/dovecot.rawlog directory. Why do you have that? signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Dovecot v1.2.rc5 dbox file permissions
On Sat, 2009-06-13 at 19:45 +0200, Pascal Volk wrote: Hi Timo, I've just setup Dovecot v1.2.rc5 and switched the mailbox format of one account to dbox. Therefor I've created an empty directory, called dbox, with access mode 0700, like the user's home directory. After the IMAP login with Thunderbird some dboxes was created. All permissions were set fine (0700 / 0600), except the permissions for the files: * ~/dbox/mailboxes/$FOLDERNAME/dbox-Mails/dbox.index * ~/dbox/mailboxes/$FOLDERNAME/dbox-Mails/dovecot.index.log Those files have the access mode 0666. Fixed: http://hg.dovecot.org/dovecot-1.2/rev/c8bb7c18f17b Also found an old bug (in v1.1 too) because of that: http://hg.dovecot.org/dovecot-1.2/rev/73b9d8556f5a signature.asc Description: This is a digitally signed message part
Re: [Dovecot] IMP reading entire mailbox
On Tue, 2009-06-09 at 17:49 -0700, Kenneth Porter wrote: How about a configuration option that's a regex or glob of files to ignore in the mail directories? A plugin could do that. ACL plugin could be used as an example. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Archiving feature
On Tue, 2009-06-09 at 16:26 -0500, Romer Ventura wrote: It would be nice to have some sort of archiving feature on which dovecot can save emails older than N+1 months to either a remote Dovecot server with MySQL as storage or a separate instance of Dovecot running on the same server but storing the emails in MySQL Is any of this possible now, or in the works...? What do you mean by save? a) Keep messages in local storage too? b) Delete messages from local storage and have messages inaccessible to clients? c) Delete messages from local storage and have Dovecot automatically fetch them from remote storage when necessary? Why does it have to be MySQL? signature.asc Description: This is a digitally signed message part
Re: [Dovecot] 1.2rc5 crash: Backtrace:dovecot-auth
On Wed, 2009-06-10 at 11:59 +0200, Ralf Hildebrandt wrote: authenid = 0x8669189 *masteruser Fixed (also for v1.1): http://hg.dovecot.org/dovecot-1.2/rev/6886f1e18c76 signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Multiple mail locations for a single user
On Sun, 2009-06-07 at 22:01 +0100, Ross Burton wrote: Is there any way to let me access all three maildirs through dovecot? I'm guessing that I can do this with namespaces but I'm not sure. Any suggestions and pointers? Either namespaces or use 3 different user accounts where each user has a different mail location returned from userdb. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] shared folders in v1.2 with one uid per user
On Sat, 2009-06-06 at 14:48 -0300, Ezequiel Alfíe wrote: What are the steps for correctly setting up shared folders with acls if I choose one uid per user? It's going to be annoyingly difficult. http://wiki.dovecot.org/SharedMailboxes/Permissions describes the issues, but doesn't really tell what is a good way to do it, because there really are only bad ways. Dovecot v3.0 will hopefully solve this. :) signature.asc Description: This is a digitally signed message part
Re: [Dovecot] LAYOUT=fs vs LAYOUT=maildir++ and quota
On Sat, 2009-06-06 at 14:55 -0300, Ezequiel Alfíe wrote: Hi everyone. I'm confused about LAYOUT=fs... Does using LAYOUT=fs breaks maildir++ quota, if I use this quota scheme? I think LAYOUT=fs works with Maildir++ quota as long as you're using only Dovecot. I haven't tested it though. And if you're using anything else than Dovecot to access it, it will break. What are the advantages anyway of using LAYOUT=fs vs LAYOUT=maildir++ ? It was mainly created because some people just didn't want to use Maildir++. (it's not important in my case if users can't create folders with dots '.') You can have dots even with Maildir++: http://wiki.dovecot.org/Plugins/Listescape signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Expire/Quota error
On Fri, 2009-06-05 at 19:42 -0500, Matt Rude wrote: dlopen(/usr/local/lib/dovecot/imap/lib10_quota_plugin.so) failed: /usr/local/lib/dovecot/imap/lib10_quota_plugin.so: undefined symbol: mountpoint_get Fixed: http://hg.dovecot.org/dovecot-1.2/rev/6f36829c9e0e signature.asc Description: This is a digitally signed message part
Re: [Dovecot] crash in imap with 1.2rc5
On Fri, 2009-06-05 at 17:01 +0200, Ralf Hildebrandt wrote: From the log: Jun 5 16:38:46 postamt dovecot: imap-login: Login: user=username, method=PLAIN, rip=141.42.142.67, lip=141.42.4.250 Jun 5 16:38:49 postamt dovecot: IMAP(username): Panic: Trying to sync mailbox Sent with open transactions Thanks, fixed: http://hg.dovecot.org/dovecot-1.2/rev/ef7c0c3b1976 signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Aging Password
On Thu, 2009-06-04 at 17:48 +0200, Jacopo Cappelli wrote: I use dovecot with shadow support and i have a problem with aging password, if the password is ended dovecot continue to log me in... It's possibile to disable login if the password is ended? I'm not really planning on adding password aging support for shadow passdb. You should be able to use PAM instead? signature.asc Description: This is a digitally signed message part
Re: [Dovecot] User with multiple domains
On Tue, 2009-06-02 at 23:26 +0100, Peter Sparkes wrote: Timo Sirainen wrote: On Tue, 2009-06-02 at 17:06 +0100, Peter Sparkes wrote: When trying to retrieve email using Dovecot for t...@domaintwo.com the password is not recognised although it is for t...@domainone.com. .. auth default: verbose: yes debug: yes debug_passwords: yes So, what does it log with these? Jun 2 23:23:23 silkliving dovecot: POP3(sa...@aandt.co.uk): Effective uid=1206, gid=1109 With those auth_debug* settings it should also have auth(..) logs. You only showed what mail_debug=yes logs. signature.asc Description: This is a digitally signed message part
Re: [Dovecot] 1.2.rc3 crash of deliver for one out of 4 recipients
On Tue, 2009-06-02 at 17:07 +0200, wolfgang.frie...@desy.de wrote: This is the first and only crash I could find in the logs (approx 500k Lines of postfix/dovecot logs) The following information could be extracted from the logfile (no core dump unfortunately) May 31 02:07:25 apollo dovecot: deliver(user1): Panic: file istream.c: line 99 (i_stream_read): assertion failed: ((size_t)ret+old_size == _stream-pos - _stream-skip) I suppose this hasn't happened since? Core dump from this would be really interesting. I've also attached a patch that could at least show if my guess it right where it probably crashed.. diff -r ef7c0c3b1976 src/lib/istream-tee.c --- a/src/lib/istream-tee.c Mon Jun 15 21:56:22 2009 -0400 +++ b/src/lib/istream-tee.c Mon Jun 15 22:29:20 2009 -0400 @@ -108,7 +108,7 @@ struct tee_child_istream *tstream = (struct tee_child_istream *)stream; struct istream *input = tstream-tee-input; const unsigned char *data; - size_t size; + size_t size, old_size; uoff_t last_high_offset; ssize_t ret; @@ -116,6 +116,7 @@ /* initial read */ tee_streams_update_buffer(tstream-tee); } + old_size = stream-pos - stream-skip; data = i_stream_get_data(input, size); /* last_high_offset contains how far we have read this child tee stream @@ -141,6 +142,7 @@ } tee_streams_update_buffer(tstream-tee); data = i_stream_get_data(input, size); + i_assert((size_t)(size - stream-pos)+old_size == size - stream-skip); } else { /* there's still some data available from parent */ i_assert(last_high_offset input-v_offset + size); @@ -152,6 +154,7 @@ ret = size - stream-pos; i_assert(ret 0); stream-pos = size; + i_assert((size_t)ret+old_size == stream-pos - stream-skip); return ret; } signature.asc Description: This is a digitally signed message part
Re: [Dovecot] 1.2rc5 Panic: file virtual-sync.c
On Sat, 2009-06-06 at 16:18 +0200, e-frog wrote: Jun 6 14:40:19 server dovecot: IMAP(user): Panic: file virtual-sync.c: line 502 (virtual_sync_mailbox_box_remove): assertion failed: (rec_count = uid_count) Hmm. This is kind of difficult. Can you reproduce it? What does your dovecot-virtual file contain? signature.asc Description: This is a digitally signed message part
Re: [Dovecot] expire-tool --test: timestamps
On Sat, 2009-06-06 at 15:35 +0200, e-frog wrote: $ /usr/sbin/dovecot --exec-mail ext expire-tool --test Info: Trash: timestamp 1243963680 (Tue Jun 2 19:28:00 2009 ) - 1244307774 (Tue Jun 2 19:28:00 2009 ) Both human readable timestamps are equal as ctime() returns a pointer to a static buffer. In addition there are some newline characters added by ctime(). The following patch is a try to fix this for 1.2.rc5. Thanks. I fixed it a bit differently: http://hg.dovecot.org/dovecot-1.2/rev/1d343780e009 signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Expire-Plugin segmentation fault (Re: Can expire-tool skip folders with expire time in future errors?)
On Thu, 2009-06-04 at 22:02 +0200, Ralph Seichter wrote: Sorry for replying so late, the server running Dovecot succumbed to a hardware problem. Now that the machine is online again, I applied your patch. Running the expire tool now causes the following log messages: dict: db(secondary, ): DB-set_cachesize: method not permitted when environment specified dict: db(secondary, ): unable to allocate space from the buffer cache dict: sdb.open() failed: Cannot allocate memory I'm beginning to think it was a mistake to ever put Berkeley DB code to Dovecot. SQLite would work just as well (and without problems), right? signature.asc Description: This is a digitally signed message part
Re: [Dovecot] Expire/Quota error
Timo Sirainen wrote: On Fri, 2009-06-05 at 19:42 -0500, Matt Rude wrote: dlopen(/usr/local/lib/dovecot/imap/lib10_quota_plugin.so) failed: /usr/local/lib/dovecot/imap/lib10_quota_plugin.so: undefined symbol: mountpoint_get Fixed: http://hg.dovecot.org/dovecot-1.2/rev/6f36829c9e0e Timo, thanks for the patch, but im still reciving error when trying to run a test off the newest build. I downloaded the latest hg version (1d343780e009), but I now recive this error. [r...@samantha dovecot-1-2-1d343780e009]# /usr/local/sbin/dovecot --exec-mail ext /usr/local/libexec/dovecot/expire-tool --test Error: dlopen(/usr/local/lib/dovecot/imap/lib11_imap_quota_plugin.so) failed: /usr/local/lib/dovecot/imap/lib11_imap_quota_plugin.so: undefined symbol: capability_string Fatal: Couldn't load required plugins Thanks -matt
Re: [Dovecot] Expire/Quota error
On Jun 16, 2009, at 12:41 AM, Matt Rude wrote: Error: dlopen(/usr/local/lib/dovecot/imap/ lib11_imap_quota_plugin.so) failed: /usr/local/lib/dovecot/imap/lib11_imap_quota_plugin.so: undefined symbol: capability_string This is the problem e-frog mentioned in previous mail. http://dovecot.org/pipermail/dovecot/2009-June/040118.html