From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxim Cournoyer Subject: bug#39708: nfs-service-type broken: rpc.mountd respawns too quickly Date: Thu, 20 Feb 2020 22:58:23 -0500 Message-ID: <878skw382o.fsf@apteryx.i-did-not-set--mail-host-address--so-tickle-me> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:57724) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j4zSx-0003Df-EU for bug-guix@gnu.org; Thu, 20 Feb 2020 22:59:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j4zSw-0008Tw-9l for bug-guix@gnu.org; Thu, 20 Feb 2020 22:59:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:40265) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j4zSw-0008TA-58 for bug-guix@gnu.org; Thu, 20 Feb 2020 22:59:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j4zSw-0004UK-36 for bug-guix@gnu.org; Thu, 20 Feb 2020 22:59:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:55418) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j4zSN-00037C-Hl for bug-guix@gnu.org; Thu, 20 Feb 2020 22:58:28 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j4zSM-0006Sr-C0 for bug-guix@gnu.org; Thu, 20 Feb 2020 22:58:27 -0500 Received: from mail-qk1-x72e.google.com ([2607:f8b0:4864:20::72e]:41653) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j4zSL-0006R8-QB for bug-guix@gnu.org; Thu, 20 Feb 2020 22:58:26 -0500 Received: by mail-qk1-x72e.google.com with SMTP id d11so673732qko.8 for ; Thu, 20 Feb 2020 19:58:25 -0800 (PST) Received: from apteryx (dsl-151-135.b2b2c.ca. [66.158.151.135]) by smtp.gmail.com with ESMTPSA id o17sm889678qtq.93.2020.02.20.19.58.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Feb 2020 19:58:24 -0800 (PST) List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane-mx.org@gnu.org Sender: "bug-Guix" To: 39708@debbugs.gnu.org The rpc.mountd service, one of the required services for nfs-service-type, respawns the process quickly until disabled. Opening the service file, /ssh:hurd:/gnu/store/qq1dd9rqa2svxhbkpiq6bkpg6dyxwzqb-shepherd-rpc.mountd.scm: --8<---------------cut here---------------start------------->8--- (eval-when (expand load eval) (let ((extensions (quote ())) (prepend (lambda (items lst) (let loop ((items items) (lst lst)) (if (null? items) lst (loop (cdr items) (cons (car items) (delete (car items) lst)))))))) (set! %load-path (prepend (cons "/gnu/store/wy6fvwp3dfrp9frckdascrrb9rvn3h3g-module-import" (map (lambda (extension) (string-append extension "/share/guile/site/" (effective-version))) extensions)) %load-path)) (set! %load-compiled-path (prepend (cons "/gnu/store/xd4lwx10ljn902712sphac3k0k97g1vy-module-import-compiled" (map (lambda (extension) (string-append extension "/lib/guile/" (effective-version) "/site-ccache")) extensions)) %load-compiled-path)))) (begin (use-modules (shepherd service) (oop goops) (guix build utils) (guix build syscalls)) (make #:docstring (quote "Run the NFS mountd daemon.") #:provides (quote (rpc.mountd)) #:requires (quote (rpc.statd)) #:one-shot? (quote #f) #:respawn? (quote #t) #:start (make-forkexec-constructor (list "/gnu/store/c7kpr1jh5z3mrkz0yw9am86851y57cq7-nfs-utils-2.4.2/sbin/rpc.mountd" "--debug" "all")) #:stop (make-kill-destructor) #:actions (make-actions))) --8<---------------cut here---------------end--------------->8--- The process is launched with the equivalent of: $ /gnu/store/c7kpr1jh5z3mrkz0yw9am86851y57cq7-nfs-utils-2.4.2/sbin/rpc.mountd \ --debug all Which doesn't print any output, but returns cleanly. The process is daemonized and runs in the background. Attempting the equivalent using Shepherd yields the same: scheme@(guix-user)> ,m (shepherd service) ;;; WARNING: loading compiled file /run/current-system/profile/lib/guile/2.2/site-ccache/shepherd/service.go failed: ;;; In procedure load-thunk-from-memory: incompatible bytecode kind [...] scheme@(shepherd service)> (make-forkexec-constructor (list "/gnu/store/c7kpr1jh5z3mrkz0yw9am86851y57cq7-nfs-utils-2.4.2/sbin/rpc.mountd" "--debug" "all")) $1 = # scheme@(shepherd service)> ($1) $2 = 19655 We get back the PID of the rpc.mountd process, and it lives on. So, I wonder what is causing Shepherd to respawn the process? Maxim