tech-userlevel archive

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

Re: netbsd-5 + wip/pdnsd + pthread = hang up



On Sat, Mar 21, 2009 at 10:43:14AM +0200, Aleksey Cheusov wrote:

>  >> > ktrace -i: from daemon start to recieving SIGTERM and hang up.
>  >> 
>  >> Any news? Is the problem in netbsd or pdnsd?
> 
> > Can you use "ps axs" to see what the thread is waiting on?
> 
> I sent you simple pdnsd config. Can you reproduce the problem?
> 
> Before sending SIGTERM
>  1008 19529     1 3072   5    5  85  0   2784   2216 netio    I-   ?      
> 0:00.07 /usr/pkg/sbin/pdnsd -d -p /var/run/pdnsd.pid 
>  1008 19529     1 3072   4    5  85  0   2784   2216 socket   I-   ?      
> 0:00.07 /usr/pkg/sbin/pdnsd -d -p /var/run/pdnsd.pid 
>  1008 19529     1 3072   3    5  85  0   2784   2216 socket   I-   ?      
> 0:00.07 /usr/pkg/sbin/pdnsd -d -p /var/run/pdnsd.pid 
>  1008 19529     1 3072   2    5  42  0   2784   2216 -        ZL-  ?      
> 0:00.07 /usr/pkg/sbin/pdnsd -d -p /var/run/pdnsd.pid 
>  1008 19529     1 3072   1    5  85  0   2784   2216 sigwait  I    ?      
> 0:00.07 /usr/pkg/sbin/pdnsd -d -p /var/run/pdnsd.pid 
> 
> After SIGTERM
>  1008 19529     1 3072   5    5  85  0   2784   2224 netio    I-   ?      
> 0:00.12 /usr/pkg/sbin/pdnsd -d -p /var/run/pdnsd.pid 
>  1008 19529     1 3072   4    5  85  0   2784   2224 socket   I-   ?      
> 0:00.12 /usr/pkg/sbin/pdnsd -d -p /var/run/pdnsd.pid 
>  1008 19529     1 3072   3    5  85  0   2784   2224 socket   I-   ?      
> 0:00.12 /usr/pkg/sbin/pdnsd -d -p /var/run/pdnsd.pid 
>  1008 19529     1 3072   2    5  42  0   2784   2224 -        ZL-  ?      
> 0:00.12 /usr/pkg/sbin/pdnsd -d -p /var/run/pdnsd.pid 
>  1008 19529     1 3072   1    5  85  0   2784   2224 fdclose  D    ?      
> 0:00.12 /usr/pkg/sbin/pdnsd -d -p /var/run/pdnsd.pid 

What you see is a selection of threads using the file descriptor that thread
1 is trying to close. It can't close the descriptor because there exist
active short-term references to it elsewhere in the system.

I would describe this as both a bug in the kernel, and a bug in the
application. I'll try to figure out what a good fix would be.


Home | Main Index | Thread Index | Old Index