From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15930 invoked by alias); 23 Feb 2009 01:22:05 -0000 Received: (qmail 15921 invoked by uid 22791); 23 Feb 2009 01:22:05 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from NaN.false.org (HELO nan.false.org) (208.75.86.248) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 23 Feb 2009 01:22:00 +0000 Received: from nan.false.org (localhost [127.0.0.1]) by nan.false.org (Postfix) with ESMTP id EC8B610A30; Mon, 23 Feb 2009 01:21:57 +0000 (GMT) Received: from caradoc.them.org (209.195.188.212.nauticom.net [209.195.188.212]) by nan.false.org (Postfix) with ESMTP id 7C6251007D; Mon, 23 Feb 2009 01:21:57 +0000 (GMT) Received: from drow by caradoc.them.org with local (Exim 4.69) (envelope-from ) id 1LbPW8-0001pE-Hy; Sun, 22 Feb 2009 20:21:56 -0500 Date: Mon, 23 Feb 2009 02:08:00 -0000 From: Daniel Jacobowitz To: Pedro Alves Cc: gdb-patches@sourceware.org, Joel Brobecker , Nick Roberts Subject: Re: [PATCH] PR backtrace/9786 Message-ID: <20090223012156.GA7000@caradoc.them.org> Mail-Followup-To: Pedro Alves , gdb-patches@sourceware.org, Joel Brobecker , Nick Roberts References: <18849.13514.379735.375860@kahikatea.snap.net.nz> <20090223001651.GA26056@adacore.com> <200902230048.52805.pedro@codesourcery.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200902230048.52805.pedro@codesourcery.com> User-Agent: Mutt/1.5.17 (2008-05-11) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-02/txt/msg00426.txt.bz2 On Mon, Feb 23, 2009 at 12:48:52AM +0000, Pedro Alves wrote: > This internal error sounds suspiciously related to the fact that > there's no current way to distinguish a null/invalid frame id, > from an outermost frame id... We should really fix that sometime. I'd been holding off on this because there were all sorts of less-hacky ways to do it, but maybe it's time for the hack: replace the one null value with two magic null values. Use a different one to represent the outermost frame than to represent no frame. This will still have some problems (all "outermost frames" will be treated as equal) and require an audit of calls to frame_id_p (the outermost frame should satisfy frame_id_p, that's the whole point, so a different test will be needed to stop the backtrace). But it should be a lot easier than an overhaul. -- Daniel Jacobowitz CodeSourcery