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>