Runtime zygctl single/multi leave services unstartable (gated) #6
Former local file: bugs/017-runtime-runlevel-transition-leaves-nothing-running.md.
Status
Gated, not fixed. zygctl single / zygctl multi (and init <N> via sysv-wrapper) refuse with an error instead of half-transitioning. The underlying defect remains: mark_runlevel_filtered puts a service in STATE_INACTIVE, and Phase A of start_services_by_tier only starts STATE_WAITING. A service stopped by a runtime transition never returns to a startable state.
Recovery: boot -s (works) or reboot into the desired runlevel.
Hardware
Measured on hh-alpha9, zyginit 0.4.0: runtime zygctl single left 0 services running (was 14), no recovery shell; zygctl multi recovered nothing. mode = always oneshots are not stopped by the transition (earlier report of that was withdrawn).
Blocker for a real fix
Decide what a runlevel-filtered dependency means if X requires Y and Y is not in this runlevel: (a) satisfied like SKIPPED, (b) filter X too, (c) fail X (today). Wrong choice recreates a dependency cascade on PID 1. See ROADMAP.md (Near Term — runtime runlevel transitions).
Assignees
No assignees
Labels
No labels
Severity
High