Index | Thread | Search

From:
Theo Buehler <tb@theobuehler.org>
Subject:
devel/git: revert bad zombie prevention commit in 2.54
To:
ports@openbsd.org
Cc:
kn@openbsd.org, benoit@openbsd.org
Date:
Fri, 15 May 2026 11:27:32 +0200

Download raw body.

Thread
  • Theo Buehler:

    devel/git: revert bad zombie prevention commit in 2.54

After running into test hangs with devel/jujutsu, I found that that came
with git 2.54 and then bisected the issue to to commit dd3693e. It turns
out that upstream reverted this fix since there were problems with mksh
(a fork of our pdksh):

https://github.com/git/git/commit/8b44deebaf02246b40c267c06bf0c74ef71df292

This might well explain why other OS haven't run into this.

(This is unrelated to the got issue naddy found with git 2.54,
https://marc.gameoftrees.org/mail/1778459401.3079_0.html)

Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/git/Makefile,v
diff -u -p -r1.296 Makefile
--- Makefile	6 May 2026 21:56:08 -0000	1.296
+++ Makefile	15 May 2026 09:13:43 -0000
@@ -5,6 +5,7 @@ COMMENT-x11 =	graphical tools
 V =		2.54.0
 DISTNAME =	git-${V}
 CATEGORIES =	devel
+REVISION =	0
 
 HOMEPAGE =	https://git-scm.com/
 
Index: patches/patch-connect_c
===================================================================
RCS file: patches/patch-connect_c
diff -N patches/patch-connect_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-connect_c	15 May 2026 09:13:43 -0000
@@ -0,0 +1,23 @@
+https://github.com/git/git/commit/8b44deebaf02246b40c267c06bf0c74ef71df292
+
+Index: connect.c
+--- connect.c.orig
++++ connect.c
+@@ -1054,8 +1054,6 @@ static struct child_process *git_proxy_connect(int fd[
+ 	strvec_push(&proxy->args, port);
+ 	proxy->in = -1;
+ 	proxy->out = -1;
+-	proxy->clean_on_exit = 1;
+-	proxy->wait_after_clean = 1;
+ 	if (start_command(proxy))
+ 		die(_("cannot start proxy %s"), git_proxy_command);
+ 	fd[0] = proxy->out; /* read from proxy stdout */
+@@ -1517,8 +1515,6 @@ struct child_process *git_connect(int fd[2], const cha
+ 		}
+ 		strvec_push(&conn->args, cmd.buf);
+ 
+-		conn->clean_on_exit = 1;
+-		conn->wait_after_clean = 1;
+ 		if (start_command(conn))
+ 			die(_("unable to fork"));
+ 
Index: patches/patch-transport-helper_c
===================================================================
RCS file: patches/patch-transport-helper_c
diff -N patches/patch-transport-helper_c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-transport-helper_c	15 May 2026 09:13:43 -0000
@@ -0,0 +1,14 @@
+https://github.com/git/git/commit/8b44deebaf02246b40c267c06bf0c74ef71df292
+
+Index: transport-helper.c
+--- transport-helper.c.orig
++++ transport-helper.c
+@@ -154,8 +154,6 @@ static struct child_process *get_helper(struct transpo
+ 
+ 	helper->trace2_child_class = helper->args.v[0]; /* "remote-<name>" */
+ 
+-	helper->clean_on_exit = 1;
+-	helper->wait_after_clean = 1;
+ 	code = start_command(helper);
+ 	if (code < 0 && errno == ENOENT)
+ 		die(_("unable to find remote helper for '%s'"), data->name);