[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: pbbuttonsd new problems - Problem solved

Am Mittwoch, 14. Juli 2004 20:12 schrieb Matthias Grimm:

In the last time a lot of error reports arrived that pbbuttonsd would crash 
from time to time on new 2.6 kernels. The phenomenon occoured after
triggering sleep. In some cases the machine continue to work and pbbuttonsd 
didn't react at all. It hanged.

This problem was difficult to track because the phenomenon was not 
deterministic and could only be reproduced by chance.

But now I got it. To my regret it is a bug in pbbuttonsd. :-(

The problem occour in conjunction with ALSA and is not limited to kernel 2.6.
Since Kernel 2.6 ALSA is official part of the kernel and many people uses 
kernel 2.6 together with ALSA (so am I) so the problem occours more often on 
this platform.

As quick sollution I attached a patch for pbbuttonsd 0.6.2 to this mail. Unzip 
it to your pbbuttonsd 0.6.2 source directory, change to this direchtory and 
                        patch -p1 <pbbuttonsd-0.6.2_1.patch
After compiling and installing the problem should not occour again. An 
official release will follow after some additional test time. Look for it on 
sourceforge.net because my web site is currently off-line until I moved it to 
a new home, sorry. My web host has quited.

Due to an error in the ossmixer module the mixer device could remain open 
after first use (usually changing the volume with hotkeys). Normally 
pbbuttonsd opens the mixer device only as long as it would be needed. After a 
sleep request pbbuttonsd started the pmcs script and this script 
launched /etc/apm/alsa on systems using ALSA. This script sent a uncatchable 
stop signal to all processes that uses a sound device. If the mixer device 
was still open the script /etc/apm/alsa would stop pbbuttonsd. The script 
ends normally but the daemon hangs. Sleep mode would not be triggered 
anymore. The problem was so difficuil to hunt down because certain conditions 
must come together. First pbbuttonsd had to run as daemon, Alsa including the 
script /etc/apm/alsa had to be installed on the system, the pmcs-script 
'apm-compat' had to be active and the volume had to be adjusted with the 
hotkeys. If all this conditions come true and sleep was triggered (with key, 
cover or timer) pbbuttonsd would crash and the machine wouldn't go to sleep.

That was a lot of explanations and I will finish now. Have a nice weekend, I 
will :-)

  Best Regards

Attachment: pbbuttonsd-0.6.2_1.patch.gz
Description: GNU Zip compressed data

Reply to: