* 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 public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).