unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Richard Stallman <rms@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: crash in GC
Date: Thu, 19 Dec 2002 13:33:57 -0500	[thread overview]
Message-ID: <E18P5Ua-00030F-00@fencepost.gnu.org> (raw)
In-Reply-To: <m3fzszhwac.fsf@loiso.podval.org> (message from Sam Steingold on 15 Dec 2002 15:17:15 -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	other threads:[~2002-12-19 18:33 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-15 20:17 crash in GC Sam Steingold
2002-12-19 18:33 ` Richard Stallman [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-05-22 19:06 Sam Steingold
2002-05-24  0:44 ` Richard Stallman
2002-05-24 14:19   ` Sam Steingold
2002-05-24 18:07     ` Eli Zaretskii
2002-05-24 20:50       ` Sam Steingold
2002-05-25  1:04         ` Ken Raeburn
2002-05-25  8:26         ` Eli Zaretskii
2002-05-25 21:20         ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E18P5Ua-00030F-00@fencepost.gnu.org \
    --to=rms@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).