[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Ediff frequently crashes emacs.
From: |
Peter Seibel |
Subject: |
Re: Ediff frequently crashes emacs. |
Date: |
Sun, 03 Apr 2005 17:37:06 -0700 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
address@hidden (Kim F. Storm) writes:
> Peter Seibel <address@hidden> writes:
>
>> Okay, here you go:
>
>> (gdb) xbacktrace
>> "internal-lisp-face-p"
>> "facep"
>> "check-face"
>> "face-name"
>> "ediff-set-fine-diff-properties-in-one-buffer"
>
> Now we are getting closer!!!
>
> Unfortunately, not quite close enough, as I don't see any of the
> involved functions modifying anything related. So I have just
> installed patches to alloc.c and eval.c to check the cons list even
> more rigidly.
>
> Can you please update from CVS and rerun the test.
> Include bt and xbacktrace in the report.
I haven't had a chance to do this yet. (And probably won't for a
while--I don't have "a test" that I run. I just use it and every so
often it crashes. However with GC_CHECK_CONS_LIST enabled, Emacs runs
so slowly that it's really getting in the way of my getting my actual
work done. I.e. I get more done, in the short run anyway, saving often
and living with the occasional crashes.)
Anyway, here's another flavor of crash that I've seen a couple times
and which just happened again in an Emacs I built this morning with
#if 1 but without GC_CHECK_CONS_LIST:
address@hidden src]$ gdb emacs
GNU gdb Red Hat Linux (5.1.90CVS-5)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
DISPLAY = :0
TERM = xterm
Breakpoint 1 at 0x80d50da: file emacs.c, line 457.
Breakpoint 2 at 0x80b920c: file xterm.c, line 7778.
(gdb) run
Starting program: /usr2/cvs/emacs/src/emacs -geometry 80x40+0+0
Program received signal SIGSEGV, Segmentation fault.
string_bytes (s=0xefbeadde) at alloc.c:1747
1747 int nbytes = (s->size_byte < 0 ? s->size & ~ARRAY_MARK_FLAG :
s->size_byte);
(gdb) bt
#0 string_bytes (s=0xefbeadde) at alloc.c:1747
#1 0x0811a293 in check_sblock (b=0x8fe8f20) at alloc.c:1774
#2 0x0811a43a in allocate_string () at alloc.c:1895
#3 0x0811ad4d in make_uninit_multibyte_string (nchars=11, nbytes=11)
at alloc.c:2452
#4 0x0811ad20 in make_uninit_string (length=11) at alloc.c:2433
#5 0x08134117 in concat (nargs=2, args=0xbfffeae0, target_type=Lisp_String,
last_special=0) at fns.c:660
#6 0x08133b65 in Fconcat (nargs=2, args=0xbfffeae0) at fns.c:444
#7 0x08154a19 in Fbyte_code (bytestr=140339179, vector=141351196, maxdepth=5)
at bytecode.c:1057
#8 0x0812feaf in funcall_lambda (fun=141351476, nargs=0,
arg_vector=0xbfffec14) at eval.c:2974
#9 0x0812fa85 in Ffuncall (nargs=1, args=0xbfffec10) at eval.c:2843
#10 0x08154208 in Fbyte_code (bytestr=140339147, vector=141350788, maxdepth=5)
at bytecode.c:686
#11 0x0812feaf in funcall_lambda (fun=141351068, nargs=0,
arg_vector=0xbfffed24) at eval.c:2974
#12 0x0812fa85 in Ffuncall (nargs=1, args=0xbfffed20) at eval.c:2843
#13 0x08154208 in Fbyte_code (bytestr=140338507, vector=141350124, maxdepth=7)
at bytecode.c:686
#14 0x0812feaf in funcall_lambda (fun=141350660, nargs=0,
arg_vector=0xbfffee44) at eval.c:2974
#15 0x0812fa85 in Ffuncall (nargs=1, args=0xbfffee40) at eval.c:2843
#16 0x08154208 in Fbyte_code (bytestr=141567811, vector=141569308, maxdepth=5)
at bytecode.c:686
#17 0x0812feaf in funcall_lambda (fun=141569772, nargs=0,
arg_vector=0xbfffef64) at eval.c:2974
#18 0x0812fa85 in Ffuncall (nargs=1, args=0xbfffef60) at eval.c:2843
#19 0x08154208 in Fbyte_code (bytestr=141593675, vector=141600340, maxdepth=5)
at bytecode.c:686
#20 0x0812feaf in funcall_lambda (fun=141600700, nargs=2,
arg_vector=0xbffff084) at eval.c:2974
#21 0x0812fa85 in Ffuncall (nargs=3, args=0xbffff080) at eval.c:2843
#22 0x08154208 in Fbyte_code (bytestr=141593755, vector=141600836, maxdepth=3)
at bytecode.c:686
#23 0x0812feaf in funcall_lambda (fun=141601092, nargs=1,
arg_vector=0xbffff1c4) at eval.c:2974
#24 0x0812fa85 in Ffuncall (nargs=2, args=0xbffff1c0) at eval.c:2843
#25 0x0812c5a1 in Fcall_interactively (function=141550185,
record_flag=137240609, keys=137299580) at callint.c:884
#26 0x080e1d39 in Fcommand_execute (cmd=141550185, record_flag=137240609,
keys=137240609, special=137240609) at keyboard.c:9706
#27 0x080d87bd in command_loop_1 () at keyboard.c:1796
#28 0x0812dfd2 in internal_condition_case (bfun=0x80d7a58 <command_loop_1>,
handlers=137304041, hfun=0x80d75fc <cmd_error>) at eval.c:1385
arg_vector=0xbffff084) at eval.c:2974
#21 0x0812fa85 in Ffuncall (nargs=3, args=0xbffff080) at eval.c:2843
#22 0x08154208 in Fbyte_code (bytestr=141593755, vector=141600836, maxdepth=3)
at bytecode.c:686
#23 0x0812feaf in funcall_lambda (fun=141601092, nargs=1,
arg_vector=0xbffff1c4) at eval.c:2974
#24 0x0812fa85 in Ffuncall (nargs=2, args=0xbffff1c0) at eval.c:2843
#25 0x0812c5a1 in Fcall_interactively (function=141550185,
record_flag=137240609, keys=137299580) at callint.c:884
#26 0x080e1d39 in Fcommand_execute (cmd=141550185, record_flag=137240609,
keys=137240609, special=137240609) at keyboard.c:9706
#27 0x080d87bd in command_loop_1 () at keyboard.c:1796
#28 0x0812dfd2 in internal_condition_case (bfun=0x80d7a58 <command_loop_1>,
handlers=137304041, hfun=0x80d75fc <cmd_error>) at eval.c:1385
---Type <return> to continue, or q <return> to quit---
#29 0x080d78e2 in command_loop_2 () at keyboard.c:1323
#30 0x0812db3f in internal_catch (tag=137297257,
func=0x80d78c4 <command_loop_2>, arg=137240609) at eval.c:1144
#31 0x080d7871 in command_loop () at keyboard.c:1302
#32 0x080d73bb in recursive_edit_1 () at keyboard.c:995
#33 0x080d74e3 in Frecursive_edit () at keyboard.c:1056
#34 0x080d637b in main (argc=3, argv=0xbffff984) at emacs.c:1767
#35 0x42017499 in __libc_start_main () from /lib/i686/libc.so.6
(gdb) xbacktrace
"ediff-make-narrow-control-buffer-id"
"ediff-refresh-control-frame"
"ediff-refresh-mode-lines"
"ediff-recenter"
"ediff-diff-to-diff"
"ediff-copy-A-to-B"
"call-interactively"
(gdb)
> Have you made any local customizations of ediff faces or anything
> similar? Please include a copy.
Not that I'm aware of.
>
>
> It might be byte-compiler related, but it is hard to say.
>
> What does
> ls -l lisp/edif* lisp/fac*
> print?
-rw-r--r-- 1 peter peter 50190 Feb 21 14:53 lisp/ediff-diff.el
-rw-rw-r-- 1 peter peter 33458 Apr 3 14:11 lisp/ediff-diff.elc
-rw-r--r-- 1 peter peter 54617 Feb 21 14:53 lisp/ediff.el
-rw-rw-r-- 1 peter peter 37887 Apr 3 14:11 lisp/ediff.elc
-rw-rw-r-- 1 peter peter 13416 Sep 1 2003 lisp/ediff-help.el
-rw-rw-r-- 1 peter peter 11791 Apr 3 14:11 lisp/ediff-help.elc
-rw-r--r-- 1 peter peter 14457 Apr 1 15:11 lisp/ediff-hook.el
-rw-rw-r-- 1 peter peter 9026 Apr 3 14:11 lisp/ediff-hook.elc
-rw-r--r-- 1 peter peter 72452 Feb 21 14:53 lisp/ediff-init.el
-rw-rw-r-- 1 peter peter 67839 Apr 3 14:11 lisp/ediff-init.elc
-rw-rw-r-- 1 peter peter 14498 Sep 1 2003 lisp/ediff-merg.el
-rw-rw-r-- 1 peter peter 15810 Apr 3 14:11 lisp/ediff-merg.elc
-rw-r--r-- 1 peter peter 89393 Feb 21 14:53 lisp/ediff-mult.el
-rw-rw-r-- 1 peter peter 58781 Apr 3 14:11 lisp/ediff-mult.elc
-rw-rw-r-- 1 peter peter 29234 Jan 3 2004 lisp/ediff-ptch.el
-rw-rw-r-- 1 peter peter 18492 Apr 3 14:11 lisp/ediff-ptch.elc
-rw-rw-r-- 1 peter peter 153878 Feb 19 2004 lisp/ediff-util.el
-rw-rw-r-- 1 peter peter 122075 Apr 3 14:11 lisp/ediff-util.elc
-rw-rw-r-- 1 peter peter 11003 Sep 1 2003 lisp/ediff-vers.el
-rw-rw-r-- 1 peter peter 5957 Apr 3 14:11 lisp/ediff-vers.elc
-rw-rw-r-- 1 peter peter 46599 Sep 1 2003 lisp/ediff-wind.el
-rw-rw-r-- 1 peter peter 30666 Apr 3 14:11 lisp/ediff-wind.elc
-rw-r--r-- 1 root root 29694 Mar 8 21:27 lisp/facemenu.el
-rw-rw-r-- 1 peter peter 22500 Apr 3 14:12 lisp/facemenu.elc
-rw-r--r-- 1 root root 85123 Mar 8 21:27 lisp/faces.el
-rw-rw-r-- 1 peter peter 70201 Apr 3 14:12 lisp/faces.elc
> What happens if you don't use byte-compiled ediff?
> Try adding this to your .emacs and rerun the test:
>
> (load "ediff-init.el")
> (load "ediff-diff.el")
Haven't tried this yet. I'll do that now.
-Peter
--
Peter Seibel address@hidden
Lisp is the red pill. -- John Fraser, comp.lang.lisp
- Re: Ediff frequently crashes emacs., Peter Seibel, 2005/04/03
- Re: Ediff frequently crashes emacs., Kim F. Storm, 2005/04/04
- Re: Ediff frequently crashes emacs., Peter Seibel, 2005/04/04
- Re: Ediff frequently crashes emacs., Kim F. Storm, 2005/04/04
- Re: Ediff frequently crashes emacs., Peter Seibel, 2005/04/04
- Re: Ediff frequently crashes emacs., Kim F. Storm, 2005/04/05
- Re: Ediff frequently crashes emacs., Peter Seibel, 2005/04/05
- Re: Ediff frequently crashes emacs., Kim F. Storm, 2005/04/05
- Re: Ediff frequently crashes emacs., Peter Seibel, 2005/04/04
Re: Ediff frequently crashes emacs.,
Peter Seibel <=
Re: Ediff frequently crashes emacs., Peter Seibel, 2005/04/04
Re: Ediff frequently crashes emacs., Peter Seibel, 2005/04/04