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