Hi Ludo,

Thank you!

>/var/run/shepherd/repl is a Unix-domain socket you can connect to (with
>socat or whatever) to get a REPL.

Thanks!  I managed to connect via emacs geiser-connect-local.

>I think the very first step, before we can put these debugging helpers
>to good use, is to reproduce the problem in a VM.

Since I think I know what causes it that should be easy enough.

Just start a process that has a writer to a file on disk (keep file open).
Then try to remount ro /.  The latter will fail.

I've just checked my system after I exited the wayland session, and I
have the following such processes still left (found via "fuser -ikm /"
and then said "N" for all--but remembered the questions):

- dannym 2052     1 
/gnu/store/3zdc679dcs33yaljrjrkaq1fm7w3sjpy-guile-3.0.9/bin/guile 
--no-auto-compile 
/gnu/store/ckghf0bkrj9qrybp1c64q2irv6vx728k-shepherd-1.0.4/bin/shepherd 
--silent --config /gnu/store/vas8wnnixqxgirfcsccazl0s1c8dq0ni-shepherd.conf
- dannym 2629     1 /home/dannym/.guix-home/profile/bin/emacs --daemon
- dannym 9797     1 
/gnu/store/3zdc679dcs33yaljrjrkaq1fm7w3sjpy-guile-3.0.9/bin/guile 
--no-auto-compile 
/gnu/store/ckghf0bkrj9qrybp1c64q2irv6vx728k-shepherd-1.0.4/bin/shepherd 
--silent -config /gnu/store/vas8wnnixqxgirfcsccazl0s1c8dq0ni-shepherd.conf
- dannym 10085     1  
/gnu/store/3zdc679dcs33yaljrjrkaq1fm7w3sjpy-guile-3.0.9/bin/guile 
--no-auto-compile 
/gnu/store/ckghf0bkrj9qrybp1c64q2irv6vx728k-shepherd-1.0.4/bin/shepherd 
--silent --config /gnu/store/vas8wnnixqxgirfcsccazl0s1c8dq0ni-shepherd.conf
- dannym 20523  2629  00:00:00 [python3] <defunct>

Those probably will prevent umounting of /, and remounting ro of /.

(Also note the multiple user shepherds, still.  That's probably not helping 
either)

>What do you want to replace exactly?  

The body of the "stop" action of %root-file-system-shepherd-service (eventually 
:) )

>  (struct-set! (lookup-service 'whatever) 8 new-stop-procedure)

Thanks!

What's the 8? The slot index in the struct?

Reply via email to