[Bug 692953] alsa modules are silent or noisy after several hours of use

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Aug 22 18:15:06 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=692953
  GStreamer | gst-plugins-base | 1.0.6

--- Comment #45 from Thomas DEBESSE <thomas.debesse at rcf.fr> 2013-08-23 01:14:21 UTC ---
Bad news, the computer that was running so many tests (provide-clock etc.) was
halted. I relaunched the tests but I can't have results today.

However, for the current test, the silent pipeline with GST_DEBUG=5 is always
running, I have more information on it. I have done some straces.

The pipeline is :
gst-launch-1.0 -v alsasrc device="$alsa_iface" ! queue ! alsasink
device="$alsa_iface" sync=false

the alsa interface was used without plug nor dsnoop/dmix alsa module, the
pipeline do not uses audioconvert nor audioresample Gstreamer module. The only
unnecessary module is "queue".

** These are the threads to strace:

(gdb) info threads
  Id   Target Id         Frame 
  5    Thread 0x7f8b3a9e7700 (LWP 26655) "queue0:src" 0x00007f8b3f803ca4 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
  4    Thread 0x7f8b3a1e6700 (LWP 26656) "alsasrc0:src" 0x00007f8b3f803ca4 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
  3    Thread 0x7f8b399e5700 (LWP 26661) "audiosrc-ringbu" 0x00007f8b3f521747
in ioctl () from /lib/x86_64-linux-gnu/libc.so.6
  2    Thread 0x7f8b391e4700 (LWP 26662) "audiosink-ringb" 0x00007f8b3f51d3cd
in poll () from /lib/x86_64-linux-gnu/libc.so.6
* 1    Thread 0x7f8b4045d740 (LWP 26625) "gst-launch-1.0" 0x00007f8b3f51d3cd in
poll () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) quit

** "gst-launch-1.0" process

strace -p 26625

poll([{fd=9, events=POLLIN}, {fd=7, events=POLLIN}], 2, 250) = 0 (Timeout)
poll([{fd=9, events=POLLIN}, {fd=7, events=POLLIN}], 2, 250) = 0 (Timeout)
poll([{fd=9, events=POLLIN}, {fd=7, events=POLLIN}], 2, 250) = 0 (Timeout)
poll([{fd=9, events=POLLIN}, {fd=7, events=POLLIN}], 2, 250) = 0 (Timeout)
poll([{fd=9, events=POLLIN}, {fd=7, events=POLLIN}], 2, 250) = 0 (Timeout)
poll([{fd=9, events=POLLIN}, {fd=7, events=POLLIN}], 2, 250) = 0 (Timeout)
poll([{fd=9, events=POLLIN}, {fd=7, events=POLLIN}], 2, 250) = 0 (Timeout)
poll([{fd=9, events=POLLIN}, {fd=7, events=POLLIN}], 2, 250) = 0 (Timeout)
poll([{fd=9, events=POLLIN}, {fd=7, events=POLLIN}], 2, 250) = 0 (Timeout)
(again and again, nothing relevant)

This kind of lines (log output) are filtered on other straces:
write(2, "24:00:07.956070566 \33[334m26625\33["..., 180) = 180

** "audiosink-ringb" process

strace -p 26662 2>&1 | grep -v 'write(2, "'

ioctl(10, 0x40184150, 0x7f8b391e3d20)   = 0
poll([{fd=10, events=POLLOUT|POLLERR|POLLNVAL}], 1, 40) = 1 ([{fd=10,
revents=POLLOUT}])
ioctl(10, 0x40184150, 0x7f8b391e3d20)   = 0
poll([{fd=10, events=POLLOUT|POLLERR|POLLNVAL}], 1, 40) = 1 ([{fd=10,
revents=POLLOUT}])
ioctl(10, 0x40184150, 0x7f8b391e3d20)   = 0
poll([{fd=10, events=POLLOUT|POLLERR|POLLNVAL}], 1, 40) = 1 ([{fd=10,
revents=POLLOUT}])
ioctl(10, 0x40184150, 0x7f8b391e3d20)   = 0
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = 0
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = 0
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = 0
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = 0
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 1
ioctl(10, 0x40184150, 0x7f8b391e3d20)   = 0
poll([{fd=10, events=POLLOUT|POLLERR|POLLNVAL}], 1, 40) = 1 ([{fd=10,
revents=POLLOUT}])
ioctl(10, 0x40184150, 0x7f8b391e3d20)   = 0
poll([{fd=10, events=POLLOUT|POLLERR|POLLNVAL}], 1, 40) = 1 ([{fd=10,
revents=POLLOUT}])
(again and again, very interesting!)

** "audiosrc-ringbu" process

strace -p 26661 2>&1 | grep -v 'write(2, "'

ioctl(11, 0x80184151, 0x7f8b399e4d10)   = 0
futex(0x1667d24, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x1667d20, {FUTEX_OP_SET, 0,
FUTEX_OP_CMP_GT, 1}) = 1
futex(0x1667ae0, FUTEX_WAKE_PRIVATE, 1) = 1
ioctl(11, 0x80184151, 0x7f8b399e4d10)   = 0
futex(0x1667d24, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x1667d20, {FUTEX_OP_SET, 0,
FUTEX_OP_CMP_GT, 1}) = 1
futex(0x1667ae0, FUTEX_WAKE_PRIVATE, 1) = 1
ioctl(11, 0x80184151, 0x7f8b399e4d10)   = 0
futex(0x1667d24, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x1667d20, {FUTEX_OP_SET, 0,
FUTEX_OP_CMP_GT, 1}) = 1
futex(0x1667ae0, FUTEX_WAKE_PRIVATE, 1) = 1
ioctl(11, 0x80184151, 0x7f8b399e4d10)   = 0
futex(0x1667d24, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x1667d20, {FUTEX_OP_SET, 0,
FUTEX_OP_CMP_GT, 1}) = 1
futex(0x1667ae0, FUTEX_WAKE_PRIVATE, 1) = 1
ioctl(11, 0x80184151, 0x7f8b399e4d10)   = 0
(again and again, nothing relevant)

** "alsasrc0:src" process

strace -p 26656 2>&1 | grep -v 'write(2, "'

futex(0x1667d24, FUTEX_WAIT_PRIVATE, 13844853, NULL) = 0
futex(0x1667ae0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1634914, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x1634910, {FUTEX_OP_SET, 0,
FUTEX_OP_CMP_GT, 1}) = 1
futex(0x1634950, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1667d24, FUTEX_WAIT_PRIVATE, 13844855, NULL) = 0
futex(0x1667ae0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1634914, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x1634910, {FUTEX_OP_SET, 0,
FUTEX_OP_CMP_GT, 1}) = 1
futex(0x1634950, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1667d24, FUTEX_WAIT_PRIVATE, 13844857, NULL) = 0
futex(0x1667ae0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1634914, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x1634910, {FUTEX_OP_SET, 0,
FUTEX_OP_CMP_GT, 1}) = 1
futex(0x1634950, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1667d24, FUTEX_WAIT_PRIVATE, 13844859, NULL) = 0
futex(0x1667ae0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1634914, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x1634910, {FUTEX_OP_SET, 0,
FUTEX_OP_CMP_GT, 1}) = 1
futex(0x1634950, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = 0
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1667d24, FUTEX_WAIT_PRIVATE, 13844861, NULL) = 0
futex(0x1667ae0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1634914, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x1634910, {FUTEX_OP_SET, 0,
FUTEX_OP_CMP_GT, 1}) = 1
futex(0x1634950, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1667d24, FUTEX_WAIT_PRIVATE, 13844863, NULL) = 0
futex(0x1667ae0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1634914, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x1634910, {FUTEX_OP_SET, 0,
FUTEX_OP_CMP_GT, 1}) = 1
futex(0x1634950, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 0
(again and again, very interesting!)

** "queue0:src" process

strace -p 26655 2>&1 | grep -v 'write(2, "'

futex(0x1634914, FUTEX_WAIT_PRIVATE, 13856123, NULL) = 0
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1634950, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1634914, FUTEX_WAIT_PRIVATE, 13856125, NULL) = 0
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1634950, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1634914, FUTEX_WAIT_PRIVATE, 13856127, NULL) = 0
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1634950, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1634914, FUTEX_WAIT_PRIVATE, 13856129, NULL) = 0
futex(0x7f8b3f7f39e0, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource
temporarily unavailable)
futex(0x7f8b3f7f39e0, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1634950, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x1634914, FUTEX_WAIT_PRIVATE, 13856131, NULL) = 0
(agian and again, very interesting!)



Why "FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily
unavailable)" ?

-- 
Configure bugmail: https://bugzilla.gnome.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 gstreamer-bugs mailing list