[Dovecot] A few dovecot 1.1 bugs - sort, flag reset and etc.
I installed dovecot 1.1 on our system yesterday, and found a few bugs so far.
Here is the list:
BUG #1: can't access some folders Details: a select "RSS.A List Apart"
- FLAGS (\Answered \Flagged \Deleted \Seen \Draft $$$INDEXED###)
- OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft $$$INDEXED### \*)] Flags permitted.
- 52 EXISTS
- 0 RECENT
- OK [UNSEEN 50] First unseen.
- OK [UIDVALIDITY 1166644056] UIDs valid
- OK [UIDNEXT 65] Predicted next UID a OK [READ-WRITE] Select completed. a SORT (DATE) UTF-8 UNSEEN imap(jing@webmail.us javascript:void(0);): Panic: file mail-cache-lookup.c: line 70: unreached imap(jing@webmail.us javascript:void(0);): Error: Raw backtrace: /usr/libexec/dovecot/imap [0x80be647] -> /usr/libexec/dovecot/imap [0x80be82f] -> /usr/libexec/dovecot/imap [0x809849b] -> /usr/libexec/dovecot/imap(mail_cache_lookup_iter_init+0x6c) [0x809857c] -> /usr/libexec/dovecot/imap(mail_cache_lookup_headers+0xf7) [0x8098c77] -> /usr/libexec/dovecot/imap [0x8091ac7] -> /usr/libexec/dovecot/imap(index_mail_get_first_header+0x17) [0x8091dff] -> /usr/libexec/dovecot/imap(mail_get_first_header+0x12) [0x80b054a] -> /usr/libexec/dovecot/imap [0x8093b5a] -> /usr/libexec/dovecot/imap [0x8093cee] -> /usr/libexec/dovecot/imap [0x8093eff] -> /usr/libexec/dovecot/imap(bsearch_insert_pos+0x40) [0x80bd794] -> /usr/libexec/dovecot/imap [0x8094660] -> /usr/libexec/dovecot/imap [0x8094759] -> /usr/libexec/dovecot/imap(index_sort_list_finish+0x2f) [0x8094a27] -> /usr/libexec/dovecot/imap(index_storage_search_next_nonblock+0x119) [0x8093819] -> /usr/libexec/dovecot/imap(mailbox_search_next_nonblock+0x17) [0x80b21f3] -> /usr/libexec/dovecot/imap(mailbox_search_next+0x1d) [0x80b21c5] -> /usr/libexec/dovecot/imap(imap_sort+0xb5) [0x8064529] -> /usr/libexec/dovecot/imap(cmd_sort+0x10e) [0x805e356] -> /usr/libexec/dovecot/imap [0x805fe82] -> /usr/libexec/dovecot/imap [0x805fda1] -> /usr/libexec/dovecot/imap [0x805ff11] -> /usr/libexec/dovecot/imap(_client_input+0x56) [0x805ffce] -> /usr/libexec/dovecot/imap(io_loop_handler_run+0x100) [0x80c3e38] -> /usr/libexec/dovecot/imap(io_loop_run+0x2d) [0x8069339] -> /usr/libexec/dovecot/imap(main+0x64) [0x8068d30] -> /lib/tls/libc.so.6(__libc_start_main+0xda) [0x73978a]
Program received signal SIGABRT, Aborted. 0x0074bcdf in raise () from /lib/tls/libc.so.6 (gdb) bt full #0 0x0074bcdf in raise () from /lib/tls/libc.so.6 No symbol table info available. #1 0x0074d4e5 in abort () from /lib/tls/libc.so.6 No symbol table info available. #2 0x080be666 in default_panic_handler (format=0x80cdbdd "file %s: line %d: unreached", args=0xbfff9cb4 "MP\r\bF") at failures.c:136 backtrace = 0x8d2ac38 "/usr/libexec/dovecot/imap [0x80be647] -> /usr/libexec/dovecot/imap [0x80be82f] -> /usr/libexec/dovecot/imap [0x809849b] -> /usr/libexec/dovecot/imap(mail_cache_lookup_iter_init+0x6c) [0x809857c] -> /u"... #3 0x080be82f in i_panic (format=0x80cdbdd "file %s: line %d: unreached") at failures.c:213 No locals. #4 0x0809849b in mail_cache_lookup_offset (cache=0x8d4a9b8, view=0x8d4d460, seq=18, offset_r=0x0) at mail-cache-lookup.c:70 map = (struct mail_index_map *) 0x8d4a898 data = (const void *) 0x8d4f4a4 idx = 148024040 i = -1073767072 ret = 0 #5 0x0809857c in mail_cache_lookup_iter_init (view=0x8d4d558, seq=18, ctx_r=0xbfff9d60) at mail-cache-lookup.c:125 ctx = (struct mail_cache_lookup_iterate_ctx *) 0xbfff9d60 ret = 0 #6 0x08098c77 in mail_cache_lookup_headers (view=0x8d4d558, dest=0x8d52038, seq=18, field_idxs=0xbfff9de4, fields_count=1) at mail-cache-lookup.c:470 cache = (struct mail_cache *) 0x8d4a9b8 iter = {view = 0x8d4d558, remap_counter = 0, seq = 18, rec = 0x0, pos = 0, rec_size = 0, offset = 0, stop = 0, failed = 0, appends_checked = 0} field = {field_idx = 12, data = 0x8d4dbc0, size = 0} ctx = {view = 0x8d4d558, lines = {arr = {buffer = 0x8d2aae8, element_size = 8}, v = 0x8d2aae8, v_modifiable = 0x8d2aae8}} lines = (struct header_lookup_line *) 0x1 p = (const unsigned char *) 0x0 start = (const unsigned char *) 0xbfff9d60 "XÕÔ\b" end = (const unsigned char *) 0x42a5
field_state = (uint8_t *) 0x8d2aab8 "" i = 1 max_field = 10 hdr_size = 3221200208 want = 1 '\001' buf = (buffer_t *) 0xbfff9d50 ret = 0 #7 0x08091ac7 in index_mail_get_raw_headers (mail=0x8d3d3b8, field=0x80ce56b "Subject") at index-mail-headers.c:568 headers = {0xbfff9e18 "8\236ÿ¿J\005\v\b¸ÓÓ\bkå\f\b", 0x809059c "\213\216(\001"} value = 0x0 headers_ctx = (struct mailbox_header_lookup_ctx *) 0x8d3d3b8 data = (unsigned char *) 0x8d4b1a8 "h³Ô\b *Ó\b\224X\t\b¬X\t\bÐ\200\006\b\204Å\006\b°2\a\b¤3\a\büÇ\006\bÌÈ\006\bTÉ\006\b" field_idx = 10 dest = (string_t *) 0x8d52038 i = 148100024 len = 148100132 ret = 148156840 header_values = {arr = {buffer = 0xac, element_size = 3221200392}, v = 0xac, v_modifiable = 0xac} #8 0x08091dff in index_mail_get_first_header (_mail=0x8d3d3b8, field=0x80ce56b "Subject", decode_to_utf8=false) at index-mail-headers.c:673 list = (const char * const *) 0x6 #9 0x080b054a in mail_get_first_header (mail=0x0, field=0x80ce56b "Subject") at mail.c:96 No locals. #10 0x08093b5a in sort_header_get (sort_type=MAIL_SORT_SUBJECT, mail=0x8d3d3b8, seq=18) at index-sort.c:180 str = 0x8d3d3b8 "¨±Ô\b8ÇÔ\b\022" buf = (string_t *) 0x20 #11 0x08093cee in sort_node_cmp_type (ctx=0x80e62e0, sort_program=0x8d3d334, n1=0xbfff9f20, n2=0x8d3d850) at index-sort.c:223 sort_type = MAIL_SORT_SUBJECT str1 = 0x8d2aa50 "NEVER USE A WARNING WHEN YOU MEAN UNDO" str2 = 0x0 time1 = 32 time2 = 6 size1 = 148023856 size2 = 73276437037062 ret = 148023888 #12 0x08093eff in sort_node_cmp_no_sort_id (p1=0xbfff9f20, p2=0x8d3d850) at index-sort.c:309 No locals. ---Type <return> to continue, or q <return> to quit--- #13 0x080bd794 in bsearch_insert_pos (key=0xbfff9f20, base=0x8d3d798, nmemb=46, size=8, cmp=0x8093ee0BUG #2: Some flags are reset after they were set a while ago, like messages that has been read are randomly becoming unread again.
Bug #3: CRLF in the email file on disk is shown like "=0A", which causes display problem in wireless access. =0A =0A =0A =0A =0AHey all, =0A=C2=A0
Thanks, Wenjie
On Sat, 2007-08-04 at 11:25 -0400, wenjie zheng wrote:
imap(jing@webmail.us javascript:void(0);): Panic: file mail-cache-lookup.c: line 70: unreached
This should be fixed now in hg.
BUG #2: Some flags are reset after they were set a while ago, like messages that has been read are randomly becoming unread again.
I haven't noticed this myself. When you see this, could you look up the message's UID and then check with logview program (in libexec/dovecot/) what flag changes there have been for this UID. The only parameter logview needs is path to the dovecot.index.log file.
Bug #3: CRLF in the email file on disk is shown like "=0A", which causes display problem in wireless access. =0A =0A =0A =0A =0AHey all, =0A=C2=A0
Dovecot doesn't do any line feed conversions, I think that email was just sent like that?
On Aug 06, 2007 17:36:02, Timo Sirainen wrote:
On Sat, 2007-08-04 at 11:25 -0400, wenjie zheng wrote:
BUG #2: Some flags are reset after they were set a while ago, like messages that has been read are randomly becoming unread again.
I haven't noticed this myself. When you see this, could you look up the message's UID and then check with logview program (in libexec/dovecot/) what flag changes there have been for this UID. The only parameter logview needs is path to the dovecot.index.log file.
I'm seeing this problem too.
Message was marked 'O' in mutt - I believe this means 'seen'. Here's the logview output when I open the message (which should mark it as 'read'):
record: offset=13532, type=flag-update (ext), size=20
- 223-223 (flags +0-1f) record: offset=13552, type=keyword-reset (ext), size=24
- 228-228, 230-240, record: offset=13576, type=header-update (ext), size=16
- offset = 64, size = 4: 18350000 (dec=13592)
Let me know if you need anything else.
Cheers, J
On Sat, 2007-08-04 at 11:25 -0400, wenjie zheng wrote:
BUG #2: Some flags are reset after they were set a while ago, like messages that has been read are randomly becoming unread again.
participants (3)
-
Jasper Bryant-Greene
-
Timo Sirainen
-
wenjie zheng