[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#28772: guix system reconfigure after kernel panic user or group not
From: |
Ludovic Courtès |
Subject: |
bug#28772: guix system reconfigure after kernel panic user or group not created |
Date: |
Thu, 12 Oct 2017 09:57:09 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Hi Oleg,
Oleg Pykhalov <address@hidden> skribis:
> apologies for not adding logs before. It's hard to do when I do guix
> commands from Xterm and not from Emacs. Emacs *shell* or *compilation*
> buffers will eat all memory if they get too much text.
I sympathize…
> The problem
> ===========
>
> The bigger problem from my view are files like /etc/group.lock and
> /etc/passwd.lock. For example:
>
> sudo touch /etc/group.lock
>
> /etc/config.scm
>
> (operating-system
> ;; …
> (groups (cons
> (user-group (name "test"))
> %base-groups)))
>
> reconfigure log
I think we can avoid the problem by forcefully removing these two lock
files at boot time:
diff --git a/gnu/services.scm b/gnu/services.scm
index 329b7b151..2ef1d8530 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -368,6 +368,8 @@ boot."
#t))))
;; Ignore I/O errors so the system can boot.
(fail-safe
+ (delete-file "/etc/group.lock")
+ (delete-file "/etc/passwd.lock")
(delete-file-recursively "/tmp")
(delete-file-recursively "/var/run")
(mkdir "/tmp")
> How to make a kernel panic
>
> The problem will be No defined variable IPTABLES-SSH after 'guix system
> reconfigure' and kernel crash after.
[...]
> Make a kernel panic
>
> sudo GUILE_LOAD_PATH=\"$HOME/src/iptables\
> :$GUILE_LOAD_PATH\" guix system reconfigure \
> $HOME/dotfiles/guix/system-magnolia.scm
>
> # Run above again and kernel will panic.
I tried to reproduce it with my user’s shepherd, but that didn’t work:
--8<---------------cut here---------------start------------->8---
address@hidden ~/src/guix$ cat ,t.scm
(define s
(make <service>
#:provides '(nothing)
#:start (lambda _ unbound)))
(register-services s)
(start s)
address@hidden ~/src/guix$ herd load root ,t.scm
Loading ,t.scm.
herd: exception caught while executing 'load' on service 'root':
ERROR: Unbound variable: foo
address@hidden ~/src/guix$ herd load root ,t.scm
Loading ,t.scm.
herd: exception caught while executing 'start' on service 'nothing':
ERROR: Unbound variable: unbound
address@hidden ~/src/guix$ herd load root ,t.scm
Loading ,t.scm.
Assertion (null? (lookup-services (canonical-name new))) failed.
herd: exception caught while executing 'load' on service 'root':
ERROR: Throw to key `assertion-failed' with args `()'.
address@hidden ~/src/guix$ echo $?
1
address@hidden ~/src/guix$ herd status
[...]
address@hidden ~/src/guix$ echo $?
0
--8<---------------cut here---------------end--------------->8---
IOW, shepherd caught the exceptions and didn’t die.
What am I missing?
Ludo’.
- bug#28772: guix system reconfigure after kernel panic user or group not created, Oleg Pykhalov, 2017/10/10
- bug#28772: guix system reconfigure after kernel panic user or group not created, Oleg Pykhalov, 2017/10/10
- bug#28772: guix system reconfigure after kernel panic user or group not created, Ludovic Courtès, 2017/10/10
- bug#28772: guix system reconfigure after kernel panic user or group not created, Oleg Pykhalov, 2017/10/11
- bug#28772: guix system reconfigure after kernel panic user or group not created,
Ludovic Courtès <=
- bug#28772: guix system reconfigure after kernel panic user or group not created, Oleg Pykhalov, 2017/10/12
- bug#28772: guix system reconfigure after kernel panic user or group not created, Ludovic Courtès, 2017/10/13
- bug#28772: guix system reconfigure after kernel panic user or group not created, Ludovic Courtès, 2017/10/20
- bug#28772: guix system reconfigure after kernel panic user or group not created, Oleg Pykhalov, 2017/10/22
- bug#28772: guix system reconfigure after kernel panic user or group not created, Ludovic Courtès, 2017/10/22
- bug#28772: guix system reconfigure after kernel panic user or group not created, Oleg Pykhalov, 2017/10/22