unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 23.0.50; Crash in ediff-regions-linewise
@ 2007-10-13  7:13 Toby Allsopp
  2007-10-13 19:47 ` Richard Stallman
  0 siblings, 1 reply; 11+ messages in thread
From: Toby Allsopp @ 2007-10-13  7:13 UTC (permalink / raw)
  To: emacs-pretest-bug

In short, ediff-regions-linewise causes a segmentation fault after
choosing any two buffers.  This is with the trunk of CVS as at
2007-10-12 18:47 GMT.

A gdb session follows, with the command to emacs in the middle.  For
your convenience, I repeat the command immediately below.

M-x ediff-regions-linewise <RET> <RET> <RET>

toby@candyboy:/usr/local/src/emacs-cvs/build/src$ gdb emacs
GNU gdb 6.6.90.20070912-debian
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu"...
Using host libthread_db library "/lib/libthread_db.so.1".
SIGINT is used by the debugger.
Are you sure you want to change it? (y or n) [answered Y; input not from terminal]
DISPLAY = :0.0
TERM = rxvt-unicode
Breakpoint 1 at 0x50ce48: file /usr/local/src/emacs-cvs/emacs/src/emacs.c, line 431.
Breakpoint 2 at 0x532ace: file /usr/local/src/emacs-cvs/emacs/src/sysdep.c, line 1435.
(gdb) r -Q
Starting program: /usr/local/src/emacs-cvs/build/src/emacs -Q
[Thread debugging using libthread_db enabled]
[New Thread 0x2acd6b1ba560 (LWP 28618)]

M-x ediff-regions-linewise <RET> <RET> <RET>

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x2ab920540560 (LWP 29011)]
0x00000000005c8cdd in print_object (obj=-48625613986906302, printcharfun=11233777, 
    escapeflag=1) at /usr/local/src/emacs-cvs/emacs/src/print.c:2072
2072	      switch (XMISCTYPE (obj))
(gdb) bt fill
No symbol "fill" in current context.
(gdb) bt full
#0  0x00000000005c8cdd in print_object (obj=-48625613986906302, printcharfun=11233777, 
    escapeflag=1) at /usr/local/src/emacs-cvs/emacs/src/print.c:2072
	buf = "\321\326\310\217\377\177\000\000\340\204\t\001\000\000\000\000R\240\260\000\000\000\000\000z\240\260\000\000\000\000\000\242\240\260\000\000\000\000"
#1  0x00000000005c8c72 in print_object (obj=20245076, printcharfun=11233777, 
    escapeflag=1) at /usr/local/src/emacs-cvs/emacs/src/print.c:2062
	i = 0
	tem = -48625613986906302
	real_size = 109
	size = 10
	buf = "d\177\312\000\000\000\000\000\221i\253\000\000\000\000\000\362M\257\000\000\000\000\000!K\257\000\000\000\000\000\300\331\310\217\377\177\000"
#2  0x00000000005c627a in print (obj=20245076, printcharfun=11233777, escapeflag=1)
    at /usr/local/src/emacs-cvs/emacs/src/print.c:1337
No locals.
#3  0x00000000005c41ec in Fprin1 (object=20245076, printcharfun=11233777)
    at /usr/local/src/emacs-cvs/emacs/src/print.c:775
	old = (struct buffer *) 0xac35f0
	old_point = -1
	start_point = -1
	old_point_byte = -1
	start_point_byte = -1
	specpdl_count = 2
	free_print_buffer = 0
	multibyte = 1
	original = 11233777
#4  0x00000000005c5d09 in print_error_message (data=12970069, stream=11233777, 
    context=0x7fff8fc8dc70 "", caller=19115729)
    at /usr/local/src/emacs-cvs/emacs/src/print.c:1138
	obj = 20245076
	errname = 11347729
	errmsg = 11351987
	file_error = 11233681
	tail = 12970261
	gcpro1 = {
  next = 0x7fff8fc8dbd0, 
  var = 0x4cf159, 
  nvars = 15933152
}
	i = 1
#5  0x0000000000510b10 in cmd_error_internal (data=12970069, context=0x7fff8fc8dc70 "")
    at /usr/local/src/emacs-cvs/emacs/src/keyboard.c:1348
	sf = (struct frame *) 0xffa370
#6  0x000000000051092c in cmd_error (data=12970069)
    at /usr/local/src/emacs-cvs/emacs/src/keyboard.c:1285
	old_level = 11233681
	old_length = 11233681
	macroerror = "\0005\254\000\000\000\000\000\000\000\000\000\271*\000\000\000\000\000\000\000\000\000\000\310\345S \271*\000\000\221i\253", '\0' <repeats 14 times>, "|"
#7  0x00000000005ac00f in internal_condition_case (bfun=0x510ec4 <command_loop_1>, 
    handlers=11347633, hfun=0x510825 <cmd_error>)
    at /usr/local/src/emacs-cvs/emacs/src/eval.c:1483
	val = 11700725
	c = {
  tag = 11233681, 
  val = 12970069, 
  next = 0x7fff8fc8de80, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {46974510529536, 7737872928792378900, 0, 140735605695632, 0, 0, 
        7737872928710589972, -7737908418971959788}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {110932256, 15571651, 8760720, 0, 140735605695632, 0, 0, 0, 
          46974508370020, 60129542145, 0, 140735605693984, 5811033, 46974586933424, 
          46974510529536, 140735605694352}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
	h = {
  handler = 11347633, 
  var = 11233681, 
  chosen_clause = 11233777, 
  tag = 0x7fff8fc8dd20, 
  next = 0x0
}
#8  0x0000000000510be6 in command_loop_2 ()
    at /usr/local/src/emacs-cvs/emacs/src/keyboard.c:1403
	val = 2
#9  0x00000000005aba3d in internal_catch (tag=11321761, func=0x510bcc <command_loop_2>, 
    arg=11233681) at /usr/local/src/emacs-cvs/emacs/src/eval.c:1229
	c = {
  tag = 11321761, 
  val = 11233681, 
  next = 0x0, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {46974510529536, 7737872928802864660, 0, 140735605695632, 0, 0, 
        7737872928788184596, -7737908418864742892}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {5847821, 3617004260970070016, 11233681, 11582817, 11233681, 0, 
          11596930, 11596930, 11596930, 9177137152, 11596930, 4306200977, 11286000, 
          11596930, 11582817, 140735605694400}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
#10 0x0000000000510ba0 in command_loop ()
    at /usr/local/src/emacs-cvs/emacs/src/keyboard.c:1382
No locals.
#11 0x000000000051036b in recursive_edit_1 ()
    at /usr/local/src/emacs-cvs/emacs/src/keyboard.c:991
	count = 1
	val = 5309735
#12 0x000000000051050e in Frecursive_edit ()
    at /usr/local/src/emacs-cvs/emacs/src/keyboard.c:1053
	count = 0
	buffer = 11233681
#13 0x000000000050eb0d in main (argc=2, argv=0x7fff8fc8e498)
    at /usr/local/src/emacs-cvs/emacs/src/emacs.c:1778
	dummy = 140735605695376
	stack_bottom_variable = 0 '\0'
	do_initial_setlocale = 1
	skip_args = 0
	rlim = {
  rlim_cur = 8720000, 
  rlim_max = 18446744073709551615
}
	no_loadup = 0
	junk = 0x0
(gdb) xbacktrace
(gdb) 


In GNU Emacs 23.0.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.12.0)
 of 2007-10-13 on candyboy
Windowing system distributor `The X.Org Foundation', version 11.0.10300000
configured using `configure  'CFLAGS=-g -O0''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_NZ.UTF-8
  locale-coding-system: utf-8
  default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  auto-compression-mode: t
  line-number-mode: t

Recent input:
M-x r e p o <tab> r <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Making completion list...

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: 23.0.50; Crash in ediff-regions-linewise
  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
       [not found]   ` <874pgu5bxh.fsf@candyboy.here>
  0 siblings, 2 replies; 11+ messages in thread
From: Richard Stallman @ 2007-10-13 19:47 UTC (permalink / raw)
  To: Toby Allsopp; +Cc: emacs-pretest-bug

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 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.

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: 23.0.50; Crash in ediff-regions-linewise
  2007-10-13 19:47 ` Richard Stallman
@ 2007-10-14  8:19   ` Toby Allsopp
  2007-10-14 19:05     ` Stefan Monnier
       [not found]   ` <874pgu5bxh.fsf@candyboy.here>
  1 sibling, 1 reply; 11+ messages in thread
From: Toby Allsopp @ 2007-10-14  8:19 UTC (permalink / raw)
  To: rms; +Cc: emacs-pretest-bug

[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.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: 23.0.50; Crash in ediff-regions-linewise
  2007-10-14  8:19   ` Toby Allsopp
@ 2007-10-14 19:05     ` Stefan Monnier
  2007-10-14 20:01       ` Andreas Schwab
  2007-10-15 20:39       ` Toby Allsopp
  0 siblings, 2 replies; 11+ messages in thread
From: Stefan Monnier @ 2007-10-14 19:05 UTC (permalink / raw)
  To: Toby Allsopp; +Cc: emacs-pretest-bug, rms

>>>>> "Toby" == Toby Allsopp <toby@mi6.gen.nz> writes:

> [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.

Can you try the patch below?
BTW recompiling with -DENABLE_CHECKING should catch these problems earlier
and with a more explicit failure.


        Stefan


--- buffer.c	10 oct 2007 11:29:34 -0400	1.535
+++ buffer.c	14 oct 2007 15:03:35 -0400	
@@ -568,6 +568,7 @@
 
   b = (struct buffer *) allocate_buffer ();
   b->size = sizeof (struct buffer) / sizeof (EMACS_INT);
+  XSETPVECTYPE (b, PVEC_BUFFER);
 
   if (XBUFFER (base_buffer)->base_buffer)
     b->base_buffer = XBUFFER (base_buffer)->base_buffer;

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: 23.0.50; Crash in ediff-regions-linewise
  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
  1 sibling, 1 reply; 11+ messages in thread
From: Andreas Schwab @ 2007-10-14 20:01 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-pretest-bug, Toby Allsopp, rms

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> --- buffer.c	10 oct 2007 11:29:34 -0400	1.535
> +++ buffer.c	14 oct 2007 15:03:35 -0400	
> @@ -568,6 +568,7 @@
>  
>    b = (struct buffer *) allocate_buffer ();
>    b->size = sizeof (struct buffer) / sizeof (EMACS_INT);
> +  XSETPVECTYPE (b, PVEC_BUFFER);

Wouldn't it be better to move the last two lines into allocate_buffer?

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: 23.0.50; Crash in ediff-regions-linewise
       [not found]   ` <874pgu5bxh.fsf@candyboy.here>
@ 2007-10-15  1:37     ` Richard Stallman
  0 siblings, 0 replies; 11+ messages in thread
From: Richard Stallman @ 2007-10-15  1:37 UTC (permalink / raw)
  To: Toby Allsopp; +Cc: emacs-pretest-bug

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

      XSETBUFFER (buf, b);

You have made substantial progress, but this is not the end of the
debugging.

Next step: figure out whether b is invalid, and if so, where it came
from, and why that is invalid, etc...

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: 23.0.50; Crash in ediff-regions-linewise
  2007-10-14 19:05     ` Stefan Monnier
  2007-10-14 20:01       ` Andreas Schwab
@ 2007-10-15 20:39       ` Toby Allsopp
  2007-10-16 15:50         ` Stefan Monnier
  1 sibling, 1 reply; 11+ messages in thread
From: Toby Allsopp @ 2007-10-15 20:39 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-pretest-bug, rms

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>>>>> "Toby" == Toby Allsopp <toby@mi6.gen.nz> writes:
>
>> 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.
>
> Can you try the patch below?

This patch fixes the problem for me (with both ediff-regions-linewise
and clone-indirect-buffer-other-window).  Yay!

> BTW recompiling with -DENABLE_CHECKING should catch these problems earlier
> and with a more explicit failure.

This makes temacs die due to a failed assertion.  See below for
details.  I'm out of time to look into this further at the moment.

Toby.


Starting program: /usr/local/src/emacs-cvs/build/src/temacs -batch -l loadup
[Thread debugging using libthread_db enabled]
[New Thread 0x2b82085ac560 (LWP 32544)]
Loading loadup.el (source)...
Using load-path (/usr/local/src/emacs-cvs/emacs/lisp)
Loading emacs-lisp/byte-run...
Loading emacs-lisp/backquote...
Loading subr...
Loading version.el (source)...
Loading widget...
Loading custom...
Loading emacs-lisp/map-ynp...
Loading cus-start...
Loading international/mule...
Loading international/mule-conf.el (source)...
Loading env...
Loading format...
Loading bindings...
Loading files...
Loading cus-face...
Loading faces...
Loading button...
Loading startup...
Lists of integers (garbage collection statistics) are normal output
while building Emacs; they do not indicate a problem.
((11339 . 8589) (4943 . 0) (586 . 12) 15720 20090 (11 . 7) (18 . 0) (821 . 1938))
Loading loaddefs.el (source)...
((29345 . 10742) (7911 . 0) (595 . 10) 41809 20090 (37 . 33) (18 . 0) (3687 . 1304))
Loading simple...
Loading help...
Loading jka-cmpr-hook...
Loading international/mule-cmds...
Loading case-table...
Loading international/utf-8...
Loading international/utf-16...
Loading international/characters...
Loading international/latin-1.el (source)...
Loading international/latin-2.el (source)...
Loading international/latin-3.el (source)...
Loading international/latin-4.el (source)...
Loading international/latin-5.el (source)...
Loading international/latin-8.el (source)...
Loading international/latin-9.el (source)...
Loading language/chinese...
Loading language/cyrillic...
Loading language/indian...
Loading language/devanagari.el (source)...
Loading language/malayalam.el (source)...
Loading language/tamil.el (source)...
Loading language/kannada.el (source)...
Loading language/english.el (source)...
Loading language/ethiopic...
Loading language/european...
Loading language/czech.el (source)...
Loading language/slovak.el (source)...
Loading language/romanian.el (source)...
Loading language/greek.el (source)...
Loading language/hebrew.el (source)...
Loading language/japanese.el (source)...
Loading language/korean.el (source)...
Loading language/lao.el (source)...
Loading language/thai.el (source)...
Loading language/tibetan...
Loading language/vietnamese...
Loading language/misc-lang.el (source)...
Loading language/utf-8-lang.el (source)...
Loading language/georgian.el (source)...
Loading international/ucs-tables...
Loading indent...
Loading window...
Loading frame...
Loading term/tty-colors...
Loading font-core...
Loading facemenu...
Loading emacs-lisp/syntax...
Loading font-lock...
Loading jit-lock...
Loading mouse...
Loading scroll-bar...
Loading select...
Loading emacs-lisp/timer...
Loading isearch...
Loading rfn-eshadow...
((49538 . 11102) (10858 . 0) (632 . 28) 63071 164121 (67 . 3) (19 . 12) (4954 . 1494))
Loading menu-bar...
Loading paths.el (source)...
Loading emacs-lisp/lisp...
Loading textmodes/page...
Loading register...
Loading textmodes/paragraphs...
Loading emacs-lisp/lisp-mode...
Loading textmodes/text-mode...
Loading textmodes/fill...
((56002 . 4638) (11387 . 0) (634 . 26) 75252 166051 (67 . 3) (19 . 12) (5461 . 1514))
Loading replace...
Loading abbrev...
Loading buff-menu...
Loading fringe...
Loading image...
Loading international/fontset...
Loading dnd...
Loading mwheel...
Loading tool-bar...

Emacs fatal error: /usr/local/src/emacs-cvs/emacs/src/alloc.c:4967: assertion failed: (XVECTOR (obj)->size & (PSEUDOVECTOR_FLAG | PVEC_TYPE_MASK)) == (PSEUDOVECTOR_FLAG | (PVEC_COMPILED))

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x2b82085ac560 (LWP 32544)]
0x00002b82079a9ac7 in kill () from /lib/libc.so.6
(gdb) bt
#0  0x00002b82079a9ac7 in kill () from /lib/libc.so.6
#1  0x0000000000590f75 in abort () at /usr/local/src/emacs-cvs/emacs/src/emacs.c:431
#2  0x000000000064a7d6 in die (msg=0x799d78 "assertion failed: (XVECTOR (obj)->size & (PSEUDOVECTOR_FLAG | PVEC_TYPE_MASK)) == (PSEUDOVECTOR_FLAG | (PVEC_COMPILED))", file=0x799160 "/usr/local/src/emacs-cvs/emacs/src/alloc.c", line=4967) at /usr/local/src/emacs-cvs/emacs/src/alloc.c:6302
#3  0x0000000000646b17 in Fpurecopy (obj=17537668) at /usr/local/src/emacs-cvs/emacs/src/alloc.c:4967
#4  0x00000000006469f0 in Fpurecopy (obj=17448324) at /usr/local/src/emacs-cvs/emacs/src/alloc.c:4965
#5  0x0000000000643a0f in Fmake_byte_code (nargs=4, args=0x10a3f90) at /usr/local/src/emacs-cvs/emacs/src/alloc.c:3172
#6  0x00000000006a6fe1 in read1 (readcharfun=12988177, pch=0x7fffa7c2103c, first_in_list=0) at /usr/local/src/emacs-cvs/emacs/src/lread.c:2270
#7  0x00000000006a9132 in read_list (flag=-1, readcharfun=12988177) at /usr/local/src/emacs-cvs/emacs/src/lread.c:3166
#8  0x00000000006a4c76 in readevalloop (readcharfun=12988177, stream=0x1043960, sourcename=17016467, evalfun=0x671a52 <Feval>, printflag=0, unibyte=12847505, readfun=12847505, start=12847505, end=12847505) at /usr/local/src/emacs-cvs/emacs/src/lread.c:1529
#9  0x00000000006a2c6b in Fload (file=13905283, noerror=12847505, nomessage=12847505, nosuffix=12847505, must_suffix=12847505) at /usr/local/src/emacs-cvs/emacs/src/lread.c:1029
#10 0x0000000000672791 in Feval (form=15964597) at /usr/local/src/emacs-cvs/emacs/src/eval.c:2376
#11 0x000000000066d844 in Fprogn (args=15964645) at /usr/local/src/emacs-cvs/emacs/src/eval.c:450
#12 0x0000000000672053 in Feval (form=15964037) at /usr/local/src/emacs-cvs/emacs/src/eval.c:2309
#13 0x000000000066d6a3 in Fif (args=15963685) at /usr/local/src/emacs-cvs/emacs/src/eval.c:398
#14 0x0000000000672053 in Feval (form=15941957) at /usr/local/src/emacs-cvs/emacs/src/eval.c:2309
#15 0x00000000006a4e84 in readevalloop (readcharfun=12988177, stream=0xcabea0, sourcename=13276531, evalfun=0x671a52 <Feval>, printflag=0, unibyte=12847505, readfun=12847505, start=12847505, end=12847505) at /usr/local/src/emacs-cvs/emacs/src/lread.c:1562
#16 0x00000000006a2c6b in Fload (file=13276275, noerror=12847505, nomessage=12847505, nosuffix=12847505, must_suffix=12847505) at /usr/local/src/emacs-cvs/emacs/src/lread.c:1029
#17 0x0000000000672791 in Feval (form=13153013) at /usr/local/src/emacs-cvs/emacs/src/eval.c:2376
#18 0x0000000000595bbe in top_level_2 () at /usr/local/src/emacs-cvs/emacs/src/keyboard.c:1405
#19 0x000000000066fd86 in internal_condition_case (bfun=0x595bae <top_level_2>, handlers=12961697, hfun=0x59566a <cmd_error>) at /usr/local/src/emacs-cvs/emacs/src/eval.c:1493
#20 0x0000000000595bed in top_level_1 () at /usr/local/src/emacs-cvs/emacs/src/keyboard.c:1413
#21 0x000000000066f685 in internal_catch (tag=12935537, func=0x595bc0 <top_level_1>, arg=12847505) at /usr/local/src/emacs-cvs/emacs/src/eval.c:1229
#22 0x0000000000595b38 in command_loop () at /usr/local/src/emacs-cvs/emacs/src/keyboard.c:1368
#23 0x0000000000594c48 in recursive_edit_1 () at /usr/local/src/emacs-cvs/emacs/src/keyboard.c:984
#24 0x00000000005951e4 in Frecursive_edit () at /usr/local/src/emacs-cvs/emacs/src/keyboard.c:1046
#25 0x0000000000592dfe in main (argc=4, argv=0x7fffa7c226f8) at /usr/local/src/emacs-cvs/emacs/src/emacs.c:1778

Lisp Backtrace:
"load" (0xa7c21520)
"progn" (0xa7c21798)
"if" (0xa7c21948)
"load" (0xa7c21df0)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: 23.0.50; Crash in ediff-regions-linewise
  2007-10-14 20:01       ` Andreas Schwab
@ 2007-10-16 15:43         ` Stefan Monnier
  0 siblings, 0 replies; 11+ messages in thread
From: Stefan Monnier @ 2007-10-16 15:43 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: emacs-pretest-bug, Toby Allsopp, rms

>> --- buffer.c	10 oct 2007 11:29:34 -0400	1.535
>> +++ buffer.c	14 oct 2007 15:03:35 -0400	
>> @@ -568,6 +568,7 @@
>> 
>> b = (struct buffer *) allocate_buffer ();
b-> size = sizeof (struct buffer) / sizeof (EMACS_INT);
>> +  XSETPVECTYPE (b, PVEC_BUFFER);

> Wouldn't it be better to move the last two lines into allocate_buffer?

Done,


        Stefan

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: 23.0.50; Crash in ediff-regions-linewise
  2007-10-15 20:39       ` Toby Allsopp
@ 2007-10-16 15:50         ` Stefan Monnier
  2007-10-17  5:42           ` Toby Allsopp
  0 siblings, 1 reply; 11+ messages in thread
From: Stefan Monnier @ 2007-10-16 15:50 UTC (permalink / raw)
  To: Toby Allsopp; +Cc: emacs-pretest-bug, rms

>> BTW recompiling with -DENABLE_CHECKING should catch these problems earlier
>> and with a more explicit failure.

> This makes temacs die due to a failed assertion.  See below for
> details.  I'm out of time to look into this further at the moment.

Hmm..... not sure why I didn't bump into this, but the patch below might
fix it.


        Stefan


Index: alloc.c
===================================================================
RCS file: /sources/emacs/emacs/src/alloc.c,v
retrieving revision 1.427
diff -u -u -b -r1.427 alloc.c
--- alloc.c	16 Oct 2007 15:42:58 -0000	1.427
+++ alloc.c	16 Oct 2007 15:48:10 -0000
@@ -4966,7 +4966,10 @@
       for (i = 0; i < size; i++)
 	vec->contents[i] = Fpurecopy (XVECTOR (obj)->contents[i]);
       if (COMPILEDP (obj))
+	{
+	  XSETPVECTYPE (vec, PVEC_COMPILED);
 	XSETCOMPILED (obj, vec);
+	}
       else
 	XSETVECTOR (obj, vec);
       return obj;


Diffs between working revision and workfile end here.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: 23.0.50; Crash in ediff-regions-linewise
  2007-10-16 15:50         ` Stefan Monnier
@ 2007-10-17  5:42           ` Toby Allsopp
  2007-10-17 14:03             ` Stefan Monnier
  0 siblings, 1 reply; 11+ messages in thread
From: Toby Allsopp @ 2007-10-17  5:42 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-pretest-bug, rms

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>> BTW recompiling with -DENABLE_CHECKING should catch these problems earlier
>>> and with a more explicit failure.
>
>> This makes temacs die due to a failed assertion.  See below for
>> details.  I'm out of time to look into this further at the moment.
>
> Hmm..... not sure why I didn't bump into this, but the patch below might
> fix it.

I can confirm that it is fixed in CVS (which includes Stefan's patch).

Thanks,
Toby.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: 23.0.50; Crash in ediff-regions-linewise
  2007-10-17  5:42           ` Toby Allsopp
@ 2007-10-17 14:03             ` Stefan Monnier
  0 siblings, 0 replies; 11+ messages in thread
From: Stefan Monnier @ 2007-10-17 14:03 UTC (permalink / raw)
  To: Toby Allsopp; +Cc: emacs-pretest-bug, rms

>>>> BTW recompiling with -DENABLE_CHECKING should catch these problems earlier
>>>> and with a more explicit failure.
>> 
>>> This makes temacs die due to a failed assertion.  See below for
>>> details.  I'm out of time to look into this further at the moment.
>> 
>> Hmm..... not sure why I didn't bump into this, but the patch below might
>> fix it.

> I can confirm that it is fixed in CVS (which includes Stefan's patch).

Great, thank you,


        Stefan "always running with -DENABLE_CHECKING"

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2007-10-17 14:03 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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

Code repositories for project(s) associated with this public inbox

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

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).