From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <guix-patches-bounces+larch=yhetil.org@gnu.org>
Received: from mp2.migadu.com ([2001:41d0:403:4876::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by ms13.migadu.com with LMTPS
	id OP8NH5TmQmfAwQAAe85BDQ:P1
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Sun, 24 Nov 2024 08:40:52 +0000
Received: from aspmx1.migadu.com ([2001:41d0:403:4876::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by mp2.migadu.com with LMTPS
	id OP8NH5TmQmfAwQAAe85BDQ
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Sun, 24 Nov 2024 09:40:52 +0100
X-Envelope-To: larch@yhetil.org
Authentication-Results: aspmx1.migadu.com;
	dkim=pass header.d=debbugs.gnu.org header.s=debbugs-gnu-org header.b=qd4LBlrE;
	dkim=fail ("headers rsa verify failed") header.d=gnu.org header.s=fencepost-gnu-org header.b=TIvmAC7J;
	dmarc=pass (policy=none) header.from=gnu.org;
	spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1732437652; a=rsa-sha256; cv=none;
	b=ohc5Zb1U6/jnFfy6Szp/522WPBKS7pQDXfkntPDeKU+MzMvnONv6DGmTOaixco0mtbizaH
	3Sl1wvIgMyLaH8kSiu06xCvX18MzGCVsIkrrfa0D35s753rG5pNKTishPG/QCeyj9cS5H6
	wukf3Ie4nnKfxlx2SGb2YDmbD8KhEsl6nH5PYLigrOzpbpJDuyvA9d04NNuP9T+lFO1GNx
	Mpw97PswZSqsYsT0k806EM+YstAGL9wm95V3XrV7Lj8m7zHBpSHjJ55WPRSlVPPRX0QJzr
	RUQj22h9nQebLRLv8EzshZ6PqDIoT3CTxMa2uyH4EoAnruhxLmvtm+xSXYq5Jg==
ARC-Authentication-Results: i=1;
	aspmx1.migadu.com;
	dkim=pass header.d=debbugs.gnu.org header.s=debbugs-gnu-org header.b=qd4LBlrE;
	dkim=fail ("headers rsa verify failed") header.d=gnu.org header.s=fencepost-gnu-org header.b=TIvmAC7J;
	dmarc=pass (policy=none) header.from=gnu.org;
	spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org;
	s=key1; t=1732437652;
	h=from:from:sender:sender:reply-to:subject:subject:date:date:
	 message-id:message-id:to:to:cc:mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:resent-cc:
	 resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to:
	 references:references:list-id:list-help:list-unsubscribe:
	 list-subscribe:list-post:dkim-signature;
	bh=qoubATqRvpGsRjmPxgZA0YpRqvLFlUGMrYPhUmtDjOg=;
	b=VnHOewDJtx6/fFhq5Fbb0NXzBm4rmHH/m3T3Hz5332mH+tEejKtcJAHzDN5q+4u4mHGUbd
	D2g/ZuQw7hL8QrC5MNswrrRagIjY2vR1GOS9nWmPI66LGrJ9wGZ0ZcUJQta0FFoZbij59S
	IEWZt858Z5aOnPnm8H12WM+w1uVFmmeGdoatIkrho1biko6+NvdiUzIa/Z67bfzbFZGZ6b
	LnRUnn5UFXVGXKjn7qaDL+qDUgq1v33kj+8TyWQJqNR2ihsPUc9cb/1I54PBsyLfJc+JA7
	5YFqGxxvvixwTSveUv4bO6CEBeemISEwVTAdcqMFa5zTVjKe/oOj03J5+xKyBQ==
Received: from lists.gnu.org (lists.gnu.org [209.51.188.17])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by aspmx1.migadu.com (Postfix) with ESMTPS id 62F7D8E4A5
	for <larch@yhetil.org>; Sun, 24 Nov 2024 09:40:52 +0100 (CET)
Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <guix-patches-bounces@gnu.org>)
	id 1tF7VO-0000tt-FN; Sun, 24 Nov 2024 02:58:08 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1tF7Us-0000Uz-R0
 for guix-patches@gnu.org; Sun, 24 Nov 2024 02:57:36 -0500
Received: from debbugs.gnu.org ([2001:470:142:5::43])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1tF7Us-0002S3-EZ
 for guix-patches@gnu.org; Sun, 24 Nov 2024 02:57:34 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
 d=debbugs.gnu.org; s=debbugs-gnu-org; 
 h=MIME-Version:References:In-Reply-To:Date:From:To:Subject;
 bh=qoubATqRvpGsRjmPxgZA0YpRqvLFlUGMrYPhUmtDjOg=; 
 b=qd4LBlrE+wClhnWC1QEZ11LQlN+ZCuo5XpVGWfmdQeQoer6cXX586lQ3QZDY9ZsK1Vcwy7SfN5N1X9cO7t8CbzRCZwHMbLhcKC8zKTpSGhgg1LjsNU/s/o36IM3DXlXQWsvkYuujh4pUCaq0jzFXkbK1Ru6EKQt6DCT4iNSRRQiyq+OpuCeoSZs2yT/Tg21tDTlcYwfqVy5SzNHKAFEqMzGPXrcH4rBt8O5osKCcyHm3Py9RasCw8rxHHcJSJ5/YH8IHdKkFUVnBqExii1XvqYlkkVBRU1a3wbCNtV1HCVGb3HZCIMMv9v/M8NtHE6CU+3AdcmlczRO1Veo1sM1afw==;
Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
 (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1tF7Us-0004p0-9y
 for guix-patches@gnu.org; Sun, 24 Nov 2024 02:57:34 -0500
X-Loop: help-debbugs@gnu.org
Subject: [bug#74290] [PATCH v4 54/58] gnu: hurd: Add refcounts-assert patch.
Resent-From: Janneke Nieuwenhuizen <janneke@gnu.org>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
Resent-CC: guix-patches@gnu.org
Resent-Date: Sun, 24 Nov 2024 07:57:34 +0000
Resent-Message-ID: <handler.74290.B74290.173243504718397@debbugs.gnu.org>
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 74290
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 74290@debbugs.gnu.org
Received: via spool by 74290-submit@debbugs.gnu.org id=B74290.173243504718397
 (code B ref 74290); Sun, 24 Nov 2024 07:57:34 +0000
Received: (at 74290) by debbugs.gnu.org; 24 Nov 2024 07:57:27 +0000
Received: from localhost ([127.0.0.1]:60902 helo=debbugs.gnu.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
 id 1tF7Uk-0004mM-6z
 for submit@debbugs.gnu.org; Sun, 24 Nov 2024 02:57:26 -0500
Received: from eggs.gnu.org ([209.51.188.92]:39158)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <janneke@gnu.org>) id 1tF7UG-0004dS-Vg
 for 74290@debbugs.gnu.org; Sun, 24 Nov 2024 02:56:57 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <janneke@gnu.org>)
 id 1tF7UB-0002J0-PB; Sun, 24 Nov 2024 02:56:51 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To:
 From; bh=qoubATqRvpGsRjmPxgZA0YpRqvLFlUGMrYPhUmtDjOg=; b=TIvmAC7Job2yUyrGnVwO
 ZLIOiL+7/T8KHghstFUHNQxSMusfZQffNHbijrIu/tMmmdiyHITnhlBMeSz3jQbJXPfuFuYmbBam1
 mhKVVI06NE2H20oumg2Fqdm0lJSpQthGaYHbOanWrL1B/Ls5kzLYwS/gRfeeJL5t/3kpPPeb1G36z
 e43IHNea4FvOOIQeqY9WDttH44ZW47i8mZIUj9lrMcK4CqyvHDghRz/wcrmJGFBLG/Yba8C0ojQw0
 ZGNTtl0vEG820SsX9n/+zJkf5h21qULceXaDbNQkyglpUIkIXgwOtCqG5tvZOqqHLSwYZ/C5x4+xe
 oq3PtkltUk/WTw==;
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Sun, 24 Nov 2024 08:55:17 +0100
Message-ID: <473ee0bdce15a1b12924885e9740cd0d1b54b6f9.1732434271.git.janneke@gnu.org>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1732434270.git.janneke@gnu.org>
References: <cover.1732434270.git.janneke@gnu.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
X-BeenThere: guix-patches@gnu.org
List-Id: <guix-patches.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>,
 <mailto:guix-patches-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/guix-patches>
List-Post: <mailto:guix-patches@gnu.org>
List-Help: <mailto:guix-patches-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>,
 <mailto:guix-patches-request@gnu.org?subject=subscribe>
Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org
Sender: guix-patches-bounces+larch=yhetil.org@gnu.org
X-Migadu-Country: US
X-Migadu-Flow: FLOW_IN
X-Migadu-Spam-Score: -6.98
X-Spam-Score: -6.98
X-Migadu-Queue-Id: 62F7D8E4A5
X-Migadu-Scanner: mx10.migadu.com
X-TUID: JjjY2uh3rJkI

See <https://logs.guix.gnu.org/hurd/2024-11-20.log#082237>.

* gnu/packages/patches/hurd-refcounts-assert.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/hurd.scm (hurd): Use it.

Change-Id: I51ee319f1b7e26a7ed0f4e9f69755aa596ea6877
---
 gnu/local.mk                                  |  1 +
 gnu/packages/hurd.scm                         |  3 ++-
 .../patches/hurd-refcounts-assert.patch       | 26 +++++++++++++++++++
 3 files changed, 29 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/hurd-refcounts-assert.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 08314ade22..c75345ee93 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1556,6 +1556,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/hubbub-sort-entities.patch		\
   %D%/packages/patches/hueplusplus-mbedtls.patch		\
   %D%/packages/patches/hurd-64bit.patch				\
+  %D%/packages/patches/hurd-refcounts-assert.patch		\
   %D%/packages/patches/hurd-rumpdisk-no-hd.patch		\
   %D%/packages/patches/hurd-startup.patch			\
   %D%/packages/patches/hwloc-1-test-btrfs.patch			\
diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm
index 63249b4ef7..61833219c4 100644
--- a/gnu/packages/hurd.scm
+++ b/gnu/packages/hurd.scm
@@ -316,7 +316,8 @@ (define-public hurd
     (name "hurd")
     (source (origin
               (inherit (package-source hurd-headers))
-              (patches (search-patches "hurd-rumpdisk-no-hd.patch"
+              (patches (search-patches "hurd-refcounts-assert.patch"
+                                       "hurd-rumpdisk-no-hd.patch"
                                        "hurd-startup.patch"
                                        "hurd-64bit.patch"))))
     (version (package-version hurd-headers))
diff --git a/gnu/packages/patches/hurd-refcounts-assert.patch b/gnu/packages/patches/hurd-refcounts-assert.patch
new file mode 100644
index 0000000000..fe6d5e814f
--- /dev/null
+++ b/gnu/packages/patches/hurd-refcounts-assert.patch
@@ -0,0 +1,26 @@
+Upstream-status: Taken from <https://salsa.debian.org/hurd-team/hurd/-/blob/12f30157cc381a1987d5a2464a9c30092241aad1/debian/patches/libports-iterate-refcount.patch>.
+
+libports-iterate-refcount.patch>
+
+http://lists.gnu.org/archive/html/bug-hurd/2016-03/msg00034.html
+
+diff --git a/libports/bucket-iterate.c b/libports/bucket-iterate.c
+index b021b99..76dc3f7 100644
+--- a/libports/bucket-iterate.c
++++ b/libports/bucket-iterate.c
+@@ -58,7 +58,14 @@ _ports_bucket_class_iterate (struct hurd_ihash *ht,
+ 
+       if (class == 0 || pi->class == class)
+ 	{
+-	  refcounts_ref (&pi->refcounts, NULL);
++	  struct references result;
++	  refcounts_unsafe_ref (&pi->refcounts, &result);
++	  if (result.hard == 1 && result.weak == 0)
++	  {
++	    /* This one is on its way out, skip it.  */
++	    refcounts_deref (&pi->refcounts, NULL);
++	    continue;
++	  }
+ 	  p[n] = pi;
+ 	  n++;
+ 	}
-- 
2.46.0