From patchwork Mon Nov 13 15:26:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 79770 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 00C843858C01 for ; Mon, 13 Nov 2023 15:25:00 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from smtp-out2.suse.de (smtp-out2.suse.de [IPv6:2001:67c:2178:6::1d]) by sourceware.org (Postfix) with ESMTPS id 3E6C73858C01 for ; Mon, 13 Nov 2023 15:24:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3E6C73858C01 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 3E6C73858C01 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:67c:2178:6::1d ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699889086; cv=none; b=mWm6UdU1r2jlcRJVzVhRampGmHNNxmbcPj1TdlRMd/NOJcT6IuD3JHMsjcX/Egxiycazsi/zzxbBo79pzfHOdnN55bILleiY+CAl/GaLYTYU8/koWGLiSnv4be80Ox4PPDcz0Gy31pTwfKlsyetYZFeC27RIqHDYHE3QQ0IKwAg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699889086; c=relaxed/simple; bh=GxxGvGq50yNkWoiJT/DDQ/F2BVSaOS2gB4TIX68NEr0=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-Id: MIME-Version; b=ryzn24cp2GRr/bCp6yG8F8bhVokbHxlwhcV+NkXRDNu4u4ch08Sm8Y1k0ClGxXUUmf2bFzwEYUBQih3clEfyxP4RIZtbNijE2EdWnmq3cKBjkqF412euVPXbyCHg4+KKWZfsx6iROsnYokxzzpoCf+S3uZjDyc7XZ0vc6dlG3og= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 951921F854 for ; Mon, 13 Nov 2023 15:24:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1699889079; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=xrJOeWyPFKFVcolE/1rGIBe7VYKmTrZd0PcGk2xJOO8=; b=dnuzHlhSjAf5XIbZjieJ4VA1AjKS5sGMnyjjKrPn9YNQcU2BiaBnu+HMD7XPqNnNpBeN48 DOjBa3p+Yi+EUR1KfoQ2Vkh5rj7uEyJf8gmLib7qoZMaNws3Jlg2/Qy1AlubNOhDb/fuRp jxu5wNzGQpPkxIQ7F6kCdbK1rby6udI= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1699889079; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=xrJOeWyPFKFVcolE/1rGIBe7VYKmTrZd0PcGk2xJOO8=; b=avr5nbHbxqk54xI3mXW+ZAWOl3xXRG5Nn6ADFPqMcKAYWg2UXpSygAmdkxp7YBO34E76F7 y+G7eCuYRHDHl3Aw== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 83DB01358C for ; Mon, 13 Nov 2023 15:24:39 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id KOcYH7c/UmUHSQAAMHmgww (envelope-from ) for ; Mon, 13 Nov 2023 15:24:39 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH] [gdb] Fix assert in delete_breakpoint Date: Mon, 13 Nov 2023 16:26:09 +0100 Message-Id: <20231113152609.32726-1-tdevries@suse.de> X-Mailer: git-send-email 2.35.3 MIME-Version: 1.0 X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org On a pinebook (aarch64 with 64-bit kernel and 32-bit userland) with test-case gdb.base/gdb-sigterm.exp I run into: ... intrusive_list.h:458: internal-error: erase_element: \ Assertion `elem_node->prev != INTRUSIVE_LIST_UNLINKED_VALUE' failed.^M ... Fix this similar to: - commit c0afd99439f ("[gdb/tui] Fix assert in ~gdbpy_tui_window_maker"), and - commit 995a34b1772 ("Guard against frame.c destructors running before frame-info.c's" by checking is_linked () before attempting to remove from breakpoint_chain. Tested on the pinebook and x86_64-linux. PR gdb/31061 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31061 --- gdb/breakpoint.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) base-commit: 6b682bbf86f37982ce1d270fb47f363413490bda diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index fe09dbcbeee..0a58821fc00 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -12633,7 +12633,8 @@ delete_breakpoint (struct breakpoint *bpt) if (bpt->number) notify_breakpoint_deleted (bpt); - breakpoint_chain.erase (breakpoint_chain.iterator_to (*bpt)); + if (bpt->is_linked ()) + breakpoint_chain.erase (breakpoint_chain.iterator_to (*bpt)); /* Be sure no bpstat's are pointing at the breakpoint after it's been freed. */