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

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