<<< Date Index >>>     <<< Thread Index >>>

Re: mutt crash and backtrace



On Mon, 28 Feb 2005, Mads Martin Joergensen wrote:
> Here's a dump from when it often crashes in sync of the mailbox. This is
> when using imap with mutt 1.5.8.

Has this been fixed in 1.5.9 or CVS?
If not, I think we need more information.
(Probably I am unable to help you even if you give
*me* more information. But someone else should be.)

Is it reproduced on non-64bit platforms?

Is it reproduced if your mutt is configure'd
--without-ssl --without-gnutls --disable-hcache?

What sort of crash do you see? Null pointer?
What is the values of ptr, ptr->data,
((HEADER *) ptr->data)->thread,
((HEADER *) ptr->data)->thread->message,
((HEADER *) ptr->data)->thread->message->env,
cur, last, OPTTHREADRECEIVED, last->message,
and subjects?


> #0  0x000000000045a38a in mutt_sort_threads (ctx=0x848310, init=1)
>     at thread.c:432
> 432           if (tmp != cur &&                    /* don't match the same 
> message */
<snip>
> #9  0x00002aaaab3f900d in __libc_start_main () from /lib64/tls/libc.so.6
<snip>
> Code:
> 
> (gdb) l
> 427         hash = hash_string ((unsigned char *) subjects->data,
> 428                             ctx->subj_hash->nelem);
> 429         for (ptr = ctx->subj_hash->table[hash]; ptr; ptr = ptr->next)
> 430         {
> 431           tmp = ((HEADER *) ptr->data)->thread;
> 432           if (tmp != cur &&                    /* don't match the same 
> message */
> 433               !tmp->fake_thread &&             /* don't match pseudo 
> threads */
> 434               tmp->message->subject_changed && /* only match interesting 
> replies */
> 435               !is_descendant (tmp, cur) &&     /* don't match in the same 
> thread */
> 436               (date >= (option (OPTTHREADRECEIVED) ?

Wow, this "if" is too long to debug!
Maybe we should split it.

-- 
tamo