LZ4 mailbox corruption
Hello,
When I look at email files on my server (mdbox format), they contain random LZ4 stuff. I have now changed the compression to gzip and new mails look cleaner. But older ones have problems.
A mail file looks like this: 2 M1e C5655b6a8 ^A^BN 00000000000006F4 Dovecot-LZ4^M*<9B><C5>^@^A^@^@^@^@^F<DD><FF><83>Return-path: <nobody@winnie.projecthoneypot.org> Envelope-to: nikademus@llorien.org Delivery-date: Mon, 22 Nov 2004 09:50:58 +0100 Received: from }^@^G<F7> [66.135.39.84] by mail.}^@<FF>< with esmtp (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA:24) id=1CW9uQ-0002gj-El for<DE>^@^C^_;<D0>^@8<B1>(localhost. ^@<F1>^Ddomain [127.0.0.1])<E5>^@^O^S^A^H<82>(8.12.8/^G^@^R)<FF>^@<F2>^HESMTP id iAM9gl4l021209<D6>^@^_<<D7>^@^B^_><D8>^@^A<B9>3:42:47 -06<A8>^Ac(from -^B^A<BA>^@Ohost<AC>^@^\<86>/Submit)<A8>^@!cd<A8>^@N7; 4^B <8C>^@^_DZ^B^D &^@<F2>^KMessage-Id: <200411220942.^Y^A^Dq^@^O<F1>^B <FF>^BTo: Renaud AllardB^A^E<B2>
Then, I randomly see errors like this in maillog: truncated lz4 chunk at 555395
Given I am still able to read the mails using imap, I think there might be a way to recover them to a proper format.
However, using dsync to make a mirror throws a lot of errors like below.
# dsync -v -u recover -o "mail_plugins=zlib" mirror dbox:~/ndbox dsync(recover): Error: lz4.read(//home/vmail/recover/mdbox/storage/m.2): corrupted lz4 chunk at 43551 dsync(recover): Error: write(/home/vmail/recover/ndbox/mailboxes/INBOX/dbox-Mails/.temp.1448464321.P24341Q6M965521.isildur.arnor.org) failed: Invalid argument dsync(recover): Error: copy: i_stream_read(zlib(//home/vmail/recover/mdbox/storage/m.2)) failed: read(//home/vmail/recover/mdbox/storage/m.2) failed: lz4.read(//home/vmail/recover/mdbox/storage/m.2): corrupted lz4 chunk at 43551 dsync(recover): Error: read(zlib(//home/vmail/recover/mdbox/storage/m.2)) failed: read(//home/vmail/recover/mdbox/storage/m.2) failed: lz4.read(//home/vmail/recover/mdbox/storage/m.2): corrupted lz4 chunk at 43551 (uid=42028, box=INBOX) dsync(recover): Error: Mailbox INBOX: read(msg input) failed: read(//home/vmail/recover/mdbox/storage/m.2) failed: lz4.read(//home/vmail/recover/mdbox/storage/m.2): corrupted lz4 chunk at 43551 dsync(recover): Error: read(zlib(//home/vmail/recover/mdbox/storage/m.2)) failed: read(//home/vmail/recover/mdbox/storage/m.2) failed: lz4.read(//home/vmail/recover/mdbox/storage/m.2): corrupted lz4 chunk at 43551 (uid=42028, box=INBOX) dsync(recover): Error: unlink(��������������������������������������������������������������������������������������������������������������������������������) failed: No such file or directory dsync(recover): Error: unlink(��������������������������������������������������������������������������������������������������������������������������������//home/vmail/recover/mdbox/mailboxes/Drafts/dbox-Mails/dovecot.index.log.2) failed: No such file or directory dsync(recover): Error: unlink(Internal error occurred. Refer to server log for more information. [2015-11-25 16:12:01]) failed: No such file or directory dsync(recover): Error: unlink(��������������������������������������������������������������������������������������������������������������������������������) failed: No such file or directory dsync(recover): Error: unlink(����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������) failed: File name too long dsync(recover): Error: unlink(Internal error occurred. Refer to server log for more information. [2015-11-25 16:12:01]) failed: No such file or directory
Any help welcome
participants (1)
-
Renaud Allard