From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17981 invoked by alias); 3 Nov 2003 21:04:56 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 17936 invoked from network); 3 Nov 2003 21:04:55 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 3 Nov 2003 21:04:55 -0000 Received: from drow by nevyn.them.org with local (Exim 4.24 #1 (Debian)) id 1AGlsc-0004Xd-0L; Mon, 03 Nov 2003 16:04:54 -0500 Date: Mon, 03 Nov 2003 21:04:00 -0000 From: Daniel Jacobowitz To: Jim Blandy Cc: gdb@sources.redhat.com Subject: Re: Macro code crasher on re-run Message-ID: <20031103210453.GA17444@nevyn.them.org> Mail-Followup-To: Jim Blandy , gdb@sources.redhat.com References: <20031103040751.GA30979@nevyn.them.org> <20031103045601.GA32557@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.1i X-SW-Source: 2003-11/txt/msg00015.txt.bz2 On Mon, Nov 03, 2003 at 03:59:41PM -0500, Jim Blandy wrote: > > Daniel Jacobowitz writes: > > > I don't follow. All default_macro_scope's callers check for null > > > return; it's documented to return zero at times. So you must be > > > talking about that code in sal_macro_scope itself. Line 39 refers to > > > sal.symtab, initialized by line 115, so you must be talking about line > > > 40. But sal.symtab must be non-zero, or else we wouldn't reach the > > > right operand of the ||. > > > > > > Or should I sleep and try again? > > > > > > > Right. sal.symtab is nonzero. sal.symtab->macro_table, however, is > > uninitialized. The short-circuit if on line 40 does not trigger, but > > the remainder of sal_macro_scope assumes that sal.symtab->macro_table > > is valid. > > > > In my case it happens to be 0xB. > > Every symtab's macro_table field should be initialized, at least to > zero. Which symtab is it? Who creates it? If you thought I wasn't making sense, you were right. I really needed some sleep when I wrote that. My best guess is that the returned symtab belongs to the old (already unloaded) binary. Which would put the bug somewhere else. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer