From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15785 invoked by alias); 18 Jan 2005 18:59:41 -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 15732 invoked from network); 18 Jan 2005 18:59:37 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org with SMTP; 18 Jan 2005 18:59:37 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.11/8.12.11) with ESMTP id j0IIxaCE031134 for ; Tue, 18 Jan 2005 13:59:37 -0500 Received: from localhost.redhat.com (vpn50-9.rdu.redhat.com [172.16.50.9]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id j0IIxaO29310; Tue, 18 Jan 2005 13:59:36 -0500 Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id E03F07D79; Tue, 18 Jan 2005 13:57:27 -0500 (EST) Message-ID: <41ED5C15.7070401@gnu.org> Date: Tue, 18 Jan 2005 18:59:00 -0000 From: Andrew Cagney User-Agent: Mozilla Thunderbird 0.8 (X11/20041020) MIME-Version: 1.0 To: Nick Roberts Cc: gdb@sources.redhat.com Subject: Re: internal-error: insert_step_resume_breakpoint_at_sal References: <16804.1142.136766.593493@farnswood.snap.net.nz> <16874.17961.812024.375273@farnswood.snap.net.nz> In-Reply-To: <16874.17961.812024.375273@farnswood.snap.net.nz> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2005-01/txt/msg00086.txt.bz2 Nick Roberts wrote: > Following my earlier e-mail (Wed, 24 Nov 2004 16:48:06 +1300): > > > Debugging emacs in CVS with gdb in CVS, I often get an error if I try to step > > through the program after setting a breakpoint: > > > > To reproduce: > > > > gdb emacs > > GNU gdb 6.3.50_2004-11-24-cvs > > ... > > (gdb) b Fsplit_window (for example) > > (gdb) run > > > > `C-x 2' in Emacs > > > > (gdb) n > > infrun.c:2763: internal-error: insert_step_resume_breakpoint_at_sal: Assertion `step_resume_breakpoint == NULL' failed. > > A problem internal to GDB has been detected, > > infrun.c (in insert_step_resume_breakpoint_at_sal) says: > > /* There should never be more than one step-resume breakpoint per > thread, so we should never be setting a new > step_resume_breakpoint when one is already active. */ > > However, in this case (and presumably others too) there is more than one > step-resume breakpoint. insert_step_resume_breakpoint_at_sal is called > at infrun.c:1931 and then infrun.c:1949 through handle_inferior_event: > > First time: > > #0 insert_step_resume_breakpoint_at_sal (sr_sal= > {symtab = 0x0, section = 0x0, line = 0, pc = 134872212, end = 0}, sr_id= > {stack_addr = 3221220224, code_addr = 134872206, special_addr = 0, stack_addr_p = 1, code_addr_p = 1, special_addr_p = 0}) at infrun.c:2671 > During symbol reading, incomplete CFI data; unspecified registers (e.g., eax) at#1 0x080fbe4f in insert_step_resume_breakpoint_at_frame (return_frame=0x0) > at infrun.c:2699 This sal/id ... > #2 0x080fa6c3 in handle_inferior_event (ecs=0xbffff180) at infrun.c:1931 > #3 0x080f9cb8 in wait_for_inferior () at infrun.c:974 > > Second time: > > #0 internal_error (file=0x8221657 "infrun.c", line=2668, > string=0x81ef7a1 "%s: Assertion `%s' failed.") at utils.c:789 > #1 0x080fbdda in insert_step_resume_breakpoint_at_sal (sr_sal= > {symtab = 0x0, section = 0x0, line = 0, pc = 134872212, end = 0}, sr_id= > {stack_addr = 3221220224, code_addr = 134872206, special_addr = 0, stack_addr_p = 1, code_addr_p = 1, special_addr_p = 0}) at infrun.c:2672 ... and this sal/id look identical (true?). This suggests that rather than inserting two different step-resume breakpoints it's inserting the same one twice (for possibly different reasons). Is it possible to determine exactly why the step-resume breakpoint is being inserted for each of these cases? If we know that the testsuite becomes possible, and with a testsuite a fix. Andrew