Comment 2 for bug 591003

Revision history for this message
Christoph-D (eigene-homepage) wrote :

I'm also affected by this bug. I noticed it with mplayer in Ubuntu 10.04:

$ strace mplayer test.mp3
...
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x240c0d4, FUTEX_WAIT_REQUEUE_PI_PRIVATE, 5, NULL, 0x23f68f0) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x240c0d4, FUTEX_WAIT_PRIVATE, 5, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x240c0d4, FUTEX_WAIT_REQUEUE_PI_PRIVATE, 7, NULL, 0x23f68f0) = 0
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x240c0d4, FUTEX_WAIT_REQUEUE_PI_PRIVATE, 9, NULL, 0x23f68f0) = 0
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x240c0d4, FUTEX_WAIT_REQUEUE_PI_PRIVATE, 11, NULL, 0x23f68f0) = 0
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x240c0d4, FUTEX_WAIT_REQUEUE_PI_PRIVATE, 13, NULL, 0x23f68f0) = 0
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x240c0d4, FUTEX_WAIT_REQUEUE_PI_PRIVATE, 15, NULL, 0x23f68f0) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x240c0d4, FUTEX_WAIT_PRIVATE, 15, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x240c0d4, FUTEX_WAIT_REQUEUE_PI_PRIVATE, 17, NULL, 0x23f68f0) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x240c0d4, FUTEX_WAIT_PRIVATE, 17, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x240c0d4, FUTEX_WAIT_REQUEUE_PI_PRIVATE, 19, NULL, 0x23f68f0) = 0
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x240c0d4, FUTEX_WAIT_REQUEUE_PI_PRIVATE, 21, NULL, 0x23f68f0) = 0
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x240c0d4, FUTEX_WAIT_REQUEUE_PI_PRIVATE, 23, NULL, 0x23f68f0) = 0
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x240c0d4, FUTEX_WAIT_REQUEUE_PI_PRIVATE, 25, NULL, 0x23f68f0) = 0
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x240c0d4, FUTEX_WAIT_REQUEUE_PI_PRIVATE, 27, NULL, 0x23f68f0) = 0
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x240c0d4, FUTEX_WAIT_REQUEUE_PI_PRIVATE, 29, NULL, 0x23f68f0) = 0
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x240c0d4, FUTEX_WAIT_REQUEUE_PI_PRIVATE, 31, NULL, 0x23f68f0) = 0
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x240c0d4, FUTEX_WAIT_REQUEUE_PI_PRIVATE, 33, NULL, 0x23f68f0) = 0
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
write(5, "W", 1) = 1
futex(0x23f68f0, FUTEX_UNLOCK_PI_PRIVATE, 0) = 0
futex(0x7f4f6fb889e0, FUTEX_WAIT, 31962, NULL) = 0
close(6) = 0
munmap(0x7f4f6fb89000, 67112960) = 0
unlink("/dev/shm/pulse-shm-2494398010") = 0
close(4) = 0
close(5) = 0
write(1, "\nExiting... (End of file)\n", 26
Exiting... (End of file)
) = 26
getpid() = 31961
munmap(0x7f4f851f2000, 212992) = 0
exit_group(0) = ?

mplayer waits a little more than 2 seconds after the mp3 file ends. While mplayer hangs, it calls futex(...) repeatedly according to strace, but nothing else.

For me it also breaks every other application that uses mplayer internally to play small sound files, in particular the program "Anki". Well, not exactly "breaks", that's too harsh. It all works, but it's slightly annoying to unecessarily wait 2 seconds after every sound file. This has never happened on Ubuntu 9.10.

According to lspci, my audio controller is:
00:1b.0 Audio device: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller
It's an on-board soundchip, nothing special.