From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 8D4F43857722; Wed, 14 Feb 2024 09:23:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8D4F43857722 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1707902634; bh=3kv6+qXXBM7FSTxQfZqCfSs2r404Wa9Cbk0mHAP+gC8=; h=From:To:Subject:Date:In-Reply-To:References:From; b=xKMyth5UGyl+p4WeqIL2abuX6Is59+aDxSXWP3pSnkIVhn7aNKIpTs4hKKgUCcGu4 xTXnKYx75qioGSVA42PQruSWXW0IkEbLqcC6fXs3injQPTyDVd+GwqMJD7LvQgPmIZ W6NDIFcEnDbiWDbKegWsOMw9X85r6xEsa8n+prN4= From: "vries at gcc dot gnu.org" To: gdb-prs@sourceware.org Subject: [Bug gdb/30548] [gdb, ppc64le, s390x] FAIL: gdb.base/inline-frame-cycle-unwind.exp: cycle at level 5: backtrace when the unwind is broken at frame 5 Date: Wed, 14 Feb 2024 09:23:53 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: gdb X-Bugzilla-Version: HEAD X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: vries at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: 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: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://sourceware.org/bugzilla/show_bug.cgi?id=3D30548 --- Comment #1 from Tom de Vries --- With this change: ... diff --git a/gdb/python/py-unwind.c b/gdb/python/py-unwind.c index c55b5aa85ec..88ebcd11b1a 100644 --- a/gdb/python/py-unwind.c +++ b/gdb/python/py-unwind.c @@ -914,7 +914,9 @@ pyuw_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, /* `value' validation was done before, just assert. */ gdb_assert (value !=3D NULL); gdb_assert (data_size =3D=3D value->type ()->length ()); + if (value->optimized_out ()) + continue; +=20=20=20=20=20=20=20 cached_reg_t *cached =3D new (&cached_frame->reg[i]) cached_reg_t (= ); cached->num =3D reg->number; cached->data.reset ((gdb_byte *) xmalloc (data_size)); ... we have instead: ... (gdb) PASS: gdb.base/inline-frame-cycle-unwind.exp: cycle at level 5: maint flush register-cache bt^M #0 inline_func () at inline-frame-cycle-unwind.c:49^M #1 normal_func () at inline-frame-cycle-unwind.c:32^M #2 0x00000000100006d4 in inline_func () at inline-frame-cycle-unwind.c:45^M #3 normal_func () at inline-frame-cycle-unwind.c:32^M #4 0x00000000100006d4 in inline_func () at inline-frame-cycle-unwind.c:45^M #5 normal_func () at inline-frame-cycle-unwind.c:32^M #6 0x00000000100007a0 in main () at inline-frame-cycle-unwind.c:56^M (gdb) FAIL: gdb.base/inline-frame-cycle-unwind.exp: cycle at level 5: backt= race when the unwind is broken at frame 5 ... which at first glance looks like the correct backtrace. --=20 You are receiving this mail because: You are on the CC list for the bug.=