QubesOS / qubes-issues

The Qubes OS Project issue tracker
https://www.qubes-os.org/doc/issue-tracking/
531 stars 46 forks source link

Starting audacity results in overflow messages and breaks recording in that qube #9383

Open marmarek opened 1 month ago

marmarek commented 1 month ago

How to file a helpful issue

Qubes OS release

R4.3 (R4.2 too?)

Brief summary

Starting audacity before mic is attached to a qube results in some Overflow calculating amount of data there is room for??? messages from pipewire module.

Steps to reproduce

  1. Start a qube based on fedora-40-xfce template
  2. Install audacity
  3. Start it
  4. Observe logs

Expected behavior

A bunch of Underrung: asked to read XX bytes, but only 0 available messages, since audacity checks recording on startup.

Actual behavior

Jul 30 14:46:12 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 3764 bytes, but only 0 available
Jul 30 14:46:12 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 3892 bytes, but only 0 available
Jul 30 14:46:12 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 7528 bytes, but only 0 available
Jul 30 14:46:12 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 664 bytes, but only 0 available
Jul 30 14:46:12 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 6992 bytes, but only 0 available
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 3764 bytes, but only 0 available
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 332 bytes, but only 0 available
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 104 bytes, but only 0 available
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 1048576 bytes, but only 0 available
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Overflow calculating amount of data there is room for????
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 1048576 bytes, but only 0 available
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Overflow calculating amount of data there is room for????
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 1048576 bytes, but only 0 available
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Overflow calculating amount of data there is room for????
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Overflow calculating amount of data there is room for????
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 1048576 bytes, but only 0 available
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Overflow calculating amount of data there is room for????
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 1048576 bytes, but only 0 available
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 4096 bytes, but only 0 available
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 3560 bytes, but only 0 available
Jul 30 14:46:13 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 1048576 bytes, but only 0 available
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 1048576 bytes, but only 0 available
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: Overflow calculating amount of data there is room for????
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 1048576 bytes, but only 0 available
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 1048576 bytes, but only 0 available
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: Overflow calculating amount of data there is room for????
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 1048576 bytes, but only 0 available
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: Overflow calculating amount of data there is room for????
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 1048576 bytes, but only 0 available
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: Overflow calculating amount of data there is room for????
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 1048576 bytes, but only 0 available
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: Overflow calculating amount of data there is room for????
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 1048576 bytes, but only 0 available
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 1048576 bytes, but only 0 available
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: Underrun: asked to read 1048576 bytes, but only 0 available
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: Overflow calculating amount of data there is room for????
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 30 14:46:14 personal pipewire[1985]: mod.qubes-audio: out of capture buffers: Broken pipe

In this state, even after attaching a mic, attempt to record anything with audacity results in only Overflow calculating amount of data there is room for???? messages and nothing gets recorded. I do see Setting audio-input to enabled and Recording start messages at dom0 side.

Recording with pw-record results in out of capture buffers: Broken pipe messages (and also nothing gets recorded).

I was unable to reproduce the issue on Debian 12 (xfce) template. Debian has audacity 3.2.4, Fedora has 3.4.2, but the relevant difference may be in some different part of the software stack (pipewire? some other lib?).

I got this issue with pipewire-qubes 4.2.14 (there is no audio-related changes since then).

marmarek commented 1 month ago

In fact, the issue happens also when attaching a mic before starting audacity. There is a lot of Recording start/Recording stop messages during audacity startup.

RandyTheOtter commented 1 month ago

Tested in 4.2, both with sys-audio and by directly attaching a hardware device in fedora-40-xfce.

  1. Issue exists only when attaching dom0:mic, hardware device works fine
  2. I don't see any signs of a functioning microphone in pavucontrol either, and it throws very similar errors while pavucontrol gui is open (and audacity is not):
ul 31 21:01:21 fedora-40-xfce pipewire[609]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 31 21:01:21 fedora-40-xfce pipewire[609]: mod.qubes-audio: Overrun: asked to write 940 bytes, but can only write 0
Jul 31 21:01:21 fedora-40-xfce pipewire[609]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 31 21:01:21 fedora-40-xfce pipewire[609]: mod.qubes-audio: Overrun: asked to write 940 bytes, but can only write 0
Jul 31 21:01:21 fedora-40-xfce pipewire[609]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 31 21:01:21 fedora-40-xfce pipewire[609]: mod.qubes-audio: Overrun: asked to write 944 bytes, but can only write 0
Jul 31 21:01:21 fedora-40-xfce pipewire[609]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 31 21:01:21 fedora-40-xfce pipewire[609]: mod.qubes-audio: Overrun: asked to write 940 bytes, but can only write 0
Jul 31 21:01:21 fedora-40-xfce pipewire[609]: mod.qubes-audio: out of capture buffers: Broken pipe
Jul 31 21:01:21 fedora-40-xfce pipewire[609]: mod.qubes-audio: Overrun: asked to write 940 bytes, but can only write 0
Jul 31 21:01:21 fedora-40-xfce pipewire[609]: mod.qubes-audio: out of capture buffers: Broken pipe