Ludovic Courtès skribis: > I think we should change the above to log and gracefully handle failure > to load an individual service file. With the change below, every service except the offending one is loaded and started as expected: --8<---------------cut here---------------start------------->8--- [ 22.450515] shepherd[1]: Service root running with value #t. [ 22.454624] shepherd[1]: Service root has been started. [ 22.711738] shepherd[1]: Exception caught while loading '/gnu/store/fjis6iqpjfcnr90fy8rsg9v4j828jslv-shepherd-gwl-web.go': #<&compound-exception components: (#<&undefined-variable> #<&origin origin: #f> #<&message message: "Unbound variable: ~S"> #<&irritants irri [ 22.711839] tants: (make-forkexec-constructor/container)> #<&exception-with-kind-and-args kind: unbound-variable args: (#f "Unbound variable: ~S" (make-forkexec-constructor/container) #f)>)> [ 22.755146] shepherd[1]: starting services... [ 22.756491] shepherd[1]: Configuration successfully loaded from '/gnu/store/mq7y31xnjcjwjkyf6w7qiaq61g6n9f5x-shepherd.conf'. Uncaught exception in task: In fibers.scm: 172:8 7 (_) In ice-9/exceptions.scm: 406:15 6 (_) In ice-9/boot-9.scm: 1752:10 5 (with-exception-handler _ _ #:unwind? _ # _) In shepherd/service.scm: 824:39 4 (_) In oop/goops.scm: 1567:11 3 (cache-miss #f) 1585:2 2 (_ _ _) 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: No applicable method for #< one-shot-service? (1)> in call (one-shot-service? #f) [ 22.798737] shepherd[1]: Starting service user-file-systems... [ 22.800361] shepherd[1]: Starting service root-file-system... [ 22.802015] shepherd[1]: Starting service host-name... [ 22.803688] shepherd[1]: Starting service pam... [ 22.805372] shepherd[1]: Starting service sysctl... [ 22.806926] shepherd[1]: Starting service loopback... [ 22.808225] shepherd[1]: Starting service firewall... --8<---------------cut here---------------end--------------->8--- (There’s still this scary-looking but harmless backtrace in the middle: that’s because (start-in-the-background '(something-that-does-not-exist)) throws like that as of 0.10.4.) Once booted, shepherd is fine and you can interact normally with it; the only thing missing is, in this case, the ‘gwl-web’ service, which we failed to load. I think that’s a significant improvement. Thoughts? Ludo’.