Bug#400268: [Pkg-alsa-devel] Bug#400268: Possible race condition on
semaphores ?
Andrew Moise
chops at demiurgestudios.com
Sat Jan 13 06:15:59 UTC 2007
I just saw this as well. Playing movies for me, with xine and
mplayer both, hangs instead of playing the movie, with a backtrace
ending up in semop(). strace output from the offending process shows:
open("/lib/tls/i686/cmov/libnss_files.so.2", O_RDONLY) = 6
read(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\33"..., 512) = 512
fstat64(6, {st_mode=S_IFREG|0644, st_size=38372, ...}) = 0
mmap2(NULL, 41620, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6,
0) = 0xb65a8000
mmap2(0xb65b1000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x8) = 0xb65b1000
close(6) = 0
munmap(0xb65c6000, 56666) = 0
open("/etc/group", O_RDONLY) = 6
fcntl64(6, F_GETFD) = 0
fcntl64(6, F_SETFD, FD_CLOEXEC) = 0
_llseek(6, 0, [0], SEEK_CUR) = 0
fstat64(6, {st_mode=S_IFREG|0644, st_size=919, ...}) = 0
mmap2(NULL, 919, PROT_READ, MAP_SHARED, 6, 0) = 0xb7f1f000
_llseek(6, 919, [919], SEEK_SET) = 0
munmap(0xb7f1f000, 919) = 0
close(6) = 0
semget(5678293, 1, IPC_CREAT|0660) = 7700487
semctl(7700487, 0, IPC_64|IPC_STAT, 0xbfe1c558) = 0
semctl(7700487, 0, IPC_64|IPC_SET, 0xbfe1c558) = -1 EPERM (Operation
not permitted)
semop(7700487, 0xbfe1c722, 2 <unfinished ...>
... which is where the hang occurs.
My kernel version is 2.6.18-3.
This is on an i386 machine.
I'm not using any strange alsa drivers, just the standard ones that
came with sid (libasound2 1.0.13-1).
'sudo lsof | grep snd' showed /dev/snd/controlC0 still open by a
stray amarokapp process (amarokapp should have been closed for more
than a week) -- killing amarokapp didn't help anything, though. I
still get the hang.
I can compile a debugging version of libasound2, or try to track
down exact reproduction information, if you think that'll help.
More information about the Pkg-alsa-devel
mailing list