[Dovecot] unusual dsync lines
Hi,
Another day, another dysnc attempt. Using Dovecot v2.2.5.4; I see:
# doveadm -v -o imapc_user=user@example.com -o imapc_password=password -o imapc_host=imap.example.com -o imapc_port=993 -o imapc_ssl=imaps -o imapc_ssl_dir=/etc/ssl -o imapc_feature=rfc822.size -o imapc_ssl_verify=no sync -1 -R -u user@example.com imapc: dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8343, msgid=4F387A25.5010900@example.com, size=2954969 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8344, msgid=5237B0BF.7030402@example.com, size=3371710 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8345, msgid=5237B588.6040009@example.com, size=3266 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8346, msgid=5237B6B4.2030203@example.com, size=4201 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8347, msgid=5237B888.7030807@example.com, size=3371445 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8348, msgid=5237C224.9010608@example.com, size=3371745 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8349, msgid=5237C350.5080608@example.com, size=3371700 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8350, msgid=5237C5EE.5030408@example.com, size=3371619 dsync(user@example.com): Info: expunge: box=Drafts, uid=8209, msgid=< 4F387A25.5010900@example.com>, size=2954969
The interesting lines being uid=8209 and uid=8343; why would dsync both copy and then expunge the same message from the same mailbox?
Regards, Anand
On 17.9.2013, at 6.25, Anand Kumria wildfire@progsoc.org wrote:
Another day, another dysnc attempt. Using Dovecot v2.2.5.4; I see:
Is it still duplicating mails? So if you first delete everything from destination directory, then run doveadm sync -1 twice it duplicates the mails? Or just gives them new UIDs without duplicating anything? I can't reproduce either with the latest hg version at least. There were a few fixes since v2.2.5, but I'm not sure if they were related to this.
# doveadm -v -o imapc_user=user@example.com -o imapc_password=password -o imapc_host=imap.example.com -o imapc_port=993 -o imapc_ssl=imaps -o imapc_ssl_dir=/etc/ssl -o imapc_feature=rfc822.size -o imapc_ssl_verify=no sync -1 -R -u user@example.com imapc: dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8343, msgid=4F387A25.5010900@example.com, size=2954969 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8344, msgid=5237B0BF.7030402@example.com, size=3371710 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8345, msgid=5237B588.6040009@example.com, size=3266 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8346, msgid=5237B6B4.2030203@example.com, size=4201 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8347, msgid=5237B888.7030807@example.com, size=3371445 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8348, msgid=5237C224.9010608@example.com, size=3371745 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8349, msgid=5237C350.5080608@example.com, size=3371700 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8350, msgid=5237C5EE.5030408@example.com, size=3371619 dsync(user@example.com): Info: expunge: box=Drafts, uid=8209, msgid=< 4F387A25.5010900@example.com>, size=2954969
The interesting lines being uid=8209 and uid=8343; why would dsync both copy and then expunge the same message from the same mailbox?
I think "move" gets logged as copy+expunge. It probably just wanted to give a new UID to the message. Why it wanted to do that, I'm not sure .. One way to debug this would be to get rawlogs of the traffic between the two dsync brains, by running something like:
doveadm sync -1 -r raw.log -R 'doveadm -o imapc_user=foo -o imapc_password=bar -o mail=imapc: dsync-server'
The rawlog would then show why dsync does what it does. Also latest hg has some additional debug logging (doveadm -D), but it's still not in all the places so it might not be enough.
Hi,
$ doveadm sync -1 -r raw.log -R 'doveadm -o imapc_user=foo -o imapc_password=bar -o mail=imapc: dsync-server'
I couldn't get that line to work, I get errors like:
doveadm(root): Fatal: Error reading configuration: Invalid -o parameter imapc:: Missing '=' dsync-local(root): Error: read(remote) failed: EOF (version not received) dsync-local(root): Panic: file iostream.c: line 37 (io_stream_unref): assertion failed: (stream->refcount > 0) *** glibc detected *** doveadm: corrupted double-linked list: 0x0000000002312620 ***
I have ended up doing:
$ doveadm -v -o imapc_user=user@example.com -o imapc_password=password -o imapc_host=imap.example.com -o imapc_port=993 -o imapc_ssl=imaps -o imapc_ssl_dir=/etc/ssl -o imapc_feature=rfc822.size -o imapc_ssl_verify=no sync -1 -r raw2.log -R -u user@example.com imapc:
I'll let you know if it finishes.
Thanks, Anand
On 22 September 2013 01:03, Timo Sirainen tss@iki.fi wrote:
On 17.9.2013, at 6.25, Anand Kumria wildfire@progsoc.org wrote:
Another day, another dysnc attempt. Using Dovecot v2.2.5.4; I see:
Is it still duplicating mails? So if you first delete everything from destination directory, then run doveadm sync -1 twice it duplicates the mails? Or just gives them new UIDs without duplicating anything? I can't reproduce either with the latest hg version at least. There were a few fixes since v2.2.5, but I'm not sure if they were related to this.
# doveadm -v -o imapc_user=user@example.com -o imapc_password=password -o imapc_host=imap.example.com -o imapc_port=993 -o imapc_ssl=imaps -o imapc_ssl_dir=/etc/ssl -o imapc_feature=rfc822.size -o imapc_ssl_verify=no sync -1 -R -u user@example.com imapc: dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8343, msgid=4F387A25.5010900@example.com, size=2954969 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8344, msgid=5237B0BF.7030402@example.com, size=3371710 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8345, msgid=5237B588.6040009@example.com, size=3266 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8346, msgid=5237B6B4.2030203@example.com, size=4201 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8347, msgid=5237B888.7030807@example.com, size=3371445 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8348, msgid=5237C224.9010608@example.com, size=3371745 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8349, msgid=5237C350.5080608@example.com, size=3371700 dsync(user@example.com): Info: copy from Drafts: box=Drafts, uid=8350, msgid=5237C5EE.5030408@example.com, size=3371619 dsync(user@example.com): Info: expunge: box=Drafts, uid=8209, msgid=< 4F387A25.5010900@example.com>, size=2954969
The interesting lines being uid=8209 and uid=8343; why would dsync both copy and then expunge the same message from the same mailbox?
I think "move" gets logged as copy+expunge. It probably just wanted to give a new UID to the message. Why it wanted to do that, I'm not sure .. One way to debug this would be to get rawlogs of the traffic between the two dsync brains, by running something like:
doveadm sync -1 -r raw.log -R 'doveadm -o imapc_user=foo -o imapc_password=bar -o mail=imapc: dsync-server'
The rawlog would then show why dsync does what it does. Also latest hg has some additional debug logging (doveadm -D), but it's still not in all the places so it might not be enough.
On 20.10.2013, at 20.01, Anand Kumria wildfire@progsoc.org wrote:
Hi,
$ doveadm sync -1 -r raw.log -R 'doveadm -o imapc_user=foo -o imapc_password=bar -o mail=imapc: dsync-server'
I couldn't get that line to work, I get errors like:
doveadm(root): Fatal: Error reading configuration: Invalid -o parameter imapc:: Missing ‘='
Not sure about the above error, but
dsync-local(root): Error: read(remote) failed: EOF (version not received) dsync-local(root): Panic: file iostream.c: line 37 (io_stream_unref): assertion failed: (stream->refcount > 0) *** glibc detected *** doveadm: corrupted double-linked list: 0x0000000002312620 ***
this is fixed now: http://hg.dovecot.org/dovecot-2.2/rev/d66b4b1b343a
participants (2)
-
Anand Kumria
-
Timo Sirainen