emacs-pretest-bug
[Top][All Lists]
Advanced

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]