Server randomly disconnects clients after error from pstream.c: Received invalid frame size: 2684354560
Summary
Various applications are regularly stopping with the following error on the console:
Assertion 're->data || re->memblock' failed at pulsecore/pstream.c:862, function do_read(). Aborting.
I've seen this happen in both mpv and OBS. It is non-deterministic, for example, if I replay the same media file in mpv it doesn't necessary crash again at the same point.
environment
I searched for pa-info in my distribution (Debian) and couldn't find it. Attached. pa-info.txt
It is a multi-CPU Talos II system with POWER9 processors and ECC RAM. I never saw the problem using x86 based systems, only on the POWER9 system. I saw a report about a similar problem, same assertion, on Raspberry Pi 4b (64 bit ARM) https://wsjtx.groups.io/g/main/message/5676
and another report in the kernel bug tracker: https://bugzilla.kernel.org/show_bug.cgi?id=209843
Steps to reproduce
Run mpv or OBS, use it for long enough and it crashes with
Assertion 're->data || re->memblock' failed at pulsecore/pstream.c:862, function do_read(). Aborting.
Aborted
The moment when it crashes is unpredictable.
What is the current bug behavior?
The assertion above.
What is the expected correct behavior?
No assertion, application keeps running.
If the error is caused by an OS or hardware fault then it would be useful for PulseAudio to emit a more verbose error about how to troubleshoot.