public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Michael Snyder <msnyder@specifix.com>
Cc: Stephen.Berman@gmx.net, gdb@sources.redhat.com
Subject: Re: GDB cannot access memory after Emacs abort
Date: Sun, 11 Nov 2007 07:44:00 -0000	[thread overview]
Message-ID: <ufxzdp6p4.fsf@gnu.org> (raw)
In-Reply-To: <1194763094.16917.278.camel@localhost.localdomain> (message from 	Michael Snyder on Sat, 10 Nov 2007 22:38:14 -0800)

> From: Michael Snyder <msnyder@specifix.com>
> Cc: gdb@sources.redhat.com
> Date: Sat, 10 Nov 2007 22:38:14 -0800
> 
> Making sure that I understand -- you ran emacs under gdb, 
> you set a breakpoint at abort, you hit the breakpoint -- 

The .gdbinit file in the Emacs src directory always sets a breakpoint
at `abort', because Emacs calls `abort' when it encounters a ``can't
happen'' situation.

> > >   (gdb) xbacktrace
> 
> OK, I'm not familiar with that command.  "xbacktrace"?

It's defined in Emacs's src/.gdbinint.  I reproduce it below, in case
you are interested, but the upshot of all this is that `bt' doesn't
work, as shown below:

> > >   (gdb) bt
> > >   #0  abort () at emacs.c:431
> > >   Cannot access memory at address 0xbfd6836c
> > >   Cannot access memory at address 0x8321b6c

Stack overflow, maybe?

    define xbacktrace
      set $bt = backtrace_list
      while $bt
	xgettype (*$bt->function)
	if $type == Lisp_Symbol
	  xprintsym (*$bt->function)
	  printf " (0x%x)\n", *$bt->args
	else
	  printf "0x%x ", *$bt->function
	  if $type == Lisp_Vectorlike
	    xgetptr (*$bt->function)
	    set $size = ((struct Lisp_Vector *) $ptr)->size
	    output ($size & PVEC_FLAG) ? (enum pvec_type) ($size & PVEC_TYPE_MASK) : $size & ~gdb_array_mark_flag
	  else
	    printf "Lisp type %d", $type
	  end
	  echo \n
	end
	set $bt = $bt->next
      end
    end
    document xbacktrace
      Print a backtrace of Lisp function calls from backtrace_list.
      Set a breakpoint at Fsignal and call this to see from where
      an error was signaled.
    end

  reply	other threads:[~2007-11-11  7:44 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87r6j6rvn3.fsf@escher.local.home>
2007-11-10 23:50 ` Stephen Berman
2007-11-11  6:46   ` Michael Snyder
2007-11-11  7:44     ` Eli Zaretskii [this message]
2007-11-11 23:05       ` Stephen Berman
2007-11-12  4:18         ` Eli Zaretskii
2007-11-12  5:24         ` Michael Snyder
2007-11-13 22:40           ` Stephen Berman
2007-11-13 23:20             ` Michael Snyder
2007-11-13 23:28               ` Dan Nicolaescu
2007-11-14 10:00                 ` Stephen Berman
2007-11-13 23:57             ` Andreas Schwab
2007-11-11 19:22     ` Daniel Jacobowitz
2007-11-11 23:10       ` Stephen Berman
2007-11-12  0:39         ` Daniel Jacobowitz
2007-11-12 17:47         ` Jim Blandy
2007-11-12 19:44           ` Andreas Schwab
2007-11-13 22:36             ` Stephen Berman
2007-11-13 22:34           ` Stephen Berman
2007-11-13 23:14             ` Michael Snyder
2007-11-14  9:48               ` Stephen Berman
2007-11-13 23:51             ` Andreas Schwab
2007-11-12  7:39       ` Vladimir Prus
2007-11-13 22:36         ` Stephen Berman
2007-11-13 23:24           ` Michael Snyder
2007-11-14  9:50             ` Stephen Berman
2007-11-14 12:00               ` Michael Snyder
2007-11-14 19:24                 ` Stephen Berman
2007-11-15  1:00                   ` Michael Snyder
2007-11-11 23:01     ` Stephen Berman
2007-11-12  5:15       ` Michael Snyder
2007-11-14  9:55         ` Stephen Berman
2007-11-14 12:00           ` Michael Snyder

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ufxzdp6p4.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=Stephen.Berman@gmx.net \
    --cc=gdb@sources.redhat.com \
    --cc=msnyder@specifix.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).