Skip to content

[BUG] svc-de has no s6 dependency on legacy cont-init, so runtime env writes race the desktop #178

Description

@junkerderprovinz

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

svc-de/run is #!/usr/bin/with-contenv bash, so it snapshots the container environment when it starts. Variables written at runtime into /run/s6/container_environment/ by a legacy cont-init.d script (or an init-* oneshot that is not a declared dependency of svc-de) race against it: s6-rc-db all-dependencies svc-de does not list the legacy-cont-init compatibility oneshot. On slow storage, svc-de can win the race and start the openbox session (and any app it launches) before those vars exist, so the desktop comes up without them. It is deterministic on slow appdata because cont-init does heavy I/O first.

Expected Behavior

Either svc-de declares a dependency on the legacy cont-init compatibility oneshot, or it is documented that variables the desktop must see should be image ENV (or re-exported in autostart), not only runtime /run/s6/container_environment/ writes.

Steps To Reproduce

  1. In a downstream cont-init.d script, do some heavy I/O, then write printf '%s' value > /run/s6/container_environment/FOO.
  2. Start the container on slow storage.
  3. The openbox session sometimes starts without FOO in its environment.

Environment

  • Base: ghcr.io/linuxserver/baseimage-selkies (current), X11 mode (Xvfb + openbox)

Docker creation

docker run -d --name selkies-test -p 3001:3001 --shm-size=1g ghcr.io/linuxserver/baseimage-selkies:ubunturesolute

Container logs

No error; the session simply lacks the runtime-written vars when svc-de wins the race.

Workaround downstream is to re-export in autostart, but a dependency edge or a short docs note would save others the debugging. Happy to help if a dependency edge is the preferred fix.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Issues

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions