X-Loop: help-debbugs@HIDDEN
Subject: bug#79494: Issue with posix_spawn_file_actions_addclosefrom_np on FreeBSD 13.1+ and 14+
Resent-From: Nikolaos Chatzikonstantinou <nchatz314@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guile@HIDDEN
Resent-Date: Tue, 23 Sep 2025 02:01:03 +0000
Resent-Message-ID: <handler.79494.B.175859282719410 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 79494
X-GNU-PR-Package: guile
X-GNU-PR-Keywords:
To: 79494 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-guile@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.175859282719410
(code B ref -1); Tue, 23 Sep 2025 02:01:03 +0000
Received: (at submit) by debbugs.gnu.org; 23 Sep 2025 02:00:27 +0000
Received: from localhost ([127.0.0.1]:37555 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v0sKM-000528-Gg
for submit <at> debbugs.gnu.org; Mon, 22 Sep 2025 22:00:26 -0400
Received: from lists.gnu.org ([2001:470:142::17]:34616)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <nchatz314@HIDDEN>)
id 1v0sKE-0004xE-1A
for submit <at> debbugs.gnu.org; Mon, 22 Sep 2025 22:00:17 -0400
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 <nchatz314@HIDDEN>)
id 1v0sK7-0007ll-I1
for bug-guile@HIDDEN; Mon, 22 Sep 2025 22:00:07 -0400
Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from <nchatz314@HIDDEN>)
id 1v0sJy-00074W-6p
for bug-guile@HIDDEN; Mon, 22 Sep 2025 22:00:07 -0400
Received: by mail-pl1-x634.google.com with SMTP id
d9443c01a7336-27d4d6b7ab5so790955ad.2
for <bug-guile@HIDDEN>; Mon, 22 Sep 2025 18:59:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1758592793; x=1759197593; darn=gnu.org;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=X70+8PC06nOFeI4s+gcqHhWKL6BB/n5g9B6CEMeT39A=;
b=SiTJXHRIiTit9F9F+oaeW4pv3bd7etJ+PhPGDs9w38fJaFwo6OAsTgTbVCDDwZY9La
KwEPNxtbL2klj34IvecpXMBjuIrI4Hn9QJtCgKaOvUNu8SSpxphYO8Z0TU1WBshRdMnY
wnGAiqzhd1Y08lk1tv4PEqFAluwt6BDDtcWXrpAn4OK8z9jzEnsBj/IRkbFiatkjKAca
aLw1CCLsTkkodgF4t8U4+ftES6wA5SwFaCaaJ9O76dKK9DcoJLjjPHAOuLLjCF6Tto49
jKjbM7mitBWO/vLQz4sG+bP06dTfLZhRkSUnb/HlqCgy4FzgfkELDAyDi4eaKo7uf1b9
PkZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1758592793; x=1759197593;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=X70+8PC06nOFeI4s+gcqHhWKL6BB/n5g9B6CEMeT39A=;
b=d0cqQEu6uSO0GI/AOSmnBQyP+1QO2zoISsk9wwv16iI+1GdDvi60QJ/0Zxz+qE5OyI
2yWQAZg0BTOENFggxLYN3ChgKh8vK7Bf31id9ttM0MhzJ++haZuVpaFolbijm2M9IcQO
FfsKTsSfXiOx99F74s5YWPgpa6tZC9bHyTLgzt8EV3mDyH4m5Lk4oXxm1n4kHR88Vk3W
Q3ajR0OW2FGecnXQQ4owGVnVFtI7Dflw4QKN/8C5wxBEZHy5UJBhdTLisjt1LLWeU5nc
JIfL/vsJ0d1s9O+1R//zMUZashnuSprxVltUJGmSyJSxkDRFupcRCJfgqv55MO2QlLKB
ecOQ==
X-Gm-Message-State: AOJu0YxBLnXNdlvsah+roXl+scqzHIKTe49EJUiFnPawVQvkRD2n0MHp
/lSG7HlFsSXqyZJMSTg9UFwPeusD3+6nxCkTZXdMyIJWKfctkw7M+r2m925Ez5K9W1Lt2uatnjx
L8VT9Yq7KlGRvaH8mXtEU8cW0PM8t6Q3vV5Pt
X-Gm-Gg: ASbGncsh+8LmlUCAMGAe6LmxduQs32kAdeRtViLIIAfqS5z/F8o9pZPOFxlujEDNeS3
4DyT3U8bwVB1yvRpK/IYX4P1jRU4v0g44gJt51Bj+1b1yJEDneeK0gyiEulb6Suk2JwfWUUhnSq
bJXTqdkA62Jel3ze4ProHOR6dIZefJY3wXbtf6E+9UdQicjSyXuPhbD99JePWEUBa2wPdg4o67l
NQm
X-Google-Smtp-Source: AGHT+IELxrlvcVu+Z5kUnglUQto261t79k5s0e8RHswKD9quA1xsEoelRHJeyiYkIM5MY3dE7UFKKOGLxJreJB4ZTHs=
X-Received: by 2002:a17:902:e750:b0:25c:b543:2da7 with SMTP id
d9443c01a7336-27cc157260bmr9571475ad.9.1758592792920; Mon, 22 Sep 2025
18:59:52 -0700 (PDT)
MIME-Version: 1.0
From: Nikolaos Chatzikonstantinou <nchatz314@HIDDEN>
Date: Mon, 22 Sep 2025 21:59:42 -0400
X-Gm-Features: AS18NWD86gWS305f6Pj2L22LAw5Da6loOeaw9DQb-FAm738yeKHMCCN9KrlDV2U
Message-ID: <CAAQmekd82mA11-ob1BOOQZ8KLcHnNALEsKVXfsf4wLLPMJzxVQ@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=2607:f8b0:4864:20::634;
envelope-from=nchatz314@HIDDEN; helo=mail-pl1-x634.google.com
X-Spam_score_int: -13
X-Spam_score: -1.4
X-Spam_bar: -
X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1,
DKIM_SIGNED=0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
SPF_PASS=-0.001 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.2 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: Hello list, I would like to summarize an issue [1] that first
came up on the FreeBSD bugzilla for Guile 3.0.10. It's a segfault due to
the incorrect mixing of two separate APIs for Posix spawn. As Tobias Kortkamp
clarifies there, the gnulib rpl_posix_spawn*() functions are picked up by
Guile's autotools. However, posix_spawn_file_actions_addclosefrom_np() does
not have a gnulib implementatio [...]
Content analysis details: (1.2 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
in digit (nchatz314[at]gmail.com)
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
provider (nchatz314[at]gmail.com)
1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail)
-0.0 SPF_HELO_PASS SPF: HELO matches SPF record
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org]
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.2 (/)
Hello list,
I would like to summarize an issue [1] that first came up on the
FreeBSD bugzilla for Guile 3.0.10. It's a segfault due to the
incorrect mixing of two separate APIs for Posix spawn.
As Tobias Kortkamp clarifies there, the gnulib rpl_posix_spawn*()
functions are picked up by Guile's autotools. However,
posix_spawn_file_actions_addclosefrom_np() does not have a gnulib
implementation. On the other hand, Guile's configure.ac detects the
function as available on FreeBSD 13 (because FreeBSD 13.1 implemented
it [2]). There is only one place where all of this matters,
libguile/posix.c, and I want to explain how.
AC_CHECK_FUNCS in configure.ac is processed by autoheader(1) which
sets up a macro HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSEFROM_NP when it
can successfully load a test program with that function. The macro is
renamed in libguile/posix.c to HAVE_ADDCLOSEFROM (for brevity
probably):
#ifdef HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSEFROM_NP
# define HAVE_ADDCLOSEFROM 1
#endif
Then it is used in 2 places in that file:
a) A fallback function close_inherited_fds() is defined if
posix_spawn_file_actions_addclosefrom_np() is missing.
b) Inside do_spawn, if posix_spawn_file_actions_addclosefrom_np()
exists it is used, otherwise the fallback function is used.
It is at b) where the segfault occurs: gnulib has a "fallback" spawn
implementation that is incompatible with
posix_spawn_file_actions_addclosefrom_np but compatible with
close_inherited_fds(). Nevertheless, currently on FreeBSD 14, the
gnulib implementation is used with the native
posix_spawn_file_actions_addclosefrom_np() which causes a segfault.
Further discussion on the issue [3,4] and the PR that attempts to fix
some of it. [5] Ideally we want to use native functions on FreeBSD
instead of gnulib's. currently the patch in [5] is avoiding use of
posix_spawn_file_actions_addclosefrom_np() on any platform where
HAVE_POSIX_SPAWN is not defined.
1. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282534
2. https://cgit.freebsd.org/src/commit/?id=a18ddf775744f31a844fd01fbe90207f7c5e706d
3. https://logs.guix.gnu.org/guile/2025-09-22.log
4. https://logs.guix.gnu.org/guile/2025-09-23.log
5. https://codeberg.org/guile/guile/pulls/17
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Nikolaos Chatzikonstantinou <nchatz314@HIDDEN> Subject: bug#79494: Acknowledgement (Issue with posix_spawn_file_actions_addclosefrom_np on FreeBSD 13.1+ and 14+) Message-ID: <handler.79494.B.175859282719410.ack <at> debbugs.gnu.org> References: <CAAQmekd82mA11-ob1BOOQZ8KLcHnNALEsKVXfsf4wLLPMJzxVQ@HIDDEN> X-Gnu-PR-Message: ack 79494 X-Gnu-PR-Package: guile Reply-To: 79494 <at> debbugs.gnu.org Date: Tue, 23 Sep 2025 02:01:04 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-guile@HIDDEN If you wish to submit further information on this problem, please send it to 79494 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 79494: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D79494 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
Received: (at control) by debbugs.gnu.org; 23 Sep 2025 04:43:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 23 00:43:40 2025
Received: from localhost ([127.0.0.1]:38374 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1v0usN-0007rZ-Am
for submit <at> debbugs.gnu.org; Tue, 23 Sep 2025 00:43:40 -0400
Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]:56627)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from <nchatz314@HIDDEN>)
id 1v0usE-0007rB-TW
for control <at> debbugs.gnu.org; Tue, 23 Sep 2025 00:43:32 -0400
Received: by mail-pl1-x631.google.com with SMTP id
d9443c01a7336-2445805aa2eso53060755ad.1
for <control <at> debbugs.gnu.org>; Mon, 22 Sep 2025 21:43:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1758602604; x=1759207404; darn=debbugs.gnu.org;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=azI02Ptv8j8MybPsgT6ewT2j/gc+P0qtUiqx64yJ6P8=;
b=Nh83FFL1DPSFOgkdGAVceunepciTttnzCRMsPZauxbD8pCvgOx8Z0Hu4fttZJq9Pmt
ZBe7utCDa7R/rOh9bncCJPwfqjKkempCILt0YrCDTX5fA+wBUgL46sLQ6fvBQ7lFN22a
Gu7+GUWNYrUJCkHrJiMJMatCpi16X+KAlnAYobtf9roGLRbxeXRLiCYHI8JhHKesohpa
s7S8bSrmW59M0tz1z1mzHEeBHTNiUbsXOWxwblfJ5DOAnZopwcU0s8tLG2Co1IRw6F42
8qUbWGWyddooQ+yKvHp9Jgg4uLD34ybQT99GL/Sg4NDqi1Dw5GQAQ6FhF968qxCZuuWh
dHRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1758602604; x=1759207404;
h=to:subject:message-id:date:from:mime-version:x-gm-message-state
:from:to:cc:subject:date:message-id:reply-to;
bh=azI02Ptv8j8MybPsgT6ewT2j/gc+P0qtUiqx64yJ6P8=;
b=bAEtVWfsXdRwfSul36dcM2JctuAbfaMxOVzoNECKDQXdGc//JuQwdlwmQFq/oQhOUT
fRIicfVHNxhKYrpY8Z581i4mkku7FkIXQhONxyuoPfRkrMx/5YLRjlmuoj/gM621hVtT
X7hhicmSgGiQAJdjsWCcV5tbUFVZGFQRtzfDmxw0vylEwqXQ+UfaMcwjnuqrYWMw0cwm
TLqOVw0pMK02n8msCQqdgLACVLY6K5o7slyUv9AOL36HGLk1mdEKEXUEhvPMDZ9su6yM
c4UianyvQBGDb+p6ZgehPcRa3uni3i2hVyGYUT9BNwnX0CJNJT+Yc2SaKE2dql+iLYZ8
JxyQ==
X-Gm-Message-State: AOJu0YzjOuVFvB+vaCqhx+1nYUnCWGpwkxT0uSLWlaNTeNIoN8A+r14A
vw9B7m6nUoikSfre1r9yr0Cy4M0IUwORh+8N/2Qeg1cYx/IMA4LRQMMjjCWVoWH0/63DHjKEuZh
BQaL1fXWDACqaipti5QQ89NVsAwawGx030Od3
X-Gm-Gg: ASbGnct8ITI1ZpqsXzH7YoGIh8tfuZ/FNWKjxiDl+K6ZOF9fXPpo5ZmWuDj1rxc/W6N
w9uBHTPdTU9yGGx81W8swUmfWRXrfYrpf8QI5qhM+ZJvaoD/YME9kRCkiMpt14M+gKK4GXftBwd
e5PfM3TwNNWZocpLPyrWEBH8f7QeWnbORcqt26q1yevru7hmgs35aH8rksPR3S46n4CNwZoLJhV
SQc
X-Google-Smtp-Source: AGHT+IFQHtefQz094pBEmEksPnWKm9Ed3/EgMOh0JliOc/gAafNHefD1TvA9gnj3ePE6RQShilQgynlHN2XiGwsNYpE=
X-Received: by 2002:a17:902:db03:b0:266:ddd:772f with SMTP id
d9443c01a7336-27cc28bef39mr15664815ad.9.1758602603963; Mon, 22 Sep 2025
21:43:23 -0700 (PDT)
MIME-Version: 1.0
From: Nikolaos Chatzikonstantinou <nchatz314@HIDDEN>
Date: Tue, 23 Sep 2025 00:43:13 -0400
X-Gm-Features: AS18NWC0y9V5iNtqrB7fHiI7sKJJkMlYiwPjihCIASOJHZgDj35FFYx2t5DDVmg
Message-ID: <CAAQmekcq4hcdSeFHnMk7D8sTLyKvH4B7LmBDnuaGHaxOfaOm2w@HIDDEN>
Subject:
To: control <at> debbugs.gnu.org
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 2.3 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: severity 79494 wishlist thanks
Content analysis details: (2.3 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
in digit (nchatz314[at]gmail.com)
-0.0 SPF_PASS SPF: sender matches SPF record
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
provider (nchatz314[at]gmail.com)
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
no trust [2607:f8b0:4864:20:0:0:0:631 listed in]
[list.dnswl.org]
2.0 BLANK_SUBJECT Subject is present but empty
X-Debbugs-Envelope-To: control
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: severity 79494 wishlist thanks
Content analysis details: (1.3 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
in digit (nchatz314[at]gmail.com)
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
no trust
[2607:f8b0:4864:20:0:0:0:631 listed in]
[list.dnswl.org]
-0.0 SPF_PASS SPF: sender matches SPF record
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
provider (nchatz314[at]gmail.com)
0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
2.0 BLANK_SUBJECT Subject is present but empty
-1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list
manager
severity 79494 wishlist
thanks
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.