Public bug reported: Affected package: libasound2-plugins 1.2.12-2build1 (source: alsa-plugins) Environment: Ubuntu 26.04.1 LTS, amd64, WSL2/WSLg, Codex CLI 0.164.0
Impact Codex voice sessions start and immediately stop with: "voice audio session stopped unexpectedly". The helper reports phase=Device and exit code 37. Cause pa_stream_get_latency() returns -PA_ERR_NODATA (-16) while timing data is not yet available. pulse_delay() compares against positive PA_ERR_NODATA and converts this temporary condition into -EIO. Upstream fix https://github.com/alsa-project/alsa-plugins/commit/811c2ce69d1265ace42a05ef045ca1b4ed72e01c Applied upstream on 2026-10-15; please backport it to resolute. Minimal change - if (err != PA_ERR_NODATA) { + if (err != -PA_ERR_NODATA) { Reproducer The small standalone ALSA reproducer is in upstream issue #65: https://github.com/alsa-project/alsa-plugins/issues/65 Open a PulseAudio playback PCM, configure float32/stereo/48 kHz, and call snd_pcm_avail_delay() immediately, before the first playback write. Expected: wait for timing data and return success. Actual with the original Ubuntu plugin: -EIO (-5). Local verification on 2026-10-27 - Captured pa_stream_get_latency() returning -16 in an isolated test. - Kernel uprobes on the actual bundled Codex helper captured repeated -5 returns from snd_pcm_avail_delay() during a failing voice attempt. - Built the v1.2.12 PulseAudio PCM plugin with only the upstream sign fix. - Five consecutive immediate-start latency queries passed with the fixed plugin. - Simultaneous capture/playback with repeated latency queries passed for five seconds. - A real Codex voice conversation worked after selecting the fixed plugin. Workaround and package state The original Ubuntu system plugin remains unchanged. A locally built fixed plugin is currently selected through a user pcm_type.pulse override in ~/.asoundrc. The failure was reproduced before enabling that workaround. Regression considerations The fix changes only handling of the documented temporary NODATA return. Other error returns keep the existing -EIO path. Capture, playback, startup, and genuinely unavailable-device cases should be checked when validating a package. Related application report https://github.com/openai/codex/issues/47370 ** Affects: alsa-plugins (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2172315 Title: Backport pulse_delay() PA_ERR_NODATA sign fix to Ubuntu 26.04 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/alsa-plugins/+bug/2172315/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
