Re: doveadm expunge no longer works
Please ignore, this appears to be fixed by 6971937a6f3e93844dbd43bdbe903628e21a9422 [1]. Thanks, Fabian [1] https://github.com/dovecot/core/commit/6971937a6f3e93844dbd43bdbe903628e21a9422.patch On 31-12-2015 17:28:34 +0100, Fabian Groffen wrote: > Heya, > > Just upgraded from 2.2.19 to dovecot-2.2.21 and noticed expunging mail > no longer works. > > # doveadm expunge -u theuser MAILBOX spam all > Fatal: expunge: To avoid accidents, each branch in search query must > contain something else besides MAILBOX (e.g. just add "all" if you want > everything) > > Clearly, I've already got all in there, so I tried capitalising, etc. > Looking at the code, I see expunge_search_args_is_msgset_or_ok > apparently is failing. I'm wondering if this function [1] is actually doing > what it is supposed to do, since it uses return, instead a var to figure out > whether it is ok or not. In my case, just because it finds MAILBOX it > returns without looking whether there is any further arguments. > > Or am I missing the point here (and how should I expunge a folder of > mail?) > > Thanks, > Fabian > > [1] > https://github.com/dovecot/core/blob/6971937a6f3e93844dbd43bdbe903628e21a9422/src/doveadm/doveadm-mail-expunge.c#L148 > > -- > Fabian Groffen > Gentoo on a different level -- Fabian Groffen Gentoo on a different level signature.asc Description: Digital signature
doveadm expunge no longer works
Heya, Just upgraded from 2.2.19 to dovecot-2.2.21 and noticed expunging mail no longer works. # doveadm expunge -u theuser MAILBOX spam all Fatal: expunge: To avoid accidents, each branch in search query must contain something else besides MAILBOX (e.g. just add "all" if you want everything) Clearly, I've already got all in there, so I tried capitalising, etc. Looking at the code, I see expunge_search_args_is_msgset_or_ok apparently is failing. I'm wondering if this function [1] is actually doing what it is supposed to do, since it uses return, instead a var to figure out whether it is ok or not. In my case, just because it finds MAILBOX it returns without looking whether there is any further arguments. Or am I missing the point here (and how should I expunge a folder of mail?) Thanks, Fabian [1] https://github.com/dovecot/core/blob/6971937a6f3e93844dbd43bdbe903628e21a9422/src/doveadm/doveadm-mail-expunge.c#L148 -- Fabian Groffen Gentoo on a different level signature.asc Description: Digital signature
Re: [Dovecot] dsync-local crashes due to assertion failures
On 08-12-2013 16:26:15 +0100, Fabian Groffen wrote: > I have two servers that share nothing, running dovecot version 2.2.9. > The first server hosts the original mail base, which I want to sync > using dovecot to the second server. With some trial and error I managed > to get synchronisation running using tcp sockets. Now for some accounts > I see dsync-local crashing on the server that has the original mail base > (which is still the only of the two that receives new mail). The log > shows: > > Dec 8 03:13:14 zeus dovecot: dsync-local(someuser): Panic: file mail-index-tr > ansaction-export.c: line 203 (log_append_ext_hdr_update): assertion failed: > (u32 > .offset + u32.size <= ext_hdr_size) Turns out I didn't remove all index files. After I did (dovecot.index + dovecot.list.index) the assertion has gone away. Interesting side-note: after removal of the indices, some of my mailboxes showed new emails from long ago, that I hadn't seen previously. Now, from the first look and sizes, synchronisation seems to have succeeded after a night. -- Fabian Groffen Gentoo on a different level signature.asc Description: Digital signature
[Dovecot] dsync-local crashes due to assertion failures
Hi, I have two servers that share nothing, running dovecot version 2.2.9. The first server hosts the original mail base, which I want to sync using dovecot to the second server. With some trial and error I managed to get synchronisation running using tcp sockets. Now for some accounts I see dsync-local crashing on the server that has the original mail base (which is still the only of the two that receives new mail). The log shows: Dec 8 03:13:14 zeus dovecot: dsync-local(someuser): Panic: file mail-index-tr ansaction-export.c: line 203 (log_append_ext_hdr_update): assertion failed: (u32 .offset + u32.size <= ext_hdr_size) Dec 8 03:13:14 zeus dovecot: dsync-local(someuser): Error: Raw backtrace: /usr/lib64/dovecot/libdovecot.so.0(+0x70ea0) [0x7f3ee4137ea0] -> /usr/lib64/dovecot/libdovecot.so.0(+0x70efe) [0x7f3ee4137efe] -> /usr/lib64/dovecot/libdovecot.so.0(i_fatal+0) [0x7f3ee40ebd2c] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mail_index_transaction_export+0xbed) [0x7f3ee442e89d] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0x89104) [0x7f3ee442d104] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mail_index_transaction_commit_full+0xb2) [0x7f3ee442d592] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mail_index_transaction_commit+0xc) [0x7f3ee442d63c] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mail_index_sync_commit+0xb6) [0x7f3ee44372b6] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0x335d6) [0x7f3ee43d75d6] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0x328bc) [0x7f3ee43d68bc] -> /usr/lib64/dovecot/libdovecot-storage.so.0(+0x32d83) [0x7f3ee43d6d83] -> /usr/lib64/dovecot/libdovecot-storage.so.0(maildir_storage_sync_init+0xd9) [0x7f3ee43d7199] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_sync_init+0x2e) [0x7f3ee43e7f2e] -> /usr/lib64/dovecot/libdovecot-storage.so.0(mailbox_sync+0x27) [0x7f3ee43e8047] -> dovecot/doveadm-server(dsync_brain_master_send_mailbox+0xcf) [0x41f17f] -> dovecot/doveadm-server(dsync_brain_run+0x2c8) [0x41d738] -> dovecot/doveadm-server() [0x41dd70] -> dovecot/doveadm-server() [0x42eda0] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_call_io+0x36) [0x7f3ee41495a6] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run+0xbd) [0x7f3ee414a62d] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f3ee4149008] -> dovecot/doveadm-server() [0x41bb6c] -> dovecot/doveadm-server() [0x40ee3b] -> dovecot/doveadm-server() [0x419581] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_call_io+0x36) [0x7f3ee41495a6] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_handler_run+0xbd) [0x7f3ee414a62d] -> /usr/lib64/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f3ee4149008] -> /usr/lib64/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f3ee40f1643] Dec 8 03:13:14 zeus dovecot: dsync-local(someuser): Fatal: master: service(doveadm): child 14116 killed with signal 6 (core dumps disabled) It seems that despite these crashes, some data is being transferred. Newer accounts seem not to have problems, this happens with older accounts only, for as far as I can see. I tried removing the index files, but that didn't seem to help. Any ideas on what I can do here? Both servers are configured to use maildir storage. Thanks, Fabian -- Fabian Groffen Gentoo on a different level signature.asc Description: Digital signature