Audio broken after increasing ram to 5 GB - No sound after latest updates - PipeWire Bug?

I discovered sound doesn’t play in Workstation after upgrading. It appears to be the entire VM. No sound in Tor Browser, VLC, or anything else.

Disabling and re-enabling audio from the virtual machine menu while running did not fix it.
Fully restarting the Workstation did not fix it.
I tried changing the audio controller in VB but it did not fix it.

I take VM snapshots before upgrading so I restored to before the upgrades and sure enough sound works.

I don’t know how to troubleshoot this issue if you could provide guidance please. I am using Whonix 17.

Upgraded builds can be more hassle than new builds.

Can you try a new build first? Once that works, we can attempt to fix the existing Whonix installation.

I’ve done some troubleshooting.

My existing workstation is upgraded from 17.0.4.5
I downloaded and imported a fresh workstation to test and it is version 17.1.1.5

The problem seemed to begin after the new swap file feature appeared in bootup, so I played around with the amount of RAM dedicated to the workstation:

  • Fresh boot with default 2 GiB RAM: works
  • RAM increased to 4 GiB: BROKEN
  • RAM increased to 9 GiB: BROKEN
  • RAM decreased back to 2 GiB: works again

This occurs without making any other changes to the machine.

To clarify “broken”: Videos do not play at all in Tor Browser (they buffer but freeze immediately and do not play, and no sound). Videos in VLC play but do not have sound.

I have 8 GiB RAM dedicated to my existing workstation. I tried setting it back to 2 GiB but it did not work unlike the test workstation.

Confirmed.

I think this is most likely a pipewire bug. I was able to reproduce this issue.


Non-issues:
swap-file-creator is not the cause. To exclude that possiblity, disable swap-file-creator.


More likely changes causing this:


debug output:

journalctl | grep pipew

Jan 24 13:31:12 host pipewire-pulse[1088]: mod.protocol-pulse: client 0x591d3aff9870 [VLC media player (LibVLC 3.0.20)]: stream 0x591d3afa39f0 OVERFLOW channel:0
Jan 24 13:31:12 host pipewire-pulse[1088]: mod.protocol-pulse: client 0x591d3aff9870 [VLC media player (LibVLC 3.0.20)]: stream 0x591d3afa39f0 OVERFLOW channel:0
Jan 24 13:31:12 host pipewire-pulse[1088]: mod.protocol-pulse: client 0x591d3aff9870 [VLC media player (LibVLC 3.0.20)]: stream 0x591d3afa39f0 OVERFLOW channel:0

cvlc Downloads/videoplayback.m4a

VLC media player 3.0.20 Vetinari (revision 3.0.20-0-g6f0d0ab126b)
[00005863995bcc70] dummy interface: using the dummy interface module…
[000077b04c000e60] mp4 demux: Fragment sequence discontinuity detected 1 != 0
[0000586399594210] pulse audio output error: overflow, flushing
[0000586399594210] pulse audio output error: overflow, flushing
[0000586399594210] pulse audio output error: overflow, flushing

mpv Downloads/videoplayback.m4a

(+) Audio --aid=1 --alang=eng (*) (aac 2ch 44100Hz)
AO: [pipewire] 44100Hz stereo 2ch floatp
A: -00:00:00 / 00:02:23 (0%)


This issue might be unspecific to Whonix. Generic Bug Reproduction might be required.

This could be a a pipewire bug. There are some bug reports against the Debian pipewire package (but upstream issues).

https://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=pipewire

For example: OOM killed

Speculation: More RAM being available might confuse pipewire and trigger some memory leak, resulting in pipewire RAM usage ballooning and therefore getting OOM killed. But really it could be anything.

I don’t have a solution and this issue might be difficult to fix, meaning might remain unfixed for a long time unless a contributor helps. Related: Self Support First Policy

Confirmed on YouTube. Very most likely same issue was described in this forum thread.

This began happening after a certain date. Before then the extra RAM wasn’t an issue. My last working snapshot is from 12/2/23 so the breakage would’ve occurred after that time. Would it be possible to downgrade pipewire and see if that resolves the issue for the time being? I don’t have much technical knowledge but I might try doing it myself to see if it works. If we could determine which update broke the audio pipewire devs might even be able to identify the issue with git blame.

No update. Was a port. port from pulseaudio to pipewire for audio support

1 Like