Re: nginx застрял в sched_yield()

Igor Sysoev igor на sysoev.ru
Чт Мар 31 18:53:26 MSD 2011


On Thu, Mar 31, 2011 at 06:50:33PM +0400, Denis F. Latypoff wrote:
> 31.03.2011, 18:46, "Igor Sysoev" <igor at sysoev.ru>:
> > On Thu, Mar 31, 2011 at 06:00:02PM +0400, Denis F. Latypoff wrote:
> >
> >>  31.03.2011, 16:30, "Maxim Dounin" <mdounin at mdounin.ru>;:
> >>>  Hello!
> >>>
> >>>  On Thu, Mar 31, 2011 at 04:44:41AM +0400, Denis F. Latypoff wrote:
> >>>>   Здрасьте, наконец-то отловил его, уже такое бывало, но
> >>>>   на продакшене, по этому не получалось бэктрейс глянуть, надо было
> >>>>   быстро все починить. Проявляется при HUP'е:
> >>>>
> >>>>   (gdb) bt
> >>>>   #0  0x0000003744abac77 in sched_yield () from /lib64/libc.so.6
> >>>>   #1  0x0000000000413667 in ngx_spinlock (lock=0x2b1216ba3000, value=14637,
> >>>>       spin=1024) at src/core/ngx_spinlock.c:39
> >>>  fr 1
> >>>  p ngx_ncpu
> >>>  p *lock
> >>>
> >>>  Последнее напечатает pid процесса, про него тоже желательно узнать
> >>>  подробности.
> >>  (gdb) fr 1
> >>  #1  0x0000000000413667 in ngx_spinlock (lock=0x2b1216ba3000, value=14637,
> >>      spin=1024) at src/core/ngx_spinlock.c:39
> >>  39              ngx_sched_yield();
> >>  (gdb) p ngx_ncpu
> >>  $3 = 1
> >>  (gdb) fr 1
> >>  #1  0x0000000000413667 in ngx_spinlock (lock=0x2b1216ba3000, value=14637,
> >>      spin=1024) at src/core/ngx_spinlock.c:39
> >>  39              ngx_sched_yield();
> >>  (gdb) p ngx_ncpu
> >>  $4 = 1
> >>  (gdb) p *lock
> >>  $5 = 15792
> >
> > А что показывает
> > ps ax -o pid,ppid,%cpu,vsz,wchan,command|egrep '(nginx|PID)'
> 
> [root at gostats ~]# ps ax -o pid,ppid,%cpu,vsz,wchan,command|egrep '(nginx|PID)'
>   PID  PPID %CPU    VSZ WCHAN  COMMAND
> 14635 23330  0.0 166264 -      nginx: worker process
> 14636 23330  0.0 166264 -      nginx: worker process
> 14637 23330 12.7 153904 -      nginx: cache manager process
> 23330     1  0.0 153904 rt_sig nginx: master process /opt/nginx/sbin/nginx
> 31627  9617  0.0  61180 pipe_w egrep (nginx|PID)

То есть, процесса 15792 нет ?
А в error_log про него есть что-нибудь ?


-- 
Igor Sysoev
http://sysoev.ru/en/



Подробная информация о списке рассылки nginx-ru