## Thursday, January 24, 2008

### A very annoying sound bug - and a workaround

Quite some time ago, I posted a bug report against ALSA because my sound would lock from time to time. No error message from any program using the sound, but they simply hang, and nothing is to be heard. I tracked the problem down to a blocking call to a semaphore operation, for all programs that were concerned. The thing was that I could not find a way to recover from this situation until the computer was rebooted, which, admittedly, is very painful. However, I found a way to do so today: you can actually kill semaphores by hand using ipcrm. If that happens, have a look in your /proc/sysvipc/sem file:

~ cat /proc/sysvipc/sem
key      semid perms      nsems   uid   gid  cuid  cgid      otime      ctime
5678293     163840   660          1  1000    29  1000  1000 1201199302 1201198890


The only semaphore listed here is the one we're interested about. Kill it with the following command-line (probably only works as root):

~ ipcrm -S 5678293


And then, magic ! Sound works again !