On Thu, Mar 13, 2025 at 01:36:03PM -0400, Noah Meyerhans wrote:
> Yep. One of my earlier updates contains the full debug output from
> systemd.  Interestingly, it doesn't seem like systemd logs anything at
> all when it sends a SIGTERM (at least to generators).

That mail did not make it to the list.  I also don't see any code path
that would do explicit SIGTERM.


> 
> You mentioned on IRC that you've observed this on the generic images,
> and I've now observed the same thing.  Note that it doesn't occur only
> on first boot; it appears that it can happen on any reboot (or
> presumably on daemon-reload, as generators are executed then as well).
> 
> One potentially interesting entry from the debug logs is:
> [    3.398752] boot-failure1 (sd-gens)[271]: (sd-exec-strv) failed with exit 
> status 1.

Yes.  This code bails out on all and every error with exit(1).

Okay, found it:

wait_for_terminate_and_check:
| log_full(prio, "%s terminated by signal %s.", strna(name), 
signal_to_string(status.si_status));
| return -EPROTO;

do_execute:
| r = wait_for_terminate_and_check(…);
| if (r < 0) return r;

execute_strv:
| r = do_execute(…)
| _exit(r < 0 ? EXIT_FAILURE : r);

So the SIGABRT of netplan short circuits the error handling and kills
off all other generators.

Bastian

-- 
Those who hate and fight must stop themselves -- otherwise it is not stopped.
                -- Spock, "Day of the Dove", stardate unknown

Reply via email to