Skip to content

[Beta Issue] WasmEdge Shim Crash: "flag provided but not defined: -info" (Docker Desktop 4.54.0) #15017

@ericB1708

Description

@ericB1708

Description

I am trying to run a Rust application compiled to WASM inside Docker using the WasmEdge runtime. I have enabled the "Use containerd for pulling and storing images" and "Enable Wasm" features in Docker Desktop.

The Problem:

When I run my container, the command executes without error, but the container never starts. It remains in the Created status. To rule out my own code, I tried the official Docker Wasm Technical Preview example(https://www.docker.com/blog/docker-wasm-technical-preview/), and it fails in the exact same way.

Environment:

  • OS: Windows 11

  • Docker Desktop: v4.54.0 (212467)

  • Settings: Wasm & Containerd features enabled.

My Rust Setup (Context):

My own application works perfectly when running locally using the wasmedge CLI on Windows. The issue only happens inside Docker.

  • Target: wasm32-wasip1 (Rust 1.84)

  • Dockerfile:

    Dockerfile

    FROM --platform=$BUILDPLATFORM rust:1.84 AS buildbase
    WORKDIR /src
    RUN rustup target add wasm32-wasip1
    # ... (dependencies installation)
    
    FROM buildbase AS build
    COPY . .
    RUN cargo build --target wasm32-wasip1 --release
    
    FROM scratch
    COPY --link --from=build /src/target/wasm32-wasip1/release/ba-order-service-wasm.wasm /ba-order-service-wasm.wasm
    ENTRYPOINT [ "/ba-order-service-wasm.wasm" ]
    
    
  • Build & Run Command:

    PowerShell

    docker build --no-cache --platform wasi/wasm -t ba-order-service-wasm .
    docker run --rm --runtime=io.containerd.wasmedge.v1 --platform=wasi/wasm ba-order-service-wasm
    
    

Reproduce

Reproduction Steps:

  1. Run the official example image:

    Bash

    docker run -dp 8080:8080 --name=wasm-example --runtime=io.containerd.wasmedge.v1 --platform=wasi/wasm32 michaelirwin244/wasm-example
    
    
  2. Output:

    Plaintext

    (Container ID is returned, e.g., aca36...)
    
    
  3. Check status:

    Bash

    docker ps -a
    
    

    Result: The container status is Created. It never changes to Up, and docker logs wasm-example returns nothing.

Expected behavior

The container should successfully transition from Created to Up (or Exited with code 0), and I should see the application's output (e.g., 'Hello world') in the console logs. The shim process should not panic.

docker version

Client:
 Version:           29.1.2
 API version:       1.52
 Go version:        go1.25.5
 Git commit:        890dcca
 Built:             Tue Dec  2 21:57:33 2025
 OS/Arch:           windows/amd64
 Context:           desktop-linux

Server: Docker Desktop 4.54.0 (212467)
 Engine:
  Version:          29.1.2
  API version:      1.52 (minimum version 1.44)
  Go version:       go1.25.5
  Git commit:       de45c2a
  Built:            Tue Dec  2 21:55:26 2025
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v2.2.0
  GitCommit:        1c4457e00facac03ce1d75f7b6777a7a851e5c41
 runc:
  Version:          1.3.4
  GitCommit:        v1.3.4-0-gd6d73eb8
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

docker info

Client:
 Version:    29.1.2
 Context:    desktop-linux
 Debug Mode: false
 Plugins:
  ai: Docker AI Agent - Ask Gordon (Docker Inc.)
    Version:  v1.17.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-ai.exe
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.30.1-desktop.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-buildx.exe
  compose: Docker Compose (Docker Inc.)
    Version:  v2.40.3-desktop.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-compose.exe
  debug: Get a shell into any image or container (Docker Inc.)
    Version:  0.0.45
    Path:     C:\Program Files\Docker\cli-plugins\docker-debug.exe
  desktop: Docker Desktop commands (Docker Inc.)
    Version:  v0.2.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-desktop.exe
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.31
    Path:     C:\Program Files\Docker\cli-plugins\docker-extension.exe
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v1.4.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-init.exe
  mcp: Docker MCP Plugin (Docker Inc.)
    Version:  v0.28.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-mcp.exe
  model: Docker Model Runner (Docker Inc.)
    Version:  v1.0.4
    Path:     C:\Users\ericb\.docker\cli-plugins\docker-model.exe
  offload: Docker Offload (Docker Inc.)
    Version:  v0.5.29
    Path:     C:\Program Files\Docker\cli-plugins\docker-offload.exe
  pass: Docker Pass Secrets Manager Plugin (beta) (Docker Inc.)
    Version:  v0.0.15
    Path:     C:\Program Files\Docker\cli-plugins\docker-pass.exe
  sandbox: Docker Sandbox (Docker Inc.)
    Version:  v0.6.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-sandbox.exe
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-sbom.exe
  scout: Docker Scout (Docker Inc.)
    Version:  v1.18.3
    Path:     C:\Program Files\Docker\cli-plugins\docker-scout.exe

Server:
 Containers: 1
  Running: 0
  Paused: 0
  Stopped: 1
 Images: 1
 Server Version: 29.1.2
 Storage Driver: overlayfs
  driver-type: io.containerd.snapshotter.v1
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 CDI spec directories:
  /etc/cdi
  /var/run/cdi
 Discovered Devices:
  cdi: docker.com/gpu=webgpu
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 nvidia runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 1c4457e00facac03ce1d75f7b6777a7a851e5c41
 runc version: v1.3.4-0-gd6d73eb8
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.6.87.2-microsoft-standard-WSL2
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 32
 Total Memory: 31.24GiB
 Name: docker-desktop
 ID: d76d8b32-7011-4711-a970-6dc0800e3095
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Labels:
  com.docker.desktop.address=npipe://\\.\pipe\docker_cli
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  ::1/128
  127.0.0.0/8
 Live Restore Enabled: false
 Firewall Backend: iptables

Diagnostics ID

CB612CC5-C92B-4F59-9B0A-EC3DBDA2349D/20260108155605

Additional Info

I inspected the Docker Desktop backend logs (AppData\Local\Docker\log\host\com.docker.backend.exe.log) and found that the containerd-shim-wasmedge-v1 process is panicking immediately.

It seems Docker is trying to call the shim with a -info flag that the binary does not recognize.

Log Snippet:

[2025-12-15T08:19:39.887Z][com.docker.backend.exe.wsl] {"component":"kmsg","level":"info","msg":"containerd-shim-wasmedge-v1: containerd-shim: potentially unexpected fatal signal 6.","time":"2025-12-15T08:19:39.887885170Z"}
[2025-12-15T08:19:39.918Z][com.docker.backend.exe.wsl] {"component":"containerd","level":"info","msg":"{\"error\":\"failed to run [/var/lib/wasm/runtimes/containerd-shim-wasmedge-v1 -info]: signal: aborted (core dumped) (stderr: \\\"thread 'main' panicked at /home/runner/work/containerd-wasi-shims/containerd-wasi-shims/crates/containerd-shim-wasm/src/sandbox/cli.rs:50:38:\\\\ncalled `Result::unwrap()` on an `Err` value: InvalidArgument(\\\\\\\"flag provided but not defined: -info\\\\\\\")\\\\nnote: run with `RUST_BACKTRACE=1` environment variable to display a backtrace\\\\n\\\")\",\"level\":\"error\",\"msg\":\"failed to load runtime info\",\"runtime\":\"io.containerd.wasmedge.v1\"}

I have completely uninstalled and reinstalled Docker Desktop twice to rule out any corrupted files or bad configuration states.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions