[Dovecot] test76 segfaults?
Hi,
I was just trying to port my dspam plugin to the latest test release but ran into trouble so I decided to test the code itself first.
I have the following maildir: johannes:~/.mail$ find . ./cur ./new ./new/test ./tmp ./.SPAM ./.SPAM/cur ./.SPAM/new ./.SPAM/tmp
Now I run $ exec /usr/sbin/dovecot --exec-mail imap
- PREAUTH [CAPABILITY IMAP4rev1 SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS] Logged in as johannes A SELECT INBOX
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
- OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
- 1 EXISTS
- 1 RECENT
- OK [UNSEEN 1] First unseen.
- OK [UIDVALIDITY 1120680468] UIDs valid
- OK [UIDNEXT 2] Predicted next UID A OK [READ-WRITE] Select completed. B COPY 1 SPAM imap(johannes): Error: Corrupted index file /home/johannes/.mail/.SPAM/dovecot.index: uid_validity = 0, next_uid = 2 Segmentation fault
However, it actually did copy something: johannes:~/.mail$ find . ./cur ./cur/test:2, ./new ./tmp ./.SPAM ./.SPAM/cur ./.SPAM/new ./.SPAM/new/1120680473.P1535Q0M900310.johannes ./.SPAM/tmp ./.SPAM/dovecot.index ./.SPAM/dovecot-uidlist ./.SPAM/dovecot-uidlist.lock ./.SPAM/dovecot.index.log.2 ./.SPAM/dovecot.index.log ./dovecot.index.log ./dovecot.index ./dovecot.index.cache ./dovecot-uidlist
The mail in that, for reference, is just this:
A: xxx Subject: hallo! From: johannes X-DSPAM-Signature: asdf
wow!
johannes
On Wed, 2005-07-06 at 22:12 +0200, Johannes Berg wrote:
Segmentation fault
Here's a backtrace: Program received signal SIGSEGV, Segmentation fault. 0x1004679c in mail_index_sync_end (ctx=0x100ad308) at mail-index-sync.c:596 596 i_assert(!ctx->index->map->write_to_disk); (gdb) bt #0 0x1004679c in mail_index_sync_end (ctx=0x100ad308) at mail-index-sync.c:596 #1 0x1001fe38 in maildir_sync_index_finish (sync_ctx=0x100aca60, partial=1) at maildir-sync.c:1089 #2 0x100201b0 in maildir_sync_context (ctx=0x10092ec8, forced=Variable "forced" is not available. ) at maildir-sync.c:1218 #3 0x100204ac in maildir_sync_last_commit (mbox=Variable "mbox" is not available. ) at maildir-sync.c:1257 #4 0x10020728 in maildir_transaction_commit (_t=Variable "_t" is not available. ) at maildir-transaction.c:51 #5 0x10053b2c in mailbox_transaction_commit (t=Variable "t" is not available. ) at mail-storage.c:418 #6 0x1000e5f0 in cmd_copy (cmd=0x1009bae0) at cmd-copy.c:93 #7 0x10012b34 in _client_input (context=Variable "context" is not available. ) at client.c:334 #8 0x10069a2c in io_loop_handler_run (ioloop=0x1009ab00) at ioloop-poll.c:184 #9 0x10068d1c in io_loop_run (ioloop=0x1009ab00) at ioloop.c:218 #10 0x1001bbb8 in main (argc=Variable "argc" is not available. ) at main.c:228
And for the tiny bit more info: (gdb) print ctx->index->map $1 = (struct mail_index_map *) 0x0
participants (1)
-
Johannes Berg