From unknown Sun Jun 22 22:45:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34407: Shepherd won't close socket on exit Resent-From: nly Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sat, 09 Feb 2019 19:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 34407 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 34407@debbugs.gnu.org X-Debbugs-Original-To: bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15497422339850 (code B ref -1); Sat, 09 Feb 2019 19:58:01 +0000 Received: (at submit) by debbugs.gnu.org; 9 Feb 2019 19:57:13 +0000 Received: from localhost ([127.0.0.1]:41548 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gsYkT-0002Ym-42 for submit@debbugs.gnu.org; Sat, 09 Feb 2019 14:57:13 -0500 Received: from eggs.gnu.org ([209.51.188.92]:34139) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gsYkO-0002YW-Ki for submit@debbugs.gnu.org; Sat, 09 Feb 2019 14:57:10 -0500 Received: from lists.gnu.org ([209.51.188.17]:44143) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsYkJ-0002ip-A4 for submit@debbugs.gnu.org; Sat, 09 Feb 2019 14:57:03 -0500 Received: from eggs.gnu.org ([209.51.188.92]:48521) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsYkI-0007mx-Lf for bug-guix@gnu.org; Sat, 09 Feb 2019 14:57:03 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_40,RCVD_IN_DNSWL_NONE, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gsYkH-0002hl-Uf for bug-guix@gnu.org; Sat, 09 Feb 2019 14:57:02 -0500 Received: from knopi.disroot.org ([178.21.23.139]:48786) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsYkH-0002gL-Cx for bug-guix@gnu.org; Sat, 09 Feb 2019 14:57:01 -0500 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 83B0F27DA2 for ; Sat, 9 Feb 2019 20:56:59 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id t0FWREiZCsQ9 for ; Sat, 9 Feb 2019 20:56:58 +0100 (CET) From: nly DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1549742218; bh=FJK0eLc7jqWF0A1vAd1WpTB6thwAt8E/wj9CyamiNrI=; h=From:To:Subject:Date; b=LRXH+efrmo8nNn1cdb9nDufrXMMF5J0fyO378y95NlwaXDzAkG82TxlCFucwFha42 G7xJGIaM8H/Ugb33U1D5RiAKYmC4tBblYzgDBR+Zz2YzYOm1HY1qgWFFSh9St98aBr ZA5px7dev8c0lTJaMUQWANG0sqZya2wK0SGVVeKF8cdf0ESn9LOs4qPYt/+zBjkqET n6N6PD+PdGqX7aslrsEdytkTTk+Yurn2mIeQyJC5m6/ckAAhy2SDgSSji5wbo78Dm3 9K3deYURUgx+7SyWOOL2XmELsrzrE9eodyBT6KVBIsEg9qhvu75l8uy706FeGOosUv 6NTn28Q4JDaLw== Date: Sun, 10 Feb 2019 01:26:55 +0530 Message-ID: <87k1i868hk.fsf@disroot.org> Mime-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 178.21.23.139 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: 0.9 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) Shepherd does not close the socket when exiting with `herd stop root`. "bind: Address already in use" ~$ rm /run/user/1000/shepherd/socket ~$ shepherd Service root has been started. ~$ herd status error: connect: /run/user/1000/shepherd/socket: Connection refused ~$ shepherd Service root has been started. ~$ Backtrace: 3 (primitive-load "/run/current-system/profile/bin/shepherd") In shepherd.scm: 250:24 2 (main . _) 48:6 1 (open-server-socket _) In unknown file: 0 (bind # #(1 "/run/user/1000/shepherd/socket") #) ERROR: In procedure bind: In procedure bind: Address already in use C-c C-c ~$ From unknown Sun Jun 22 22:45:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34407: Acknowledgement (Shepherd won't close socket on exit) References: <87k1i868hk.fsf@disroot.org> Resent-From: nly Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sat, 09 Feb 2019 20:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34407 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 34407@debbugs.gnu.org Received: via spool by 34407-submit@debbugs.gnu.org id=B34407.154974371819785 (code B ref 34407); Sat, 09 Feb 2019 20:22:02 +0000 Received: (at 34407) by debbugs.gnu.org; 9 Feb 2019 20:21:58 +0000 Received: from localhost ([127.0.0.1]:41565 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gsZ8O-000591-Lp for submit@debbugs.gnu.org; Sat, 09 Feb 2019 15:21:58 -0500 Received: from knopi.disroot.org ([178.21.23.139]:51592) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gsZ8L-00058q-Tx for 34407@debbugs.gnu.org; Sat, 09 Feb 2019 15:21:55 -0500 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id BEA8A27DB4 for <34407@debbugs.gnu.org>; Sat, 9 Feb 2019 21:21:51 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZHW1T-hxAIEL for <34407@debbugs.gnu.org>; Sat, 9 Feb 2019 21:21:50 +0100 (CET) From: nly DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1549743710; bh=IbDb7tSVaJlR3Iu2aVq52nmE6+dIoDD1yVBQ3cU5eHg=; h=From:To:Subject:Date:In-Reply-To; b=fHaRiAfsweHBBoMYNzBEkhiqy0YHCD5M7BXaZ+EYaP4rE5qf0Nr4SSybkO+aH3sHo mh1T7Bj1QP2amFtY2ADtmEpDK2hsqyfY8EuMgUDONwakUyj9MTSb/H6g0zuFV/fDVH MELQn7Bz7kl8dZFl4F3Trp+iRbBFfmV/186T8P+XDMRu0wnlCWSBBd2N+6KKpcEcJL SaJR9X0OPzHBKg0zCsxd4N4jgxC2GXLr4BwCBUw3vJnUG/W7XxDi5SwLOslztWAJYV gb7kRjvgZs1ajYTte52DIfQ7sgz9PZT0gKhM5W0U2DtVVOtnOQaE3NJjmsPNzgfldo ftBC890/+LymA== Date: Sun, 10 Feb 2019 01:51:47 +0530 In-Reply-To: GNU bug Tracking System's message of "Sat\, 09 Feb 2019 19\:58\:02 +0000 \(12 minutes\, 20 seconds ago\)" Message-ID: <87zhr44sro.fsf@disroot.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) Mime-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Looks like I pasted something wrong in the previous message. I realized after I saw it on the mail. This time I've checked it twice. Left the shepherd in a weird limbo where connection is refused to the old socket and cannot create new connection. Ofcourse, i can `rm /run/user/1000/shepherd/socket` -------------------------------------------------------------------------------- nly@uf ~$ herd status error: connect: /run/user/1000/shepherd/socket: No such file or directory nly@uf ~$ shepherd Service root has been started. nly@uf ~$ herd status Started: + root Stopped: - icecat - jack - mpv - mpv-jack - tor - transmission nly@uf ~$ herd stop root nly@uf ~$ herd status error: connect: /run/user/1000/shepherd/socket: Connection refused nly@uf ~$ shepherd Service root has been started. nly@uf ~$ Backtrace: 3 (primitive-load "/run/current-system/profile/bin/shepherd") In shepherd.scm: 250:24 2 (main . _) 48:6 1 (open-server-socket _) In unknown file: 0 (bind # #(1 "/run/user/1000/shepherd/socket") #) ERROR: In procedure bind: In procedure bind: Address already in use C-c C-c nly@uf ~$ herd status error: connect: /run/user/1000/shepherd/socket: Connection refused From unknown Sun Jun 22 22:45:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34407: Acknowledgement (Shepherd won't close socket on exit) Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Wed, 13 Feb 2019 23:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34407 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: nly Cc: 34407@debbugs.gnu.org Received: via spool by 34407-submit@debbugs.gnu.org id=B34407.155009912127402 (code B ref 34407); Wed, 13 Feb 2019 23:06:02 +0000 Received: (at 34407) by debbugs.gnu.org; 13 Feb 2019 23:05:21 +0000 Received: from localhost ([127.0.0.1]:47447 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gu3aj-00077u-08 for submit@debbugs.gnu.org; Wed, 13 Feb 2019 18:05:21 -0500 Received: from mail-it1-f173.google.com ([209.85.166.173]:51379) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gu3ah-00077e-3G for 34407@debbugs.gnu.org; Wed, 13 Feb 2019 18:05:19 -0500 Received: by mail-it1-f173.google.com with SMTP id y184so10206763itc.1 for <34407@debbugs.gnu.org>; Wed, 13 Feb 2019 15:05:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=j3uZF5cVqyS4Ap0vqtWX4613sv0XJQ8QljMZ8Vmhalc=; b=BnQowSUiM5ZQVvaZm+MBBwzhRNl/Cx7nOIHytmo9djYv58fz9e8SRrWCWu53Mc1UTO KmjB0195anC4BdtwNdbtNFGuUfFg0CxpNUrZC0BdTxsHGCuGYFOgbRX9KdBiZeaFjBKa DziBaqLX7N8Z7kUg1Teyj2Bu0PPRsM4BrorMB3VZZBV/6a8X9qQOPCZRE8KK98HKQtUm 5LgBWXHvGISSUlSXlSPDZQQ1rNMCbNwzQsGhnoRNjQAEVMn54/nQJMdC4EQGYyYkY7q5 H4+dIV0VRGnyyjh4ar2l2U8nczFui7l2WNnBNJjTtkDXL63xLjTyBTZFfAw/5tonl32w ljRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=j3uZF5cVqyS4Ap0vqtWX4613sv0XJQ8QljMZ8Vmhalc=; b=VEKRALQ6RYwGm1Qeoy5MpW7D4U4GbGC8KIe7gzdxUfS6RVjnYDSBlr2Uyr6qdPb/f8 v8xn6b9oZ6LxtF1yMgwCjgm/tS5WmRGusvDPxRxW6sUnezur3tYghT+XE0nx2VnlvIFK ubR/VqEhK6u0Tl21D+VkN9FzAsy1ESc98RrJKNguzhWpqHqKx9idtJxeM8ETxw81xE+T KuVdmnkBIZc7LlNlllZIFFeWlxNq9v3pxWn5rEfYXjsIPdMXyw9CFQHHA/CJ5V0m8lg4 6quYnBUsOENyJE5R6kRJr0JVnCechKYHw8v0Px/xm8l809TNsnRIMJvkagdRKEN2dKjO pltw== X-Gm-Message-State: AHQUAualWa176WB4hE/25xv7sVF7yBTbGDqaYftuDtavYmDkok3DwK01 sa89YjdD0WrA2HYySQLfHr2IXPqR X-Google-Smtp-Source: AHgI3IY68FgBsDxZLDo37S48Tl43VtR5JGIixnUyIf5N0KWhR/aXQtORvpwib8hIVhmzS+EARr6kRA== X-Received: by 2002:a24:798a:: with SMTP id z132mr438930itc.30.1550099113251; Wed, 13 Feb 2019 15:05:13 -0800 (PST) Received: from kwak (104-195-232-20.cpe.teksavvy.com. [104.195.232.20]) by smtp.gmail.com with ESMTPSA id x21sm162835ita.44.2019.02.13.15.05.12 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 13 Feb 2019 15:05:12 -0800 (PST) From: Maxim Cournoyer References: <87k1i868hk.fsf@disroot.org> <87zhr44sro.fsf@disroot.org> Date: Wed, 13 Feb 2019 18:05:11 -0500 In-Reply-To: <87zhr44sro.fsf@disroot.org> (nly's message of "Sun, 10 Feb 2019 01:51:47 +0530") Message-ID: <871s4b1e8o.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, nly writes: > Looks like I pasted something wrong in the previous message. I realized > after I saw it on the mail. > > This time I've checked it twice. Left the shepherd in a weird limbo > where connection is refused to the old socket and cannot create new > connection. > > Ofcourse, i can `rm /run/user/1000/shepherd/socket` > -------------------------------------------------------------------------------- > nly@uf ~$ herd status > error: connect: /run/user/1000/shepherd/socket: No such file or directory > nly@uf ~$ shepherd > Service root has been started. > nly@uf ~$ herd status > Started: > + root > Stopped: > - icecat > - jack > - mpv > - mpv-jack > - tor > - transmission > nly@uf ~$ herd stop root > nly@uf ~$ herd status > error: connect: /run/user/1000/shepherd/socket: Connection refused > nly@uf ~$ shepherd > Service root has been started. > nly@uf ~$ Backtrace: > 3 (primitive-load "/run/current-system/profile/bin/shepherd") > In shepherd.scm: > 250:24 2 (main . _) > 48:6 1 (open-server-socket _) > In unknown file: > 0 (bind # #(1 "/run/user/1000/shepherd/socket") #) > > ERROR: In procedure bind: > In procedure bind: Address already in use > C-c C-c > nly@uf ~$ herd status > error: connect: /run/user/1000/shepherd/socket: Connection refused This has been annoying me as well; my current workaround is to put this in my ~/.xsession: --8<---------------cut here---------------start------------->8--- # Start user services rm -f /run/user/1000/shepherd/socket shepherd --8<---------------cut here---------------end--------------->8--- Maxim From unknown Sun Jun 22 22:45:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34407: [PATCH] shepherd: Delete the socket file upon exit. References: <87k1i868hk.fsf@disroot.org> In-Reply-To: <87k1i868hk.fsf@disroot.org> Resent-From: iyzsong@member.fsf.org (=?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sun, 17 Feb 2019 03:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34407 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 34407@debbugs.gnu.org Cc: guix-devel@gnu.org Received: via spool by 34407-submit@debbugs.gnu.org id=B34407.155037471225869 (code B ref 34407); Sun, 17 Feb 2019 03:39:02 +0000 Received: (at 34407) by debbugs.gnu.org; 17 Feb 2019 03:38:32 +0000 Received: from localhost ([127.0.0.1]:50644 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gvDHj-0006jB-PO for submit@debbugs.gnu.org; Sat, 16 Feb 2019 22:38:32 -0500 Received: from rezeros.cc ([45.76.207.221]:46404) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gvDHh-0006j1-53 for 34407@debbugs.gnu.org; Sat, 16 Feb 2019 22:38:30 -0500 Received: from localhost (117.174.29.1 [117.174.29.1]) by rezeros.cc (OpenSMTPD) with ESMTPSA id 561f48aa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Sun, 17 Feb 2019 03:38:25 +0000 (UTC) Received: from gift (localhost.localdomain [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id cd3e5aa0; Sun, 17 Feb 2019 03:38:16 +0000 (UTC) From: iyzsong@member.fsf.org (=?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?=) Date: Sun, 17 Feb 2019 11:38:16 +0800 Message-ID: <87ef87w0d3.fsf@member.fsf.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.9 (/) --=-=-= Content-Type: text/plain Yes, I have the 'rm /run/user/1000/shepherd/socket' workaround in my session script too... According to 'man 2 bind', the socket pathname should be deleted when no longer required, so a patch to fix this bug: --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-shepherd-Delete-the-socket-file-upon-exit.patch >From f171f6adb2fc6ee3bf4d25378c2e7bba109b43d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sun, 17 Feb 2019 11:27:28 +0800 Subject: [PATCH] shepherd: Delete the socket file upon exit. Fixes . * modules/shepherd.scm (call-with-server-socket): New procedure. (main): Use it instead of 'open-server-socket'. --- modules/shepherd.scm | 65 ++++++++++++++++++++++++++------------------ 1 file changed, 39 insertions(+), 26 deletions(-) diff --git a/modules/shepherd.scm b/modules/shepherd.scm index e241e7a..314b989 100644 --- a/modules/shepherd.scm +++ b/modules/shepherd.scm @@ -49,6 +49,17 @@ (listen sock 10) sock))) +(define (call-with-server-socket file-name proc) + "Call PROC, passing it a listening socket at FILE-NAME and deleting the +socket file at FILE-NAME upon exit of PROC. Return the values of PROC." + (let ((sock (open-server-socket file-name))) + (dynamic-wind + noop + (lambda () (proc sock)) + (lambda () + (close sock) + (delete-file file-name))))) + ;; Main program. (define (main . args) @@ -256,32 +267,34 @@ ;; Get commands from the standard input port. (process-textual-commands (current-input-port)) ;; Process the data arriving at a socket. - (let ((sock (open-server-socket socket-file))) - - ;; Possibly write out our PID, which means we're ready to accept - ;; connections. XXX: What if we daemonized already? - (match pid-file - ((? string? file) - (with-atomic-file-output pid-file - (cute display (getpid) <>))) - (#t (display (getpid))) - (_ #t)) - - (let next-command () - (define (read-from sock) - (match (accept sock) - ((command-source . client-address) - (setvbuf command-source (buffering-mode block) 1024) - (process-connection command-source)) - (_ #f))) - (match (select (list sock) (list) (list) (if poll-services? 0.5 #f)) - (((sock) _ _) - (read-from sock)) - (_ - #f)) - (when poll-services? - (check-for-dead-services)) - (next-command))))))) + (call-with-server-socket + socket-file + (lambda (sock) + + ;; Possibly write out our PID, which means we're ready to accept + ;; connections. XXX: What if we daemonized already? + (match pid-file + ((? string? file) + (with-atomic-file-output pid-file + (cute display (getpid) <>))) + (#t (display (getpid))) + (_ #t)) + + (let next-command () + (define (read-from sock) + (match (accept sock) + ((command-source . client-address) + (setvbuf command-source (buffering-mode block) 1024) + (process-connection command-source)) + (_ #f))) + (match (select (list sock) (list) (list) (if poll-services? 0.5 #f)) + (((sock) _ _) + (read-from sock)) + (_ + #f)) + (when poll-services? + (check-for-dead-services)) + (next-command)))))))) ;; Start all of SERVICES, which is a list of canonical names (FIXME?), ;; but in a order where all dependencies are fulfilled before we -- 2.19.2 --=-=-=-- From unknown Sun Jun 22 22:45:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34407: [PATCH] shepherd: Delete the socket file upon exit. Resent-From: Danny Milosavljevic Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 19 Feb 2019 19:10:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34407 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: iyzsong@member.fsf.org (=?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?=) Cc: guix-devel@gnu.org, 34407@debbugs.gnu.org Received: via spool by 34407-submit@debbugs.gnu.org id=B34407.155060336729653 (code B ref 34407); Tue, 19 Feb 2019 19:10:01 +0000 Received: (at 34407) by debbugs.gnu.org; 19 Feb 2019 19:09:27 +0000 Received: from localhost ([127.0.0.1]:55569 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gwAlj-0007iD-BB for submit@debbugs.gnu.org; Tue, 19 Feb 2019 14:09:27 -0500 Received: from dd26836.kasserver.com ([85.13.145.193]:36950) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gwAlh-0007i4-6d for 34407@debbugs.gnu.org; Tue, 19 Feb 2019 14:09:25 -0500 Received: from localhost (178.113.229.202.wireless.dyn.drei.com [178.113.229.202]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 6053233606BF; Tue, 19 Feb 2019 20:09:23 +0100 (CET) Date: Tue, 19 Feb 2019 20:08:59 +0100 From: Danny Milosavljevic Message-ID: <20190219200900.12407d94@scratchpost.org> In-Reply-To: <87ef87w0d3.fsf@member.fsf.org> References: <87ef87w0d3.fsf@member.fsf.org> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/uQLgM.Ds.uwG.7Pwacu/x_/"; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --Sig_/uQLgM.Ds.uwG.7Pwacu/x_/ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Sun, 17 Feb 2019 11:38:16 +0800 iyzsong@member.fsf.org (=E5=AE=8B=E6=96=87=E6=AD=A6) wrote: > Yes, I have the 'rm /run/user/1000/shepherd/socket' workaround in my sess= ion > script too... >=20 > According to 'man 2 bind', the socket pathname should be deleted when no > longer required, so a patch to fix this bug: Hmm, I guess you can do that. But /run is supposed to be a tmpfs and elogind is supposed to rm -rf /run/u= ser/1000 after all sessions of that user terminated in any case, so how is it left o= ver in the first place? If the deletion in the case above doesn't work, please report a bug. If that patch is only in order to enable users to restart user's shepherd without exiting all their sessions, then I guess that's ok--although unusua= l. Does your patch do the right thing if the user's shepherd is already running? (i.e. keep the socket file) --Sig_/uQLgM.Ds.uwG.7Pwacu/x_/ Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlxsVEwACgkQ5xo1VCww uqX81Af7BZ7/hVWriTJH7eYvonNkK2drhcv2OZWZ5zemuYvXxuQEJpb1bTMrgZkp x3eLXWNP4GRS3FZFJThSB07QDNyWDII3b8GFw/IMqqS3kKCVRFbbj/4ZvdcQADoW Um9+2paMXMfXpXsn5uDV9Tv+KmWTx8Sw33LP1fIUJXox7bqJIcUHZd5Jy4OoWR5I G9t//DzMvCOD+kJsBxFrafjQePwXz5VxcIBY+xqbPF1WZJ3DPqsf1YFMIsFDPYYc 2Pbo6Xk+KzlT9JYbUl+km7ZpsOhiewFY7YWudmCVNNGnLs0gm6/naqlPaqOo1PUj buwKQWoi+Ws4BeqSt1+tO2XRG1bucg== =K5gI -----END PGP SIGNATURE----- --Sig_/uQLgM.Ds.uwG.7Pwacu/x_/-- From unknown Sun Jun 22 22:45:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34407: [PATCH] shepherd: Delete the socket file upon exit. Resent-From: iyzsong@member.fsf.org (=?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?=) Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sat, 23 Feb 2019 08:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34407 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Danny Milosavljevic Cc: guix-devel@gnu.org, 34407@debbugs.gnu.org Received: via spool by 34407-submit@debbugs.gnu.org id=B34407.155091200618591 (code B ref 34407); Sat, 23 Feb 2019 08:54:01 +0000 Received: (at 34407) by debbugs.gnu.org; 23 Feb 2019 08:53:26 +0000 Received: from localhost ([127.0.0.1]:48841 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gxT3l-0004pn-QN for submit@debbugs.gnu.org; Sat, 23 Feb 2019 03:53:26 -0500 Received: from rezeros.cc ([45.76.207.221]:46448) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gxT3k-0004pe-Hb for 34407@debbugs.gnu.org; Sat, 23 Feb 2019 03:53:25 -0500 Received: from localhost (223.87.240.124 [223.87.240.124]) by rezeros.cc (OpenSMTPD) with ESMTPSA id 50a86a53 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Sat, 23 Feb 2019 08:53:21 +0000 (UTC) Received: from gift (localhost.localdomain [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id 2ebe23d0; Sat, 23 Feb 2019 08:53:01 +0000 (UTC) From: iyzsong@member.fsf.org (=?UTF-8?Q?=E5=AE=8B=E6=96=87=E6=AD=A6?=) References: <87ef87w0d3.fsf@member.fsf.org> <20190219200900.12407d94@scratchpost.org> Date: Sat, 23 Feb 2019 16:53:00 +0800 In-Reply-To: <20190219200900.12407d94@scratchpost.org> (Danny Milosavljevic's message of "Tue, 19 Feb 2019 20:08:59 +0100") Message-ID: <87bm32998z.fsf@member.fsf.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.9 (/) Danny Milosavljevic writes: > On Sun, 17 Feb 2019 11:38:16 +0800 > iyzsong@member.fsf.org (=E5=AE=8B=E6=96=87=E6=AD=A6) wrote: > >> Yes, I have the 'rm /run/user/1000/shepherd/socket' workaround in my ses= sion >> script too... >>=20 >> According to 'man 2 bind', the socket pathname should be deleted when no >> longer required, so a patch to fix this bug: > > Hmm, I guess you can do that. > > But /run is supposed to be a tmpfs and elogind is supposed to rm -rf /run= /user/1000 > after all sessions of that user terminated in any case, so how is it left= over > in the first place? > Well, maybe the elogind version I used didn't have this feature, or I had another user session running... > If the deletion in the case above doesn't work, please report a bug. Thanks, good to know, and it indeed works. > > If that patch is only in order to enable users to restart user's shepherd > without exiting all their sessions, then I guess that's ok--although unus= ual. > > Does your patch do the right thing if the user's shepherd is already > running? (i.e. keep the socket file) Yes, it deletes the socket file at exit (not at startup). From unknown Sun Jun 22 22:45:55 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: nly Subject: bug#34407: closed (Re: bug#34407: [PATCH] shepherd: Delete the socket file upon exit.) Message-ID: References: <87d0lw27qm.fsf@gnu.org> <87k1i868hk.fsf@disroot.org> X-Gnu-PR-Message: they-closed 34407 X-Gnu-PR-Package: guix Reply-To: 34407@debbugs.gnu.org Date: Mon, 08 Apr 2019 09:00:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1554714003-1535-1" This is a multi-part message in MIME format... ------------=_1554714003-1535-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #34407: Shepherd won't close socket on exit which was filed against the guix package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 34407@debbugs.gnu.org. --=20 34407: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D34407 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1554714003-1535-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 34407-done) by debbugs.gnu.org; 8 Apr 2019 08:59:12 +0000 Received: from localhost ([127.0.0.1]:48993 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hDQ7T-0000NP-U4 for submit@debbugs.gnu.org; Mon, 08 Apr 2019 04:59:12 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47032) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hDQ7R-0000NC-GQ for 34407-done@debbugs.gnu.org; Mon, 08 Apr 2019 04:59:09 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42681) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hDQ7L-00024Q-W7; Mon, 08 Apr 2019 04:59:04 -0400 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=50056 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hDQ7J-0005EJ-AQ; Mon, 08 Apr 2019 04:59:02 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: iyzsong@member.fsf.org (=?utf-8?B?5a6L5paH5q2m?=) Subject: Re: bug#34407: [PATCH] shepherd: Delete the socket file upon exit. References: <87k1i868hk.fsf@disroot.org> <87ef87w0d3.fsf@member.fsf.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 19 Germinal an 227 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 08 Apr 2019 10:58:57 +0200 In-Reply-To: <87ef87w0d3.fsf@member.fsf.org> (=?utf-8?B?IuWui+aWh+atpiIn?= =?utf-8?B?cw==?= message of "Sun, 17 Feb 2019 11:38:16 +0800") Message-ID: <87d0lw27qm.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 34407-done Cc: guix-devel@gnu.org, 34407-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello, iyzsong@member.fsf.org (=E5=AE=8B=E6=96=87=E6=AD=A6) skribis: > Yes, I have the 'rm /run/user/1000/shepherd/socket' workaround in my sess= ion > script too... I never had to do that because /run is wiped at boot time, like Danny wrote. > According to 'man 2 bind', the socket pathname should be deleted when no > longer required, so a patch to fix this bug: > > From f171f6adb2fc6ee3bf4d25378c2e7bba109b43d8 Mon Sep 17 00:00:00 2001 > From: =3D?UTF-8?q?=3DE5=3DAE=3D8B=3DE6=3D96=3D87=3DE6=3DAD=3DA6?=3D > Date: Sun, 17 Feb 2019 11:27:28 +0800 > Subject: [PATCH] shepherd: Delete the socket file upon exit. > > Fixes . > > * modules/shepherd.scm (call-with-server-socket): New procedure. > (main): Use it instead of 'open-server-socket'. Pushed, thanks! Ludo=E2=80=99. ------------=_1554714003-1535-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 9 Feb 2019 19:57:13 +0000 Received: from localhost ([127.0.0.1]:41548 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gsYkT-0002Ym-42 for submit@debbugs.gnu.org; Sat, 09 Feb 2019 14:57:13 -0500 Received: from eggs.gnu.org ([209.51.188.92]:34139) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gsYkO-0002YW-Ki for submit@debbugs.gnu.org; Sat, 09 Feb 2019 14:57:10 -0500 Received: from lists.gnu.org ([209.51.188.17]:44143) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsYkJ-0002ip-A4 for submit@debbugs.gnu.org; Sat, 09 Feb 2019 14:57:03 -0500 Received: from eggs.gnu.org ([209.51.188.92]:48521) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsYkI-0007mx-Lf for bug-guix@gnu.org; Sat, 09 Feb 2019 14:57:03 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_40,RCVD_IN_DNSWL_NONE, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gsYkH-0002hl-Uf for bug-guix@gnu.org; Sat, 09 Feb 2019 14:57:02 -0500 Received: from knopi.disroot.org ([178.21.23.139]:48786) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsYkH-0002gL-Cx for bug-guix@gnu.org; Sat, 09 Feb 2019 14:57:01 -0500 Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 83B0F27DA2 for ; Sat, 9 Feb 2019 20:56:59 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id t0FWREiZCsQ9 for ; Sat, 9 Feb 2019 20:56:58 +0100 (CET) From: nly DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1549742218; bh=FJK0eLc7jqWF0A1vAd1WpTB6thwAt8E/wj9CyamiNrI=; h=From:To:Subject:Date; b=LRXH+efrmo8nNn1cdb9nDufrXMMF5J0fyO378y95NlwaXDzAkG82TxlCFucwFha42 G7xJGIaM8H/Ugb33U1D5RiAKYmC4tBblYzgDBR+Zz2YzYOm1HY1qgWFFSh9St98aBr ZA5px7dev8c0lTJaMUQWANG0sqZya2wK0SGVVeKF8cdf0ESn9LOs4qPYt/+zBjkqET n6N6PD+PdGqX7aslrsEdytkTTk+Yurn2mIeQyJC5m6/ckAAhy2SDgSSji5wbo78Dm3 9K3deYURUgx+7SyWOOL2XmELsrzrE9eodyBT6KVBIsEg9qhvu75l8uy706FeGOosUv 6NTn28Q4JDaLw== To: bug-guix@gnu.org Subject: Shepherd won't close socket on exit Date: Sun, 10 Feb 2019 01:26:55 +0530 Message-ID: <87k1i868hk.fsf@disroot.org> Mime-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 178.21.23.139 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: 0.9 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) Shepherd does not close the socket when exiting with `herd stop root`. "bind: Address already in use" ~$ rm /run/user/1000/shepherd/socket ~$ shepherd Service root has been started. ~$ herd status error: connect: /run/user/1000/shepherd/socket: Connection refused ~$ shepherd Service root has been started. ~$ Backtrace: 3 (primitive-load "/run/current-system/profile/bin/shepherd") In shepherd.scm: 250:24 2 (main . _) 48:6 1 (open-server-socket _) In unknown file: 0 (bind # #(1 "/run/user/1000/shepherd/socket") #) ERROR: In procedure bind: In procedure bind: Address already in use C-c C-c ~$ ------------=_1554714003-1535-1--