worker process 7035 exited on signal 11 (core dumped)

Igor Sysoev is at rambler-co.ru
Tue Aug 28 23:54:09 MSD 2007


On Tue, Aug 28, 2007 at 11:28:31PM +0400, Alexey Rymonin wrote:

> >> Current function is ngx_devpoll_process_events
> >>   406           if (c->fd == -1) {
> >> (dbx) gdb on                                                                 
> >> (dbx) p events
> >> events = 2
> >> (dbx) p i     
> >> i = 1
> >> (dbx) p event_list[i]
> >> event_list[i] = {
> >>     fd      = 29
> >>     events  = 1
> >>     revents = 1
> >> }
> >> (dbx) p ngx_cycle->files[event_list[i].fd]
> >> ngx_cycle->files[event_list[i].fd] = (nil)
> 
> IS> p n 
> IS> p change_list[0]
> IS> p change_list[1]
> IS> p change_list[2]
> 
> (dbx) p n
> n = 59821U
> (dbx) p change_list[0]       
> change_list[0] = {
>     fd      = 28
>     events  = 2048
>     revents = 0
> }
> (dbx) p change_list[1]
> change_list[1] = {
>     fd      = 29
>     events  = 2048
>     revents = 0
> }
> (dbx) p change_list[2]
> change_list[2] = {
>     fd      = 26
>     events  = 2048
>     revents = 0
> }

В данном случае нельзя утверждать наверняка (это можно было бы при наличии
отладочного лога, но, боюсь, его трудно будет включить на нагрузке), но
у меня есть подозрение, что SUN опять облажался. На этот раз со старым
проверенным интерфейсом /dev/poll.

Значение n уже потеряно, но если change_list[1] относится к текущей
итерации, то это означает, что nginx удалил (2048 - POLLREMOVE) дескриптор
29 из /dev/poll, и поставил NULL в ngx_cycle->files[29], а /dev/poll всё
равно вернул событие для этого дескриптора.

А что показывают

p change_list[3]
p change_list[4]
p change_list[5]
p change_list[6]
p change_list[7]

?


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list