Does anyone here have any ideas? ----- Forwarded message from Joshua Tinnin <krinklyfig@xxxxxxxxxxxxx> ----- 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 ----- End forwarded message ----- ~Kyle -- Victory goes to the player who makes the next-to-last mistake. -- Chessmaster Savielly Gricorievitch Tatrtak
Attachment:
pgpD6VAi04Zhv.pgp
Description: PGP signature