On Sun, 19 Dec 2021 06:13:20 +0100 raingloom <raingl...@riseup.net> wrote:
> I'm writing a single-shot shepherd-service that expands the (ext4) > root file system on first boot, using the hostname service as a > template, just passing the script as a G-expression, instead of using > the forkexec constructor. > Of course there is a bug in it. Trouble is, I have no idea what it is, > because Shepherd won't tell me. :) > The VM boots and completes the ssh initialization phase and then > apparently just gets stuck. Doesn't even show a login prompt. > It's... not a great debugging experience. > I'm going to attempt to at the very least add some error reporting. > It would also be really nice if the failure modes for Shepherd > services were better documented, like what happens when the procedure > passed in the `start` field fails, or is not even a procedure, etc. > Since I never touched Shepherd internals, help would be greatly > appreciated. > > ps.: I'm attaching the system definition for completeness's sake and > so that someone might point out where the error is, but honestly the > exact bug in my code does not matter for the feature. All that > matters is there is an error and it should be logged but isn't. So the error in my config turned out to be the G-expression not evaluating to a lambda, but the issue with Shepherd still stands.