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="j...@taosnet.com" > > > 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