Skip to content

WSL2 (kernel 6.6.87, Docker Engine): sandbox create fails with "seccomp notification probe: notification launcher disappeared" #3842

Description

@vishwasaidev-dev

Environment

  • OpenShell version: 0.1.2 (installed via the official install.sh)
  • Host OS: Windows 11 Pro 10.0.26200, WSL 2.6.3.0
  • WSL distro: Ubuntu 24.04.4 LTS
  • Kernel: 6.6.87.2-microsoft-standard-WSL2
  • Compute driver: docker (Docker CE 29.8.1 / containerd, installed directly inside the WSL distro via the official apt repo, not Docker Desktop)
  • Gateway: local single-user gateway (systemd --user service), mTLS auth, openshell status reports Connected

Steps to reproduce

  1. Install OpenShell via the official installer inside the WSL2 environment above.
  2. sudo loginctl enable-linger <user> (otherwise the gateway's systemd --user service is killed as soon as the invoking shell session ends, which is its own separate WSL2-specific gotcha worth documenting somewhere).
  3. openshell sandbox create --name demo
    (also reproduced with openshell sandbox create --name demo2 --no-keep -- echo hello)

Observed

The sandbox container is created and the image (nvcr.io/nvidia/base/ubuntu:24.04) pulls/starts successfully, then provisioning fails:

Error:   × sandbox entered error phase while provisioning:
  │ ControlSupervisorStartFailed: Docker sandbox exited before supervisor
  │ became ready; sandbox log tail: Error:   × seccomp notification probe
  │   ╰─▶ notification launcher disappeared

Reproduced identically across two separate sandbox creation attempts. The gateway-side systemd journal logs the same failure:

reason=ControlSupervisorStartFailed Docker sandbox exited before supervisor became ready; sandbox log tail: Error:   × seccomp notification probe
  ╰─▶ notification launcher disappeared

What I ruled out

This looked at first like the kernel < 5.19 SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV EINVAL issue from #3417 / the #3420 fallback fix, but our kernel (6.6.87) is well past that floor, so that code path shouldn't be in play. This looks like a distinct failure specific to WSL2's virtualized kernel — possibly related to how the seccomp user-notification fd handoff (SCM_RIGHTS passing / cross-namespace access to the sandboxed process) behaves under a Hyper-V-backed WSL2 kernel versus bare-metal Linux, rather than a simple version gate.

Ask

Is there a known workaround, or a non-seccomp ("privileged"?) sandbox isolation mode selectable for the docker driver, for platforms where the capability-free supervisor's notification handoff doesn't come up cleanly? Happy to provide more logs / run additional repro steps — this is currently a hard blocker for using OpenShell under WSL2 at all, even though the support matrix lists it as (experimentally) supported.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    state:triage-neededOpened without agent diagnostics and needs triage

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions