[pulseaudio-tickets] [Bug 54779] Live lock on daemon startup when module combine is used and real time scheduling is enabled

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Sep 11 09:03:32 PDT 2012


https://bugs.freedesktop.org/show_bug.cgi?id=54779

--- Comment #3 from Tvrtko Ursulin <tvrtko.ursulin at onelan.co.uk> 2012-09-11 16:03:32 UTC ---
It is the "combine" thread which is busy looping. If I attach to it with strace
it unwedges itself. Both on startup and also on daemon shutdown.

Startup, combine using 100% CPU:

Process 31916 attached - interrupt to quit
17:00:58.164278 ppoll([{fd=30, events=POLLIN}, {fd=31, events=POLLIN}], 2, {0,
0}, NULL, 8) = 1 ([{fd=30, revents=POLLIN}], left {0, 0})
17:00:58.164649 read(30, "\1\0\0\0\0\0\0\0", 8) = 8
17:00:58.164891 futex(0x2302f90, FUTEX_WAKE_PRIVATE, 1) = 1
17:00:58.165628 futex(0x2302f90, FUTEX_WAKE_PRIVATE, 1) = 1
17:00:58.166285 ppoll([{fd=40, events=POLLIN}, {fd=36, events=POLLIN}, {fd=37,
events=POLLIN}, {fd=33, events=POLLIN}, {fd=30, events=POLLIN}, {fd=31,
events=POLLIN}], 6, NULL, NULL, 8) = 1 ([{fd=30, revents=POLLIN}])
17:00:58.166451 read(30, "\1\0\0\0\0\0\0\0", 8) = 8
17:00:58.166575 futex(0x2302f90, FUTEX_WAKE_PRIVATE, 1) = 1
17:00:58.167215 ppoll([{fd=44, events=POLLIN}, {fd=40, events=POLLIN}, {fd=36,
events=POLLIN}, {fd=41, events=POLLIN}, {fd=37, events=POLLIN}, {fd=33,
events=POLLIN}, {fd=30, events=POLLIN}, {fd=31, events=POLLIN}], 8, NULL, NULL,
8) = 1 ([{fd=30, revents=POLLIN}])
17:00:58.167378 read(30, "\1\0\0\0\0\0\0\0", 8) = 8
17:00:58.167500 ppoll([{fd=48, events=POLLIN}, {fd=44, events=POLLIN}, {fd=40,
events=POLLIN}, {fd=36, events=POLLIN}, {fd=45, events=POLLIN}, {fd=41,
events=POLLIN}, {fd=37, events=POLLIN}, {fd=33, events=POLLIN}, {fd=30,
events=POLLIN}, {fd=31, events=POLLIN}], 10, NULL, NULL, 8) = 1 ([{fd=48,
revents=POLLIN}])
17:00:58.168926 read(48, "\1\0\0\0\0\0\0\0", 8) = 8
17:00:58.169034 ppoll([{fd=48, events=POLLIN}, {fd=44, events=POLLIN}, {fd=40,
events=POLLIN}, {fd=36, events=POLLIN}, {fd=45, events=POLLIN}, {fd=41,
events=POLLIN}, {fd=37, events=POLLIN}, {fd=33, events=POLLIN}, {fd=30,
events=POLLIN}, {fd=31, events=POLLIN}], 10, NULL, NULL, 8^C <unfinished ...>
Process 31916 detached

Daemon is now unwedged and works fine.

Now on daemon shutdown combine threads starts busy looping again. Attaching
strace to it:

Process 31916 attached - interrupt to quit
17:01:31.163684 ppoll([{fd=30, events=POLLIN}, {fd=31, events=POLLIN}], 2, {0,
0}, NULL, 8) = 0 (Timeout)
17:01:31.164670 read(30, "\1\0\0\0\0\0\0\0", 8) = 8
17:01:31.164905 futex(0x2302f90, FUTEX_WAKE_PRIVATE, 1) = 1
17:01:31.165019 ppoll([{fd=30, events=POLLIN}, {fd=31, events=POLLIN}], 2,
NULL, NULL, 8) = 1 ([{fd=30, revents=POLLIN}])
17:01:31.165205 read(30, "\1\0\0\0\0\0\0\0", 8) = 8
17:01:31.165332 ppoll([{fd=30, events=POLLIN}, {fd=31, events=POLLIN}], 2,
NULL, NULL, 8) = 1 ([{fd=30, revents=POLLIN}])
17:01:31.165443 read(30, "\1\0\0\0\0\0\0\0", 8) = 8
17:01:31.165569 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE
or TCGETS, {B38400 opost isig icanon echo ...}) = 0
17:01:31.165712 write(2, "D: [combine] module-combine-sink"..., 57) = 57
17:01:31.165861 madvise(0x7ffbf1af5000, 8368128, MADV_DONTNEED) = 0
17:01:31.165973 _exit(0)                = ?

Unwedged.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the pulseaudio-bugs mailing list