[nas] NAS freezing up

Jon Trulson jon at radscan.com
Sun Apr 14 17:27:27 MDT 2013


On Sun, 14 Apr 2013, David Woodfall wrote:

> On (11/04/13 18:43), David Woodfall <dave at dawoodfall.net> put forth the 
> proposition:
>> On (11/04/13 15:05), David Woodfall <dave at dawoodfall.net> put forth the 
>> proposition:
>>> On (11/04/13 14:46), David Woodfall <dave at dawoodfall.net> put forth the 
>>> proposition:
>>>> On (10/04/13 08:39), Paul Fox <pgf at foxharp.boston.ma.us> put forth the 
>>>> proposition:
>>>>> erik wrote:
>>>>>> Hi,
>>>>>> 
>>>>>> On Wed, Apr 10, 2013 at 05:26:26AM +0100, David Woodfall wrote:
[...]
>> 
>> Strace log is here: http://www.dawoodfall.net/nasd/strace.log
>
> Looking at the end of that, before my term and kill signals, it also
> looks like a futex call:
>
> 17717 18:34:34 futex(0x7f5068800720, FUTEX_WAIT_PRIVATE, 2, NULL) = ?
> ERESTARTSYS (To be restarted)
>
> I'm not a C programmer, but it looks like it should restart the
> system call, and it isn't - it appears to be stuck on a
> FUTEX_WAIT_PRIVATE
>

I looked at this... Problem is, I don't know why futex is being called
here.  It (the code) blocks signals in preparation for a write() call,
but then gets stuck in the mutex for some reason.

I wish I had a solution - I just don't know why it's happening in the
first place, unless it's being specifically called in the
rt_sigprocmask() call for some reason.  That's in libc IIRC.

NAS itself uses posix (pthread) mutexes in certain cases, for
re-entrancy protection, but I just don't see why one would be called
here, right after a sigblock()...

-- 
Jon Trulson

   "I was not genomed to alter reality."
       - Sonmi 451


More information about the nas mailing list