all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#54779: guix home reconfigure throw error after Shepherd updata
@ 2022-04-07 23:27 Aleksandr Vityazev
  2022-04-14  7:16 ` bug#54779: same problem here Nicolas Graves via Bug reports for GNU Guix
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Aleksandr Vityazev @ 2022-04-07 23:27 UTC (permalink / raw)
  To: 54779

[-- Attachment #1: Type: text/plain, Size: 818 bytes --]


Hi,

guix home reconfigure config.scm [1], throw error and freezes even
ctrl-c doesn't help

Uncaught exception in task:
In fibers.scm
  150:0 9 (_)
In ice-9/boot-9.scm
  1747:15 8 (with-exception-handler #<procedure 7c9c7efe1c60> at ic..>
  ...)
In shepherd.scm
  439:9 7 (_)
In ice-9/boot-9.scm
  1747:15 8 (with-exception-handler #<procedure 7f9c7efe1ba0> at ic..>
  ...)
In ice-9/exceptions.scm:
  406:15 5 (_)
In ice-9/boot-9.scm:
  1752:10 4 (with-exception-handler _ _ #:unwind? _ # _)
In shepherd.scm
 502:23 3 (_)
In srfi/srfi-1.scm:
 586:17 2 (map1 (#<<service> 7f9c80e0df30>))
In ice-9/boot-9.scm:
 1685:16 1 (raise-exception _ #:continuable? _)
 1683:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1683:16 In procedure raise-exception:
Zero values returned to single-valued continuation


[1] 

[-- Attachment #2: config.scm --]
[-- Type: text/plain, Size: 2197 bytes --]

(define-module (config)
  #:use-module (gnu home)
  #:use-module (gnu home services)
  #:use-module (gnu home services fontutils)
  #:use-module (gnu home services xdg)
  #:use-module (gnu home services shells)
  #:use-module (gnu home services shepherd)
  #:use-module (gnu home services symlink-manager)

  #:use-module (gnu services)

  #:use-module (gnu packages)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages admin)
  #:use-module (gnu packages linux)

  #:use-module (guix gexp)
  #:use-module (guix packages))

(define (home-dbus-environment-variables-service _)
  '(("DBUS_SESSION_BUS_ADDRESS" . "unix:path=$XDG_RUNTIME_DIR/dbus.sock")))

(define (home-dbus-shepherd-service _)
  (list
   (shepherd-service
    (provision '(dbus-home))
    (stop  #~(make-kill-destructor))
    (start #~(make-forkexec-constructor
              (list #$(file-append dbus "/bin/dbus-daemon")
                    "--nofork"
                    "--session"
                    (string-append
                     "--address=" "unix:path="
                     (getenv "XDG_RUNTIME_DIR") "/dbus.sock"))
              #:environment-variables
              (append '("DISPLAY=wayland-0"
                        "WAYLAND_DISPLAY=wayland-0")
                      (environ)))))))

(define-public home-dbus-service-type
  (service-type
   (name 'home-dbus)
   (extensions
    (list (service-extension
           home-environment-variables-service-type
           home-dbus-environment-variables-service)
          (service-extension
           home-profile-service-type
           (const (list dbus)))
          (service-extension
           home-shepherd-service-type
           home-dbus-shepherd-service)))
   (default-value #f)
   (description "run dbus")))

(define home-env
  (home-environment
   (services
    (list

     (service home-dbus-service-type)

     (service home-zsh-service-type
              (home-zsh-configuration
               (xdg-flavor? #t)
               (zshrc (list (plain-file "zshrc" "stty -ixon")))))

     (simple-service
      'set-guix-env-vars
      home-environment-variables-service-type
      `(("GUIX_PROFILE" . "/home/akagi/.guix-profile")))))))
home-env

[-- Attachment #3: Type: text/plain, Size: 43 bytes --]

--      
Best regards,
Aleksandr Vityazev


^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#54779: same problem here
  2022-04-07 23:27 bug#54779: guix home reconfigure throw error after Shepherd updata Aleksandr Vityazev
@ 2022-04-14  7:16 ` Nicolas Graves via Bug reports for GNU Guix
  2022-04-20  1:37 ` bug#54779: guix home reconfigure throw error after Shepherd updata Aleksandr Vityazev
  2022-04-20 22:11 ` Ludovic Courtès
  2 siblings, 0 replies; 4+ messages in thread
From: Nicolas Graves via Bug reports for GNU Guix @ 2022-04-14  7:16 UTC (permalink / raw)
  To: 54779


Hi !

I do have the same problem here, and have found a temporary fix to allow
finishing the reconfiguration.

If you `herd stop root` before reconfiguring home, the `guix home
reconfigure` should finish, with an error, but allowing the
reconfiguration.

Just in case it might be helpful for developers :
The error happends in the `activate profile` phase, when herd and
shepherd are involved.

The reconfiguration actually works when there is no service-type related
to a herd service in the configuration (here it was the case with dbus I
think).

Good luck,

Nicolas




^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#54779: guix home reconfigure throw error after Shepherd updata
  2022-04-07 23:27 bug#54779: guix home reconfigure throw error after Shepherd updata Aleksandr Vityazev
  2022-04-14  7:16 ` bug#54779: same problem here Nicolas Graves via Bug reports for GNU Guix
@ 2022-04-20  1:37 ` Aleksandr Vityazev
  2022-04-20 22:11 ` Ludovic Courtès
  2 siblings, 0 replies; 4+ messages in thread
From: Aleksandr Vityazev @ 2022-04-20  1:37 UTC (permalink / raw)
  To: 54779

[-- Attachment #1: Type: text/plain, Size: 94 bytes --]

Hi,

it seems that the attached patch should fix this.

-- 
Best regards,
Aleksandr Vityazev


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: patch --]
[-- Type: text/x-patch, Size: 653 bytes --]

diff --git a/gnu/home/services/shepherd.scm b/gnu/home/services/shepherd.scm
index df6bbb30e6..cbb7b17987 100644
--- a/gnu/home/services/shepherd.scm
+++ b/gnu/home/services/shepherd.scm
@@ -84,6 +84,8 @@ (define config
                                         services))))
             (if (defined? 'start-in-the-background)
                 (start-in-the-background services-to-start)
-                (for-each start services-to-start)))))
+                (for-each start services-to-start))
+            (redirect-port (open-input-file "/dev/null")
+                           (current-input-port)))))

     (scheme-file "shepherd.conf" config)))

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* bug#54779: guix home reconfigure throw error after Shepherd updata
  2022-04-07 23:27 bug#54779: guix home reconfigure throw error after Shepherd updata Aleksandr Vityazev
  2022-04-14  7:16 ` bug#54779: same problem here Nicolas Graves via Bug reports for GNU Guix
  2022-04-20  1:37 ` bug#54779: guix home reconfigure throw error after Shepherd updata Aleksandr Vityazev
@ 2022-04-20 22:11 ` Ludovic Courtès
  2 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2022-04-20 22:11 UTC (permalink / raw)
  To: Aleksandr Vityazev; +Cc: 54779-done, Nicolas Graves

Hi,

Aleksandr Vityazev <avityazev@posteo.org> skribis:

> guix home reconfigure config.scm [1], throw error and freezes even
> ctrl-c doesn't help

Indeed, this can be reproduced like so:

--8<---------------cut here---------------start------------->8---
$ herd load root /gnu/store/1xx98q22c6ijr0p5pjbq3wnxd5yyxlmy-shepherd.conf
WARNING: Use of `load' in declarative module (#{ g139}#).  Add #:declarative? #f to your define-module invocation.
Uncaught exception in task:
In fibers.scm:
    150:8  9 (_)
In ice-9/boot-9.scm:
  1747:15  8 (with-exception-handler #<procedure 7f52c6b31390 at ic…> …)
In shepherd.scm:
    432:9  7 (_)
In ice-9/boot-9.scm:
  1747:15  6 (with-exception-handler #<procedure 7f52c6b312d0 at ic…> …)
In ice-9/exceptions.scm:
   406:15  5 (_)
In ice-9/boot-9.scm:
  1752:10  4 (with-exception-handler _ _ #:unwind? _ # _)
In shepherd.scm:
   502:23  3 (_)
In srfi/srfi-1.scm:
   586:17  2 (map1 (#<<service> 7f52c8f77f30>))
In ice-9/boot-9.scm:
  1685:16  1 (raise-exception _ #:continuable? _)
  1683:16  0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1683:16: In procedure raise-exception:
Zero values returned to single-valued continuation
--8<---------------cut here---------------end--------------->8---

(‘guix home reconfigure’ invokes the same command as above.)

The problem is that ‘start-in-the-background’ returns zero values, as
indicated above, but shepherd expects user commands to return one value.

So the fix, as you suggest, is to return one value at the end of
shepherd.conf.

You suggested redirecting stdin, which is also a good idea, but for a
different reason.  :-)  Anyway I’ve done both.

  dd2ab92d9d home: shepherd: Redirect input port to /dev/null.
  bc867b2ab0 home: shepherd: "shepherd.conf" returns one value.

Thank you!

Ludo’.




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-04-20 22:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-07 23:27 bug#54779: guix home reconfigure throw error after Shepherd updata Aleksandr Vityazev
2022-04-14  7:16 ` bug#54779: same problem here Nicolas Graves via Bug reports for GNU Guix
2022-04-20  1:37 ` bug#54779: guix home reconfigure throw error after Shepherd updata Aleksandr Vityazev
2022-04-20 22:11 ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.