[Dovecot] litte problems upgrade from 1.0.x to 1.1.1

Andre Hübner andre.huebner at gmx.de
Tue Jul 15 17:38:53 EEST 2008


Hi,

thanks for your mail :)

> Right. Dovecot creates such a "DO NOT DELETE" mail just as UW-IMAP/
> Pine does. It's created when all messages from the mbox get deleted,
> so that UIDVALIDITY and NEXT-UID fields can be stored (without relying
> on them staying in index files).
>
> But these messages should be ignored by Dovecot. If the first message
> of the mailbox has X-IMAP: header, it's skipped. I've really no idea
> why these would only now be visible with v1.1. Perhaps v1.0 had
> written buggy headers and v1.1 is more strict? I don't really know..
> Can you reproduce this in any way (so that the client even sees it)?

no, unfortunately not. i tried to copy internal mesages to newly
created mboxes and played a little bit but could not reproduce this 
behavior. ok, its annoying
but explainable to users. as long it is a one time feature i can live
with it... ;)

interesting is that those old internal-message (mbox created 2006|2007 etc.) 
is still unchanged in empty
mbox even when it was deliverd a thousend times...

more problematical is my still occuring issue with kills/craches in 
imap-section.

>Looks like some kind of a locking problem.

it appears directly when reading some messages using imap-protokoll. a lot 
of mesages
are ok but one is creating this line in maillog

Jul 14 15:38:48 servername dovecot: IMAP(loginname): Next message 
unexpectedly lost from 6693538

this happens on all my dovecot 1.1.1 servers with some messages in 
imap-server.

> Can you get a gdb backtrace from this crash? See 
> http://dovecot.org/bugreport.html

hmm, unfortunately not. i edited dovecot.conf for debuginfo which is written 
in maillog.
but i do not find any coredump. :(

this is dovecot -n


# 1.1.1: /etc/dovecot.conf
protocols: imap imaps pop3 pop3s
ssl_ca_file: /path/path/*.myservername.com.bundle.crt
ssl_cert_file: /path/path/*.myservername.com.crt
ssl_key_file: /path/path/*.myservername.com.key
disable_plaintext_auth: no
login_dir: /var/run/dovecot/login
login_executable(default): /usr/libexec/dovecot/imap-login
login_executable(imap): /usr/libexec/dovecot/imap-login
login_executable(pop3): /usr/libexec/dovecot/pop3-login
login_greeting: myservername.com mailserver ready.
login_process_per_connection: no
login_processes_count: 1
max_mail_processes: 100
verbose_proctitle: yes
mail_location: mbox:~/mail:INBOX=/var/spool/mail/%u
mail_cache_min_mail_count: 30
mail_debug: yes
mbox_read_locks: dotlock
mbox_very_dirty_syncs: yes
mail_drop_priv_before_exec: yes
mail_executable(default): /usr/libexec/dovecot/imap
mail_executable(imap): /usr/libexec/dovecot/imap
mail_executable(pop3): /usr/libexec/dovecot/pop3
mail_plugins(default): mail_log
mail_plugins(imap): mail_log
mail_plugins(pop3):
mail_plugin_dir(default): /usr/lib/dovecot/imap
mail_plugin_dir(imap): /usr/lib/dovecot/imap
mail_plugin_dir(pop3): /usr/lib/dovecot/pop3
imap_client_workarounds(default): outlook-idle netscape-eoh 
tb-extra-mailbox-sep delay-newmail
imap_client_workarounds(imap): outlook-idle netscape-eoh 
tb-extra-mailbox-sep delay-newmail
imap_client_workarounds(pop3):
pop3_client_workarounds(default):
pop3_client_workarounds(imap):
pop3_client_workarounds(pop3): oe-ns-eoh outlook-no-nuls
auth default:
  verbose: yes
  passdb:
    driver: shadow
  userdb:
    driver: passwd



>> Jul  4 13:41:32 servername dovecot: IMAP(loginname): Next message
>> unexpectedly lost from 156715931
>> Jul  4 13:41:32 servername dovecot: Panic: IMAP(loginname): file
>> message-parser.c: line 770 (message_parser_parse_next_block):
>> assertion failed: (ctx->input->eof
>> || ctx->input->closed || ctx->input->stream_errno != 0 || ctx->broken)

> Probably related to the message changing unexpectedly..

it happens every day. current example, this is a complete sequenz:

Jul 14 16:08:31 servername dovecot: imap-login: Login: user=<thisuser>, 
method=PLAIN, rip=85.13.133.104, lip=85.13.133.104, secured
Jul 14 16:08:31 servername dovecot: IMAP(thisuser): Loading modules from 
directory: /usr/lib/dovecot/imap
Jul 14 16:08:31 servername dovecot: IMAP(thisuser): Module loaded: 
/usr/lib/dovecot/imap/lib20_mail_log_plugin.so
Jul 14 16:08:31 servername dovecot: IMAP(thisuser): Effective uid=504, 
gid=501, home=/home/popuser/thisuser
Jul 14 16:08:31 servername dovecot: IMAP(thisuser): mbox: 
data=/home/popuser/thisuser/mail:INBOX=/var/spool/mail/thisuser
Jul 14 16:08:31 servername dovecot: IMAP(thisuser): fs: 
root=/home/popuser/thisuser/mail, index=, control=, 
inbox=/var/spool/mail/thisuser
Jul 14 16:08:31 servername dovecot: IMAP(thisuser): Next message 
unexpectedly lost from 6693538
Jul 14 16:08:31 servername dovecot: IMAP(thisuser): Next message 
unexpectedly lost from 6693538
Jul 14 16:08:31 servername dovecot: Panic: IMAP(thisuser): file 
message-parser.c: line 770 (message_parser_parse_next_block): assertion 
failed: (ctx->input->eof
|| ctx->input->closed || ctx->input->stream_errno != 0 || ctx->broken)
Jul 14 16:08:31 servername dovecot: IMAP(thisuser): Raw backtrace: imap 
[0x80c2cf0] -> imap [0x80c2d4a] -> imap [0x80c265c] -> 
imap(message_parser_parse_body+0)
[0x80bbfa0] -> imap(index_mail_cache_parse_continue+0x22) [0x8087172] -> 
imap [0x8070441] -> imap(mbox_save_continue+0x2d) [0x80704dd] -> 
imap(mail_storage_co
py+0xe4) [0x8091684] -> /usr/lib/dovecot/imap/lib20_mail_log_plugin.so 
[0xb7f65d1a] -> imap(cmd_copy+0x1d2) [0x805a1c2] -> imap [0x805edfc] -> imap 
[0x805eea5
] -> imap [0x805f655] -> imap(client_input+0x5e) [0x805f86e] -> 
imap(io_loop_handler_run+0x100) [0x80ca590] -> imap(io_loop_run+0x28) 
[0x80c9738] -> imap(main
+0x46b) [0x806736b] -> /lib/libc.so.6(__libc_start_main+0xdc) 
[0xb7e4f87c] -> imap [0x8059211]
Jul 14 16:08:31 servername dovecot: child 7162 (imap) killed with signal 6



>> lock_method = flock

> See if it makes any difference to change this to fcntl.
changed to fcntl, no difference.

> How do you deliver new mails to the mbox?
mails that arrive will be deliverd by procmail, relevant line in 
/etc/postfix/main.cf is:

mailbox_command = /usr/bin/procmail
:)

>> mbox_lazy_writes = no

> Why? This makes performance worse.
hmm, may be a kind of historical relict by my forerunner, now it is changed. 
thanks.

>> System is suse 10.1


> What filesystem?
we use xfs

hmm, what can i do now? i wonder why no coredump is created to be more 
helpful for debugging. i did follow the bugreport.html
Hope there is some further help, dovecot is a great software which we want 
to use further on.

Thank you
Andre



More information about the dovecot mailing list