From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19717 invoked by alias); 6 Oct 2006 01:20:24 -0000 Received: (qmail 19707 invoked by uid 22791); 6 Oct 2006 01:20:23 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Fri, 06 Oct 2006 01:20:21 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1GVeNu-0005Bp-Bt; Thu, 05 Oct 2006 21:20:18 -0400 Date: Fri, 06 Oct 2006 01:20:00 -0000 From: Daniel Jacobowitz To: Joel Brobecker Cc: gdb-patches@sources.redhat.com Subject: Re: [RFA] Fix frame-issue with watchpoints... Message-ID: <20061006012018.GA19918@nevyn.them.org> Mail-Followup-To: Joel Brobecker , gdb-patches@sources.redhat.com References: <20061006005009.GA986@adacore.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20061006005009.GA986@adacore.com> User-Agent: Mutt/1.5.13 (2006-08-11) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-10/txt/msg00046.txt.bz2 On Thu, Oct 05, 2006 at 05:50:09PM -0700, Joel Brobecker wrote: > The issue in our case is that "current_frame" is NULL too, probably > because we never needed it before in our case (just finished off > single-stepping out of the breakpoint and immediately getting ready > to resume) and therefore never set it to a proper value. This is 100% bogus. If we leave this code at all, we should absolutely do this: > One way to bandaid this, probably along the lines that Andrew was > trying to do (try to recover from a situation that should not happen), > is to replace "current_frame" by get_current_frame(). Or just kill it. As far as I can see though, this: > However, I'm thinking that the real culprit is block_innermost_frame > which called this function with a NULL frame, which it's not supposed > to do. So I rewrote the loop to start from the outermost frame instead > of a NULL frame, and then work its way up the frame stack... is also right. Except that you really scared me here: you are actually starting from the _innermost_ frame, not the _outermost_. > 2006-10-05 Joel Brobecker > > * blockframe.c (block_innermost_frame): Rewrite frame search logic. > > Tested on x86-linux, no regression. A new testcase to be submitted soon. > OK to apply? OK. -- Daniel Jacobowitz CodeSourcery