Bug 84415

Summary: "make check-daemon" fails
Product: PulseAudio Reporter: Tanu Kaskinen <tanuk>
Component: miscAssignee: pulseaudio-bugs
Status: RESOLVED FIXED QA Contact: pulseaudio-bugs
Severity: normal    
Priority: medium CC: lennart
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 75721    

Description Tanu Kaskinen 2014-09-28 09:21:29 UTC
On current master, "make check-daemon" is failing all the tests.

> make check-daemon
make -C src check-daemon
make[1]: Entering directory `/home/tanu/dev/pulseaudio/src'
PATH=.:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin ../src/tests/test-daemon.sh connect-stress extended-test interpol-test sync-playback
Running dbus-launch --sh-syntax
Started bus pid 16236 at unix:abstract=/tmp/dbus-26x5RGa6iR,guid=538b0801f445b167688ce8fe5427d27d
N: [lt-pulseaudio] daemon-conf.c: Detected that we are run from the build tree, fixing search path.
Running suite(s): Connect Stress
Connection (1 of 1000) established.
Connection terminated.
Connection terminated.
Connection terminated.
Connection terminated.
Connection terminated.
Connection terminated.
Connection terminated.
Context error: Connection refused
0%: Checks: 1, Failures: 1, Errors: 0
tests/connect-stress.c:189:F:connectstress:connect_stress_test:0: Failed
Running suite(s): Extended
Context error: Connection refused
0%: Checks: 1, Failures: 1, Errors: 0
tests/extended-test.c:156:F:extended:extended_test:0: Failed
Running suite(s): Interpol
Parsing configuration file '/home/tanu/.config/pulse/client.conf'
Using shared memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472
Trying to connect to /tmp/tmp.TrkNTdWoPN/native...
connect(): Resource temporarily unavailable (11)
Trying to connect to /var/run/pulse/native...
connect(): No such file or directory (2)
Context error: Connection refused
0%: Checks: 1, Failures: 1, Errors: 0
tests/interpol-test.c:149:F:interpol:interpol_test:0: Failed
Running suite(s): Sync Playback
Context error: Connection refused
0%: Checks: 1, Failures: 1, Errors: 0
tests/sync-playback.c:153:F:syncplayback:sync_playback_test:0: Failed
Killed daemon 16236
make[1]: *** [check-daemon] Error 1
make[1]: Leaving directory `/home/tanu/dev/pulseaudio/src'
make: *** [check-daemon] Error 2
Comment 1 David Henningsson 2014-10-03 13:48:28 UTC
I ran a bisect and came up with this one:

commit 26bf2df903b1c7439ad3eef0dc3bb1e777835cc3
Author: Arun Raghavan <arun.raghavan@collabora.co.uk>
Date:   Fri Sep 20 09:12:51 2013 +0530

    sink: Increase max sink inputs per sink


...and reverting this patch unbreaks "make check-daemon".
Comment 2 David Henningsson 2014-10-03 14:42:19 UTC
We could take the easy way out and just do like this:

diff --git a/src/tests/connect-stress.c b/src/tests/connect-stress.c
index 0cf072d..8f5d68f 100644
--- a/src/tests/connect-stress.c
+++ b/src/tests/connect-stress.c
@@ -42,7 +42,7 @@
  * which makes a non-error abort less likely (although still easily possible of
  * playing >=3 streams outside of the test - including internal loopback, rtp,
  * combine, remap streams etc.) */
-#define NSTREAMS ((PA_MAX_INPUTS_PER_SINK/2) - 1)
+#define NSTREAMS 20
 #define NTESTS 1000
 #define SAMPLE_HZ 44100
 
...or we could figure out what's actually causing the connection stuff to freak out when there are too many streams...
Comment 3 Tanu Kaskinen 2014-10-06 11:09:45 UTC
If that workaround makes check-daemon work, I think it's good enough for the release. We should make a separate bug for the breakage, but I'm not volunteering to work on it any time soon.
Comment 4 Arun Raghavan 2014-10-06 16:39:55 UTC
I'll take a stab at the underlying problem tomorrow if possible, else David's workaround doesn't sound too bad.
Comment 5 David Henningsson 2014-10-16 10:27:41 UTC
Ok, workaround now pushed: http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/?id=c45c0b149065af0f0ed6b07da83075a022030403

Feel free to look at the root cause when you have time. :-)

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.