emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: STatus of MPS branch


From: Eli Zaretskii
Subject: Re: STatus of MPS branch
Date: Sun, 21 Apr 2024 18:52:18 +0300

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: emacs-devel <emacs-devel@gnu.org>
> Date: Sun, 21 Apr 2024 17:37:09 +0200
> 
> > Breakpoint 1, handle_sigsegv (sig=11, 
> >     siginfo=0x555555f6ed70 <sigsegv_stack+64784>, 
> >     arg=0x555555f6ec40 <sigsegv_stack+64480>) at sysdep.c:1930
> > 1930      bool fatal = gc_in_progress;
> > (gdb) backtrace 
> > #0  handle_sigsegv (sig=11, siginfo=0x555555f6ed70 <sigsegv_stack+64784>, 
> >     arg=0x555555f6ec40 <sigsegv_stack+64480>) at sysdep.c:1930
> > #1  <signal handler called>
> > #2  string_intervals (s=XIL(0x7ffff0698edc))
> >     at /scratch/emacs/emacs-igc/src/lisp.h:4063
> > #3  0x0000555555767d97 in concat_to_string (nargs=3, args=0x7fffe5f035b8)
> >     at fns.c:957
> 
> I think I'd start in #2 here, by looking at S. First question would be
> if the string itself it ok, and what kind of string it is. I haven't
> used GDB with Emacs here for a very long time (no GDB on macOS), so I'm
> a bit out of my comfort zone.
> 
> # We need the pointer to the Lisp_String that's in S, let's say it's P.
> # Don't know how, sorry

Like this:

  (gdb) source /path/to/emacs/src/.gdbinit
  (gdb) p s
  (gdb) xtype
  (gdb) xstring

The last command should only be issued if "xtype" before this says S
is a Lisp string.  Otherwise, S is an object of the wrong type, and
one should try figuring out how a non-string object ended up in a call
to string_intervals.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]