corrupted mdbox

telsch telsch at gmx.de
Mon Sep 16 15:52:20 EEST 2019


Hello list,

is it save to move the broken m.* files and let dovecot replicate them
again?

dsync(<user>): Error: zlib.read(/var/spool/mail/<user>/storage/m.370):
corrupted data at 1486926
dsync(<user>): Error: Mailbox Trash: copy:
i_stream_read(zlib(/var/spool/mail/<user>/storage/m.370)) failed:
read(/var/spool/mail/<user>/storage/m.370) failed:
zlib.read(/var/spool/mail/<user>/storage/m.370): corrupted data at 1486926
dsync(<user>): Error: Mailbox Trash: Saving mail:
read(zlib(/var/spool/mail/<user>/storage/m.370)) failed:
read(/var/spool/mail/<user>/storage/m.370) failed:
zlib.read(/var/spool/mail/<user>/storage/m.370): corrupted data at
1486926 (read reason=)
dsync(<user>): Warning: Failed to copy source UID=3239 mail: Mailbox
Trash: Saving mail: read(zlib(/var/spool/mail/<user>/storage/m.370))
failed: read(/var/spool/mail/<user>/storage/m.370) failed:
zlib.read(/var/spool/mail/<user>/storage/m.370): corrupted data at
1486926 (read reason=) - falling back to regular saving
dsync(<user>): Error: Raw backtrace:
/usr/lib/dovecot/libdovecot.so.0(+0xd4e1e) [0x7ff37f268e1e] ->
/usr/lib/dovecot/libdovecot.so.0(+0xd4e61) [0x7ff37f268e61] ->
/usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7ff37f1d1824] ->
/usr/lib/dovecot/libdovecot-storage.so.0(dbox_file_read_mail_header+0x166)
[0x7ff37f589a06] ->
/usr/lib/dovecot/libdovecot-storage.so.0(dbox_file_seek+0x43)
[0x7ff37f589a73] ->
/usr/lib/dovecot/libdovecot-storage.so.0(mdbox_map_append_next+0x7e9)
[0x7ff37f57d2c9] ->
/usr/lib/dovecot/libdovecot-storage.so.0(mdbox_save_begin+0x59)
[0x7ff37f57f6e9] ->
/usr/lib/dovecot/modules/lib20_zlib_plugin.so(+0x34b1) [0x7ff37db684b1]
-> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_save_begin+0x8e)
[0x7ff37f565d0e] -> doveadm(+0x4b9ff) [0x5563102199ff] ->
doveadm(dsync_mailbox_import_mail+0xd8) [0x55631021ce98] ->
doveadm(dsync_brain_sync_mails+0xb2) [0x556310216ad2] ->
doveadm(dsync_brain_run+0x5c8) [0x5563102127b8] -> doveadm(+0x29bae)
[0x5563101f7bae] -> doveadm(+0x2be2
dsync(<user>): Error: Mailbox Archives: copy:
i_stream_read(zlib(/var/spool/mail/<user>/storage/m.11677)) failed:
read(/var/spool/mail/<user>/storage/m.11677) failed:
lzma.read(/var/spool/mail/<user>/storage/m.11677): corrupted data at 6429691
dsync(<user>): Error: Mailbox Archives: Saving mail:
read(zlib(/var/spool/mail/<user>/storage/m.11677)) failed:
read(/var/spool/mail/<user>/storage/m.11677) failed:
lzma.read(/var/spool/mail/<user>/storage/m.11677): corrupted data at
6429691 (read reason=)
dsync(<user>): Warning: Failed to copy source UID=1135314 mail: Mailbox
Archives: Saving mail:
read(zlib(/var/spool/mail/<user>/storage/m.11677)) failed:
read(/var/spool/mail/<user>/storage/m.11677) failed:
lzma.read(/var/spool/mail/<user>/storage/m.11677): corrupted data at
6429691 (read reason=) - falling back to regular saving
dsync(<user>): Error: Mailbox Archives: Saving mail:
read(zlib(/var/spool/mail/<user>/storage/m.11677)) failed:
read(/var/spool/mail/<user>/storage/m.11677) failed:
lzma.read(/var/spool/mail/<user>/storage/m.11677): corrupted data at
6429691 (read reason=)

On 06.09.19 19:11, sch tel wrote:
> Hello list,
>
> i run into another problem. It seems there are some null bytes in the middle of an compressed mdbox, if i look into it with hexdump after run doveadm dump. With mdbox-recover.pl i could recover ~2k messages. What should i do to recover this broken mdbox file and dsync can finish?
>
>
> Sep 06 18:47:28 doveadm: Error: zlib.read(/var/spool/mail/<user>/storage/m.770): unexpected EOF at 7947710
> Sep 06 18:47:28 doveadm: Error: dsync(server1): read(zlib(/var/spool/mail/<user>/storage/m.770)) failed: read(/var/spool/mail/<user>/storage/m.770) failed: zlib.read(/var/spool/mail/<user>/storage/m.770): unexpected EOF at 7947710 (last sent=mail, last recv=mail_request (EOL))
> Sep 06 18:47:29 dsync-local(<user>)<+mJrOaCNcl2eZwAA0H466A>: Error: zlib.read(/var/spool/mail/<user>/storage/m.770): unexpected EOF at 7947710
> Sep 06 18:47:29 dsync-local(<user>)<+mJrOaCNcl2eZwAA0H466A>: Error: dsync(server1): read(zlib(/var/spool/mail/<user>/storage/m.770)) failed: read(/var/spool/mail/<user>/storage/m.770) failed: zlib.read(/var/spool/mail/<user>/storage/m.770): unexpected EOF at 7947710 (last sent=mail, last recv=mail_request (EOL))
>


More information about the dovecot mailing list