From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: crash in GC Date: Thu, 19 Dec 2002 13:33:57 -0500 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: References: Reply-To: rms@gnu.org NNTP-Posting-Host: main.gmane.org X-Trace: main.gmane.org 1040323690 12450 80.91.224.249 (19 Dec 2002 18:48:10 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 19 Dec 2002 18:48:10 +0000 (UTC) Cc: emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18P5iK-0003Ef-00 for ; Thu, 19 Dec 2002 19:48:08 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 18P5jZ-0002Td-00 for ; Thu, 19 Dec 2002 19:49:26 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18P5dS-00057S-0C for emacs-devel@quimby.gnus.org; Thu, 19 Dec 2002 13:43:06 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18P5bY-0004SI-00 for emacs-devel@gnu.org; Thu, 19 Dec 2002 13:41:08 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18P5aN-0004Ad-00 for emacs-devel@gnu.org; Thu, 19 Dec 2002 13:39:57 -0500 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18P5Ub-0002Lz-00 for emacs-devel@gnu.org; Thu, 19 Dec 2002 13:33:57 -0500 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.10) id 18P5Ua-00030F-00; Thu, 19 Dec 2002 13:33:57 -0500 Original-To: sds@gnu.org In-reply-to: (message from Sam Steingold on 15 Dec 2002 15:17:15 -0500) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Emacs development discussions. List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:10289 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:10289 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;