From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Emacs crashes Date: Wed, 15 Mar 2006 21:49:41 +0200 Message-ID: References: <17429.54459.803236.351040@kahikatea.snap.net.nz> <17431.11106.207260.301400@kahikatea.snap.net.nz> <17431.50979.793825.145291@kahikatea.snap.net.nz> Reply-To: Eli Zaretskii NNTP-Posting-Host: main.gmane.org X-Trace: sea.gmane.org 1142452342 14542 80.91.229.2 (15 Mar 2006 19:52:22 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 15 Mar 2006 19:52:22 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Mar 15 20:52:21 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FJc2e-0000s2-5v for ged-emacs-devel@m.gmane.org; Wed, 15 Mar 2006 20:52:20 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FJc2d-0006DJ-Pw for ged-emacs-devel@m.gmane.org; Wed, 15 Mar 2006 14:52:19 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FJc2Q-00069E-1D for emacs-devel@gnu.org; Wed, 15 Mar 2006 14:52:06 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FJc2N-00065S-Ub for emacs-devel@gnu.org; Wed, 15 Mar 2006 14:52:05 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FJc2N-00065A-KY for emacs-devel@gnu.org; Wed, 15 Mar 2006 14:52:03 -0500 Original-Received: from [192.114.186.17] (helo=gandalf.inter.net.il) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FJc6r-0001iK-PK for emacs-devel@gnu.org; Wed, 15 Mar 2006 14:56:42 -0500 Original-Received: from nitzan.inter.net.il (nitzan.inter.net.il [192.114.186.20]) by gandalf.inter.net.il (MOS 3.7.1-GA) with ESMTP id IDW10793; Wed, 15 Mar 2006 21:49:40 +0200 (IST) Original-Received: from HOME-C4E4A596F7 (IGLD-80-230-28-233.inter.net.il [80.230.28.233]) by nitzan.inter.net.il (MOS 3.7.3-GA) with ESMTP id CXB48617 (AUTH halo1); Wed, 15 Mar 2006 21:49:34 +0200 (IST) Original-To: Nick Roberts In-reply-to: <17431.50979.793825.145291@kahikatea.snap.net.nz> (message from Nick Roberts on Wed, 15 Mar 2006 20:49:55 +1300) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:51672 Archived-At: > From: Nick Roberts > Date: Wed, 15 Mar 2006 20:49:55 +1300 > Cc: emacs-devel@gnu.org > > (gdb) p* (struct Lisp_String *) 0xa0024e8 > $15 = { > size = 4, > size_byte = -1, > intervals = 0x10, > data = 0xa66c79c "\301\b!\207" > } > > which is what the variable ptr points to and it crashes out on the line: > > MARK_INTERVAL_TREE (ptr->intervals); I think ptr->intervals is the reason for the crash, because MARK_INTERVAL_TREE dereferences it, and 0x10 is too small to be a valid address. > Here are some values below but I can't see a connection between them. A simple list of values recorded in last_marked[] won't do. You need to correlate it with the innermost frames you see in the backtrace, and from that correlation figure out the name of the Lisp data structure that is being marked. The connection between the values recorded in last_marked[] will be revealed if you look at the code, because, e.g., when GC finds a cons, it recursively marks its car and its cdr. By looking at the code, you should be able to find this and other similar connections between the values, like A being a property of B etc. > I guess I should try to work out what created (struct Lisp_String *) > 0xa0024e8. Not who created it, but what higher-level Lisp data is it part of. Btw, looking at the value of that string, namely > (gdb) p* (struct Lisp_String *) 0xa0024e8 > $15 = { > size = 4, > size_byte = -1, > intervals = 0x10, > data = 0xa66c79c "\301\b!\207" > } It sounds like its data is some bytecode.