all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Toby Allsopp <toby@mi6.gen.nz>
To: rms@gnu.org
Cc: emacs-pretest-bug@gnu.org
Subject: Re: 23.0.50; Crash in ediff-regions-linewise
Date: Sun, 14 Oct 2007 21:19:57 +1300	[thread overview]
Message-ID: <87wstq5cr6.fsf@candyboy.here> (raw)
In-Reply-To: <E1Igmxn-0002Fw-Nh@fencepost.gnu.org> (Richard Stallman's message of "Sat\, 13 Oct 2007 15\:47\:55 -0400")

[I apologise if this is a duplicate message; my ISP bounced my first
attempt.]

Richard Stallman <rms@gnu.org> writes:

> The crash occurred trying to print some Lisp data.  Probably some data
> is invalid -- but which data?  Please look at the data to see what if
> anything is invalid.

It appears that Fmake_indirect_buffer creates a buffer object that is
invalid in some way.  This then fails a bufferp check and results in
an error containing the invalid buffer object.

> It appears that the invalid data came from an error.  Please try using
> a breakpoint in Fsignal to catch it when it generates the error.  Then
> you can find out where the invalid data came from.

Thank you for this suggestion.  Stopping at Fsignal was very
educational.

> We need to see where it was created so we can fix the bug there.

The first sign of invalid data that I can find shows up at
buffer.c:603:

  XSETBUFFER (buf, b);

After executing this line trying to pp buf results in a segmentation
fault:

(gdb) pp buf
[
Program received signal SIGSEGV, Segmentation fault.
0x00000000005ca9a9 in print_object (obj=-31378459841363086, printcharfun=11387361, escapeflag=1) at /usr/local/src/emacs-cvs/emacs/src/print.c:2072

At this point xbacktrace shows:

"make-indirect-buffer" (0x364de598)
"ediff-make-indirect-buffer" (0x364deaa8)
"ediff-make-cloned-buffer" (0x364defc8)
"ediff-clone-buffer-for-region-comparison" (0x364df4e8)
"ediff-regions-linewise" (0x364dfa38)
"call-interactively" (0x364dfe88)
"execute-extended-command" (0x364e01b8)
"call-interactively" (0x364e0518)

The arguments to make-indirect-buffer look fine:

Breakpoint 6, Fmake_indirect_buffer (base_buffer=11255747, name=16778051, clone=16709345) at /usr/local/src/emacs-cvs/emacs/src/buffer.c:554
(gdb) pp base_buffer
"*scratch*"
(gdb) pp name
"*scratch*-Region.A-"
(gdb) pp clone
clone

A slightly easier way to reproduce the crash is:

emacs -Q
C-x 4 c

I hope this helps.

Regards,
Toby.

  reply	other threads:[~2007-10-14  8:19 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-13  7:13 23.0.50; Crash in ediff-regions-linewise Toby Allsopp
2007-10-13 19:47 ` Richard Stallman
2007-10-14  8:19   ` Toby Allsopp [this message]
2007-10-14 19:05     ` Stefan Monnier
2007-10-14 20:01       ` Andreas Schwab
2007-10-16 15:43         ` Stefan Monnier
2007-10-15 20:39       ` Toby Allsopp
2007-10-16 15:50         ` Stefan Monnier
2007-10-17  5:42           ` Toby Allsopp
2007-10-17 14:03             ` Stefan Monnier
     [not found]   ` <874pgu5bxh.fsf@candyboy.here>
2007-10-15  1:37     ` Richard Stallman

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=87wstq5cr6.fsf@candyboy.here \
    --to=toby@mi6.gen.nz \
    --cc=emacs-pretest-bug@gnu.org \
    --cc=rms@gnu.org \
    /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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.