From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16172 invoked by alias); 11 Feb 2015 06:46:05 -0000 Mailing-List: contact gdb-prs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-prs-owner@sourceware.org Received: (qmail 16146 invoked by uid 48); 11 Feb 2015 06:46:05 -0000 From: "xdje42 at gmail dot com" To: gdb-prs@sourceware.org Subject: [Bug guile/17923] scheme exception about invalid object in a backtrace Date: Wed, 11 Feb 2015 13:57:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: guile X-Bugzilla-Version: 7.8 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: xdje42 at gmail dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-q1/txt/msg00222.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=17923 --- Comment #7 from Doug Evans --- (In reply to Marcus Daniels from comment #6) > "for the frame problem, is it possible to set a breakpoint on one of the > frame functions early on, when f_smob->inferior is not NULL, set a > watchpoint on it, and then continue? When the watchpoint triggers a > backtrace may be sufficient to isolate the culprit." > > Could you clarify if there is ever a situation in which f_smob->inferior > ought to become NULL, even if the debugged program is continuing? There are only two situations where f_smob->inferior changes from non-NULL to NULL: 1) when the inferior goes away, 2) when the frame's Scheme object is garbage collected. > For now I'm trying to add guards to frame-* calls using the modified > frame-valid to see what other problems I run into. If it is an endless > chain of problems, I can't afford to keep debugging and need to take another > approach. If it is a bounded set, then perhaps I can afford to debug these > issues. All I'm asking for is to run gdb under gdb with a watchpoint set to catch the changing of f_smob->inferior from non-NULL to NULL and then sending me a backtrace. I'm hoping this will be doable. If you need instructions please let me know. Basically, run gdb under gdb, and set a breakpoint at the end of frscm_scm_from_frame *after* this line: f_smob->inferior = inferior; Then in the parent gdb do "watch -l f_smob->inferior", and then "continue" the child gdb and continue the session doing whatever tickles this bug. When the bug is tickled (presumably) the watchpoint will fire and you will be in the parent gdb. Then do "backtrace". Thanks! -- You are receiving this mail because: You are on the CC list for the bug.