KVM not accessible
Workers boot inside a microVM that needs read/write access to /dev/kvm. On Linux hosts where your
user is not in the kvm group (common on WSL2), starting a worker fails with KVM not accessible.
Add your user to the kvm group:
wsl --shutdown from a
Windows terminal and reopen your distribution.
For why workers run in microVMs, see Engine.
An observer’s target never runs
List the observers of the observed function:target and read its state:
pendingorerror:reasonsays why, for example the owner has not acknowledged it, the target is not registered, or the args were refused (INVALID_ARGS). See Observer states.activewithfiresanddroppedat 0: no event has reached it. Checkdelivery:owner: the observer gets an event only when the function’s code callsobs.emitorobs.callon it. InsideonObserverAdded, the observer is not active yet, so these calls do not deliver. See Advanced function observation with owner delivery.auto: only invocations that start after the observer turnedactive, end with the outcome itsonasks for (successby default), and pass its filters are events. A call already running when the observer turnedactiveis not one, so call the function again.
droppedoractivation_failuresabove 0: events reached it and were dropped or failed, counted by reason (OVERFLOW,LOOP_GUARD, …).
Logger lines do not show up
Logger sends its lines to the engine. They do not appear in your worker’s output. Look in the
engine’s output (under iii compose --up, .iii/compose/<namespace>/engine.log), or run:
OTEL_ENABLED=false).
Logger then falls back to the language’s own logging, which the Rust SDK prints only with a
tracing subscriber. See Where the lines go.