Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jan 2012 08:06:30 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-hackers@freebsd.org
Cc:        Ivan Voras <ivoras@freebsd.org>, davidxu@freebsd.org
Subject:   Re: sem(4) lockup in python?
Message-ID:  <201201110806.30620.jhb@freebsd.org>
In-Reply-To: <jejrbe$or8$1@dough.gmane.org>
References:  <jejrbe$or8$1@dough.gmane.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday, January 11, 2012 6:21:18 am Ivan Voras wrote:
> The lang/python27 port can optionally be built with the support for 
> POSIX semaphores - i.e. sem(4). This option is labeled as experimental 
> so it may be that the code is simply incorrect. I've tried it and get 
> frequent hangs with the python process in the "usem" state. The kernel 
> stack is as follows and looks reasonable:
> 
> # procstat -kk 19008
>    PID    TID COMM             TDNAME           KSTACK 
> 
> 19008 101605 python           -                mi_switch+0x174 
> sleepq_catch_signals+0x2f4 sleepq_wait_sig+0x16 _sleep+0x269 
> do_sem_wait+0xa19 __umtx_op_sem_wait+0x51 amd64_syscall+0x450 
> Xfast_syscall+0xf7
> 
> The process doesn't react to SIGINT or SIGTERM but fortunately reacts to 
> SIGKILL.
> 
> This could be an error in Python code but OTOH this code is not 
> FreeBSD-specific so it's unlikely.

This is using the new umtx-based semaphore code that David Xu wrote.  He is
probably the best person to ask (cc'd).

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201110806.30620.jhb>