[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: seg fault in compact_small_strings()
From: |
Stephen Eglen |
Subject: |
Re: seg fault in compact_small_strings() |
Date: |
Thu, 11 Nov 2004 11:31:04 +0000 |
To follow up Kim's earlier message, I now finally got this backtrace
after applying the patch that Kim sent to me a couple of weeks ago.
Stephen
In GNU Emacs 21.3.50.11 (i686-pc-linux-gnu, GTK+ Version 2.0.6)
of 2004-10-29 on notch.amtp.cam.ac.uk
configured using `configure
'--prefix=/home/raid/bio/sje30/NOBACKUP/local' '--with-gtk''
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: C
locale-coding-system: nil
default-enable-multibyte-characters: t
1894 nbytes = GC_STRING_BYTES (from->string);
(gdb)
(gdb)
(gdb)
(gdb) xbacktrace
"file-truename"
"file-truename"
"file-truename"
"file-truename"
"vm-get-file-buffer"
"vm-get-spooled-mail-normal"
"vm-get-spooled-mail"
"byte-code"
"vm"
"vm-visit-folder"
"if"
"if"
"let"
"mspools-visit-spool"
"call-interactively"
(gdb)
#0 compact_small_strings () at alloc.c:1894
#1 0x081319ea in sweep_strings () at alloc.c:1824
#2 0x081344db in gc_sweep () at alloc.c:5248
#3 0x0813378b in Fgarbage_collect () at alloc.c:4575
#4 0x08148068 in Ffuncall (nargs=2, args=0xbfffcda0) at eval.c:2697
#5 0x0816f200 in Fbyte_code (bytestr=137429897, vector=1,
maxdepth=-1073754720) at bytecode.c:686
#6 0x0814826e in funcall_lambda (fun=136158860, nargs=3,
arg_vector=0xbfffcecc) at eval.c:2944
#7 0x08147e77 in Ffuncall (nargs=4, args=0xbfffcec8) at eval.c:2814
#8 0x0816f200 in Fbyte_code (bytestr=137715513, vector=3,
maxdepth=-1073754424) at bytecode.c:686
#9 0x0814826e in funcall_lambda (fun=136158860, nargs=3,
arg_vector=0xbfffcfec) at eval.c:2944
#10 0x08147e77 in Ffuncall (nargs=4, args=0xbfffcfe8) at eval.c:2814
#11 0x0816f200 in Fbyte_code (bytestr=137715513, vector=3,
maxdepth=-1073754136) at bytecode.c:686
#12 0x0814826e in funcall_lambda (fun=136158860, nargs=3,
arg_vector=0xbfffd10c) at eval.c:2944
#13 0x08147e77 in Ffuncall (nargs=4, args=0xbfffd108) at eval.c:2814
#14 0x0816f200 in Fbyte_code (bytestr=137715513, vector=3,
maxdepth=-1073753848) at bytecode.c:686
Kim F. Storm writes:
> Stephen Eglen <address@hidden> writes:
>
> > I'm using a recent version of CVS emacs (Oct 26) and notice it has
> > been seg faulting maybe once/day;
>
> Can you try to apply the following patch and see if it catches
> an error sooner (your emacs will run marginally slower, but nothing
> serious).
>
> *** alloc.c 19 Sep 2004 00:22:22 +0200 1.350
> --- alloc.c 14 Oct 2004 23:58:12 +0200
> ***************
> *** 1548,1553 ****
> --- 1548,1571 ----
>
> #endif /* GC_CHECK_STRING_BYTES */
>
> + #if 1
> + static void
> + check_string_free_list ()
> + {
> + struct Lisp_String *s;
> +
> + /* Pop a Lisp_String off the free-list. */
> + s = string_free_list;
> + while (s != NULL)
> + {
> + if ((unsigned)s < 1024)
> + abort();
> + s = NEXT_FREE_LISP_STRING (s);
> + }
> + }
> + #else
> + #define check_string_free_list()
> + #endif
>
> /* Return a new Lisp_String. */
>
> ***************
> *** 1579,1584 ****
> --- 1597,1604 ----
> total_free_strings += STRING_BLOCK_SIZE;
> }
>
> + check_string_free_list();
> +
> /* Pop a Lisp_String off the free-list. */
> s = string_free_list;
> string_free_list = NEXT_FREE_LISP_STRING (s);
> ***************
> *** 1797,1805 ****
> --- 1817,1829 ----
> }
> }
>
> + check_string_free_list();
> +
> string_blocks = live_blocks;
> free_large_strings ();
> compact_small_strings ();
> +
> + check_string_free_list();
> }
>
>
>
> --
> Kim F. Storm http://www.cua.dk
>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: seg fault in compact_small_strings(),
Stephen Eglen <=