From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10861 invoked by alias); 6 Aug 2003 17:03:57 -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 10786 invoked from network); 6 Aug 2003 17:03:50 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 6 Aug 2003 17:03:50 -0000 Received: from drow by nevyn.them.org with local (Exim 4.20 #1 (Debian)) id 19kRgW-0005FI-9P; Wed, 06 Aug 2003 13:02:48 -0400 Date: Wed, 06 Aug 2003 17:03:00 -0000 From: Daniel Jacobowitz To: Michael Elizabeth Chastain Cc: gdb@sources.redhat.com, carlton@kealia.com, tromey@redhat.com, kettenis@chello.nl Subject: Re: java crash from tom tromey Message-ID: <20030806170247.GA19616@nevyn.them.org> Mail-Followup-To: Michael Elizabeth Chastain , gdb@sources.redhat.com, carlton@kealia.com, tromey@redhat.com, kettenis@chello.nl References: <200308061650.h76Gooib012449@duracef.shout.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200308061650.h76Gooib012449@duracef.shout.net> User-Agent: Mutt/1.5.1i X-SW-Source: 2003-08/txt/msg00080.txt.bz2 On Wed, Aug 06, 2003 at 12:50:50PM -0400, Michael Elizabeth Chastain wrote: > Here is a brain dump. > > Tom T sent me a reproducible test case and I can reproduce it. > > The problem happens with these commands: > > break 't::main TAB' > run > next next next step fini > step step step step step > print str > run yes > next > > I have appended a backtrace. > > My guess at the etiology is: > > gdb creates an objfile with name "<>" > and sect_index_test of -1. I suspect that happens somewhere > around the "print str" command but I don't really know enough > about Java to say. > > It's essential to re-run the executable in order to blow away > some sort of frame cache (another guess on my part). > > In the second run, gdb builds frames again. It is in the middle > of frame building when it calls dwarf2_frame_find_fde > (frame #6 on the stack trace). > > dwarf2_frame_find_fde, gdb does this: > > ALL_OBJFILES (objfile) > { > ... > offset = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT(objfile)); > ... > } > > objfile has name "<>" and sect_index_text of -1, > which triggers the internal error inside the SECT_OFF_TEXT macro. The correct fix is: - a patch, posted by Mark Kettenis: Date: Sun, 13 Jul 2003 19:17:04 +0200 (CEST) From: Mark Kettenis Subject: [RFC/RFA] Per-objfile data mechanism - Then, after that patch, move the check for FDEs in this objfile before the check for section offsets. The patch was approved but never checked in. I'm guessing that Mark has been too busy (or gotten caught up in the FSF's email troubles) since we haven't heard from him in a few weeks. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer