Hi Danny,
Danny Milosavljevic <dan...@friendly-machines.com> writes: > 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. No one is questioning that. The question is what actually keeps the file open when all other services depending on the filesystem should already be stopped. Until that is answered, you cannot replicate it in a VM with regular guix system. > > 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? Regards, Rutherther