The crash happens in a Debian arm64 VM running under UTM on an Apple Silicon Mac. The app starts successfully, /health works, /cmd works for basic commands, and CaptureScreenshot works at the initial 800x600 size. The crash is specifically
triggered after {"cmd":"SimulateResize", ...} causes the surface to be reconfigured.
Environment
Working Commands
This works under Xvfb:
POST /cmd {"cmd":"Pump"}
POST /cmd {"cmd":"Wait","ms":220}
POST /cmd {"cmd":"GetText"}
POST /cmd {"cmd":"CaptureScreenshot"}
CaptureScreenshot produces a valid 800x600 PNG, and GetText returns visible text.
Failing Command
This crashes the app:
{"cmd":"SimulateResize","width":1536,"height":1024}
A later Pump, Wait, or CaptureScreenshot receives an empty reply because the app has already exited.
Crash With Xvfb + Vulkan llvmpipe
fission-shell-winit: renderer: native-vello requested=auto backend=Vulkan adapter=llvmpipe (LLVM 19.1.7, 128 bits) size=800x600 scale=1.00
thread 'main' panicked at wgpu-26.0.1/src/backend/wgpu_core.rs:3526:18:
wgpu error: Validation Error
Caused by:
In Surface::configure
Requested alpha mode PostMultiplied is not in the list of supported alpha modes: [Opaque, Inherit]
Crash With Weston Headless + Vulkan llvmpipe
Requested alpha mode PostMultiplied is not in the list of supported alpha modes: [Opaque, PreMultiplied]
Crash With Xvfb + GL llvmpipe
Run with:
WGPU_BACKEND=gl
Crash:
fission-shell-winit: renderer: native-vello requested=auto backend=Gl adapter=llvmpipe (LLVM 19.1.7, 128 bits) size=800x600 scale=1.00
Requested alpha mode PostMultiplied is not in the list of supported alpha modes: [Opaque]
Expected Behavior
Fission should not request an unsupported surface alpha mode during resize. It should inspect surface.get_capabilities(...) and choose a supported mode, probably in this order:
- PostMultiplied
- PreMultiplied
- Opaque
- another supported fallback
Or otherwise gracefully fail with an actionable renderer diagnostic rather than panicking in wgpu.
Impact
This blocks Fission GUI live tests in headless Linux VM environments where the surface does not advertise PostMultiplied. Basic startup, text extraction, and screenshots work, but resize testing crashes the app.
Notes
The same Fission GUI tests reportedly work natively on macOS. This appears VM/compositor/surface-capability specific, not an application-level issue.
1
The crash happens in a Debian arm64 VM running under UTM on an Apple Silicon Mac. The app starts successfully, /health works, /cmd works for basic commands, and CaptureScreenshot works at the initial 800x600 size. The crash is specifically
triggered after {"cmd":"SimulateResize", ...} causes the surface to be reconfigured.
Environment
Host: macOS on Apple Silicon, M1
VM: UTM Debian arm64
Fission: 0.6.1
Renderer path observed:
Test control:
Compositors tested:
App starts and renders before resize.
Working Commands
This works under Xvfb:
POST /cmd {"cmd":"Pump"}
POST /cmd {"cmd":"Wait","ms":220}
POST /cmd {"cmd":"GetText"}
POST /cmd {"cmd":"CaptureScreenshot"}
CaptureScreenshot produces a valid 800x600 PNG, and GetText returns visible text.
Failing Command
This crashes the app:
{"cmd":"SimulateResize","width":1536,"height":1024}
A later Pump, Wait, or CaptureScreenshot receives an empty reply because the app has already exited.
Crash With Xvfb + Vulkan llvmpipe
fission-shell-winit: renderer: native-vello requested=auto backend=Vulkan adapter=llvmpipe (LLVM 19.1.7, 128 bits) size=800x600 scale=1.00
thread 'main' panicked at wgpu-26.0.1/src/backend/wgpu_core.rs:3526:18:
wgpu error: Validation Error
Caused by:
In Surface::configure
Requested alpha mode PostMultiplied is not in the list of supported alpha modes: [Opaque, Inherit]
Crash With Weston Headless + Vulkan llvmpipe
Requested alpha mode PostMultiplied is not in the list of supported alpha modes: [Opaque, PreMultiplied]
Crash With Xvfb + GL llvmpipe
Run with:
WGPU_BACKEND=gl
Crash:
fission-shell-winit: renderer: native-vello requested=auto backend=Gl adapter=llvmpipe (LLVM 19.1.7, 128 bits) size=800x600 scale=1.00
Requested alpha mode PostMultiplied is not in the list of supported alpha modes: [Opaque]
Expected Behavior
Fission should not request an unsupported surface alpha mode during resize. It should inspect surface.get_capabilities(...) and choose a supported mode, probably in this order:
Or otherwise gracefully fail with an actionable renderer diagnostic rather than panicking in wgpu.
Impact
This blocks Fission GUI live tests in headless Linux VM environments where the surface does not advertise PostMultiplied. Basic startup, text extraction, and screenshots work, but resize testing crashes the app.
Notes
The same Fission GUI tests reportedly work natively on macOS. This appears VM/compositor/surface-capability specific, not an application-level issue.
1