Re: Mutt crashing on exit or replying (sometimes)
Any ideas?
- jt
On Wed, Mar 11, 2009 at 01:07:00PM -0600, Joshua Tinnin wrote:
> On Wed, Mar 11, 2009 at 11:18:30AM -0500, Kyle Wheeler wrote:
> > On Wednesday, March 11 at 10:36 AM, quoth Joshua Tinnin:
> > >Here it is:
> > >
> > >Program received signal SIGSEGV, Segmentation fault.
> > >0x080cb71f in safe_strdup ()
> > >(gdb) backtrace
> > >#0 0x080cb71f in safe_strdup ()
> > >#1 0x080b4d6a in rfc822_cpy_adr_real ()
> > >#2 0x080bc09c in mutt_default_from ()
> > >#3 0x080bc9d0 in ci_send_message ()
> > >#4 0x080a20d4 in mutt_pager ()
> > >#5 0x0805d753 in mutt_display_message ()
> > >#6 0x0806c3c3 in mutt_index_menu ()
> > >#7 0x0808c6e5 in main ()
> > >(gdb)
> >
> > Very strange!
> >
> > So, from what you've said so far, this crash happens when you tell
> > mutt to quit. But this backtrace looks *completely* wrong for
> > quitting. It looks like mutt crashed while attempting to send a
> > message while viewing a message. Specifically, it crashed while
> > attempting to copy the value of the $from variable.
>
> No, I said that Mutt crashed when quitting or replying to some messages.
> This is a crash when I try to reply.
>
> > I assume that, when run inside the debugger, mutt crashed at a
> > different place than you originally reported? If so, that means the
> > reason it crashed *originally* was because it was dealing with memory
> > that had been corrupted earlier, and inside the debugger we're able to
> > catch it earlier.
>
> No, see above.
>
> > So, let's try a few things. First, let's check the values of $use_from
> > and $from in your muttrc (obviously, mutt shouldn't crash no matter
> > what those settings are, but it did crash, so now we're trying to
> > figure out why).
>
> set use_from=yes
> set from="jrt@xxxxxxxxxxx"
>
> > Second, instead of running mutt inside gdb with just
> > the `run` command, try `run -d 5` so that mutt will create the
> > ~/.muttdebug0 file. And when it crashes, let's see what the last few
> > lines of that file look like.
>
> OK.
>
> Here's a backtrace from when I quit and it crashes:
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x28587029 in free () from /lib/libc.so.7
> (gdb) backtrace
> #0 0x28587029 in free () from /lib/libc.so.7
> #1 0x080cb622 in safe_free ()
> #2 0x080b3648 in rfc822_free_address ()
> #3 0x08076965 in mutt_free_opt ()
> #4 0x080769e2 in mutt_free_opts ()
> #5 0x0808c704 in main ()
> (gdb)
>
> Here's the .muttdebug0:
>
> 25498 mutt_addr_is_user: no, all failed.
> 25499 mutt_addr_is_user: no, all failed.
> 25500 mutt_addr_is_user: no, all failed.
> 25501 mutt_addr_is_user: no, all failed.
> 25502 mutt_index_menu[617]: Got op 145
>
>
> Here's a backtrace when it crashes from replying:
>
> 0x080cb71f in safe_strdup ()
> (gdb) backtrace
> #0 0x080cb71f in safe_strdup ()
> #1 0x080b4d6a in rfc822_cpy_adr_real ()
> #2 0x080bc09c in mutt_default_from ()
> #3 0x080bc9d0 in ci_send_message ()
> #4 0x080a20d4 in mutt_pager ()
> #5 0x0805d753 in mutt_display_message ()
> #6 0x0806c3c3 in mutt_index_menu ()
> #7 0x0808c6e5 in main ()
> (gdb)
>
> Here's the .muttdebug0
>
> 25686 mutt_addr_is_user: no, all failed.
> 25687 mutt_addr_is_user: no, all failed.
> 25688 send.c:1183: mutt_mktemp returns "/tmp/mutt-smogmonster-ozLk0Waq-00007".
> 25689 mutt_addr_is_user: no, all failed.
> 25690 mutt_addr_is_user: no, all failed.
>
> - jt