<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - PulseAudio gets reliably killed upon a big number of client connections"
href="https://bugs.freedesktop.org/show_bug.cgi?id=94629#c2">Comment # 2</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - PulseAudio gets reliably killed upon a big number of client connections"
href="https://bugs.freedesktop.org/show_bug.cgi?id=94629">bug 94629</a>
from <span class="vcard"><a class="email" href="mailto:darwish.07@gmail.com" title="Ahmed S. Darwish <darwish.07@gmail.com>"> <span class="fn">Ahmed S. Darwish</span></a>
</span></b>
<pre>Hi Alex,
On Sun, Mar 20, 2016 at 05:48:28AM +0000, <a href="mailto:bugzilla-daemon@freedesktop.org">bugzilla-daemon@freedesktop.org</a>
wrote:
>
<span class="quote">> <a class="bz_bug_link
bz_status_NEW "
title="NEW - PulseAudio gets reliably killed upon a big number of client connections"
href="show_bug.cgi?id=94629">https://bugs.freedesktop.org/show_bug.cgi?id=94629</a>
>
> --- <a href="show_bug.cgi?id=94629#c1">Comment #1</a> from Alexander E. Patrakov <<a href="mailto:patrakov@gmail.com">patrakov@gmail.com</a>> ---
> Thanks for the report. The kills may happen because of exceeding the allowed
> real-time budget. To verify this, please modify /etc/pulse/daemon.conf:</span >
>
<span class="quote">> realtime-scheduling=no</span >
>
Thanks! This indeed confirms that PA reliably exceeds its RT budget.
Adding `realtime-scheduling=no' makes the bug completely vanish.
Reset the option back to yes, and PA gets reliably killed again.
After applying Arun's kernel rlimits verbosity patch, here is what
I see in dmesg when PA gets unsolicitedly killed:
[23891.784010] CPU Watchdog Timeout (hard): alsa-sink-VT170[7131]
So this also adds another confirmation and shows why the bug does
not appear by using NULL sinks..
[ Hmm, .. thinking about solutions ]
Unfortunately lowering the maximum amount of clients is not a
solution: on Tanu's machine, sometimes even just 18 clients did
the trick :-(
One of the reasons of the memfd + making pools per-client patches
is to make PA a little bit safer as a system daemon (a fuzzer may
also be built down the road). If clients can trigger a reliable
PulseAudio kill, we have a reliable DoS attack on our hands..
So now the question is, how to modify PA to make sure it does not
exceed its RT budget?
Regards,
Darwish</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>