emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: crash in GC


From: Richard Stallman
Subject: Re: crash in GC
Date: Thu, 19 Dec 2002 13:33:57 -0500

The first step of debugging this is to track the path
that mem_find would have taken thru the mem_root data structure
and see if you can find anything invalid in that data structure.

I suspect you will find that a `right' or `left' pointer is NULL.
That shouldn't ever happen; in a leaf, these pointers should be
MEM_NIL which is not NULL.  At least, that's what I concluded
from reading the code.

I will install this change to document the data structure more
clearly.

*** alloc.c.~1.282.~    Thu Nov 14 21:41:01 2002
--- alloc.c     Thu Dec 19 11:48:25 2002
***************
*** 341,347 ****
  
  struct mem_node
  {
!   struct mem_node *left, *right, *parent;
  
    /* Start and end of allocated region.  */
    void *start, *end;
--- 341,352 ----
  
  struct mem_node
  {
!   /* Children of this node.  These pointers are never NULL.  When there
!      is no child, the value is MEM_NIL, which points to a dummy node.  */
!   struct mem_node *left, *right;
! 
!   /* The parent of this node.  In the root node, this is NULL.  */
!   struct mem_node *parent;
  
    /* Start and end of allocated region.  */
    void *start, *end;



reply via email to

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