[nas] nasd outputs only part of a sample, client stalls -- exceptunder strace

Erik Auerswald auerswal at unix-ag.uni-kl.de
Mon Sep 3 09:28:02 MDT 2007


Hi,

On Sun, Sep 02, 2007 at 08:24:18PM -0600, Jon Trulson wrote:
> On Sun, 2 Sep 2007, Erik Auerswald wrote:
> >On Mon, Jul 23, 2007 at 08:54:00AM -0400, mmurray wrote:
> >>
> >>To the best of my reasoning, the SIGALRM is being lost in a race
> >>somewhere.
> >
> >This seems to be correct -- sending a SIGALRM to nasd whenever the
> >playback hangs results in continued playback.
> >
> 
>   Ok.  Attached is a patch that reworks the signal handling in the
>   voxware server.  I do not have a spare machine to test the newer
>   kernels on, so I have no idea if this will affect the problem you
>   guys are seeing.

This patch does not affect the lost SIGALRM, the observable behaviour is
the same as with the current svn revision: nasd hangs after a while and
resumes after receiving a SIGALRM.

>   I do believe it (the patch) to be the correct way of doing it
>   though.  In addition, DIA dispatch is now able to properly block the
>   appropriate signal when it needs to, which it couldn't before
>   (requiring the racy block/unblocks in intervalProc).  Make sure dia/
>   gets rebuilt as well after applying this patch. Or just do a 'make
>   World' to be sure :)

The patch seems to be correct to me, but I have no experience in signals
programming.

>   Let me know if this corrects anything (and especially if it breaks
>   anything).  I'll wait before committing until I get some kind of
>   feedback.

AFAIK it does not break anything and it sure looks cleaner to me.

Erik



More information about the Nas mailing list