This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ANNOUNCEMENT] Updated: emacs-24.3.93-1 [TEST]

> Date: Thu, 21 Aug 2014 09:58:33 -0400
> From: Ken Brown
> CC: Eli Zaretskii
> Thanks for the report.  The abort comes from here (in buffer.c):
>    for (tail = current_buffer->overlays_before; tail; tail = tail->next)
>      {
>        ptrdiff_t startpos, endpos;
>        XSETMISC (overlay, tail);
>        start = OVERLAY_START (overlay);
>        end = OVERLAY_END (overlay);
>        endpos = OVERLAY_POSITION (end);   <<<<<<<<<<<<<<<<<<<<<
> where OVERLAY_POSITION is defined as follows in buffer.h:
>   (MARKERP (P) ? marker_position (P) : (emacs_abort (), 0))
> I'm not at all familiar with the code in this area, but I'm copying Eli 
> in the hopes that he can see something in this backtrace.  I don't know 
> if this will turn out to be another one of those backtraces that don't 
> make sense.

Next time it happens, it would be good to know what kind of Lisp
object is 'end'.  Like this:

 (gdb) p end
 (gdb) xtype

To have the xtype command, you need to source the .gdbinit file that
comes with Emacs.  Also, the above assumes that you are in the right
stack call frame, i.e. in the frame that called emacs_abort.  In the
backtrace shown in the message I'm replying to, that is frame #2, so
the command is

 (gdb) frame 2

If "xtype" says it's a symbol, follow with "xymbol", which will show
what symbol is that.  There are other x* commands to display other
Lisp objects.

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]