ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

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

Re: FW: sparc64(ultraT1)+Gentoo+nginx



On Sat, Apr 19, 2008 at 08:56:18PM +0400, Stanslav hidden wrote:

> Имеется такая связка sparc64(ultraT1)+Gentoo+nginx ещё плюс работает php в c 
> php-fpm. Примерно раз из 10 при запросе любого пхп скрипта портится начало 
> файла. Пробовал вынести nginx на др. сервер, но использовать fastcgi который 
> находится на sparc64 - в этом случае никаких проблем нет. Заметил, что если 
> использовать метод rtsig, то в этом случае вроде бы всё тоже работает 
> нормально, но читал что этот метод не подходит для высоконагруженных 
> проектов. Пробовал другие методы poll, select с ними такие же проблемы как и 
> с epoll.
> Когда страница выдаётся испорченной, то в еррор лог пишется:
> 
> *** glibc detected *** nginx: worker process: free(): invalid pointer: 
> 0x0009ed70 ***
> 2008/04/19 20:51:00 [notice] 6681#0: signal 20 (SIGCHLD) received
> 2008/04/19 20:51:00 [alert] 6681#0: worker process 6752 exited on signal 6
> 2008/04/19 20:51:00 [notice] 6681#0: start worker process 6774
> 2008/04/19 20:51:00 [notice] 6681#0: signal 23 (SIGIO) received
> 2008/04/19 20:51:01 [notice] 6681#0: signal 20 (SIGCHLD) received
> 2008/04/19 20:51:01 [alert] 6681#0: worker process 6754 exited on signal 10
> 2008/04/19 20:51:01 [notice] 6681#0: start worker process 6775
> 2008/04/19 20:51:01 [notice] 6681#0: signal 23 (SIGIO) received
> *** glibc detected *** nginx: worker process: double free or corruption 
> (!prev): 0x0008ca50 ***
> 2008/04/19 20:52:16 [notice] 6681#0: signal 20 (SIGCHLD) received
> 2008/04/19 20:52:16 [alert] 6681#0: worker process 6756 exited on signal 6
> 2008/04/19 20:52:16 [notice] 6681#0: start worker process 6776
> 2008/04/19 20:52:16 [notice] 6681#0: signal 23 (SIGIO) received

Нужно создать каталог, чтобы nginx мог туда писать.
Затем указать его в директиве

working_directory  /path/to/dir;

и добавить

worker_rlimit_core   1024m;

http://sysoev.ru/nginx/docs/ngx_core_module.html#working_directory
http://sysoev.ru/nginx/docs/ngx_core_module.html#worker_rlimit_core

Насколько я понимаю, этого должно быть достаточно, чтобы по сигналам
создавались coredump'ы.

Нужно убедится, что nginx собран с отладочной информацией:

file nginx
..., not stripped

После этого нужно

gdb /path/to/nginx /path/to/core
bt
q

и прислать вывод мне.


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



 




Copyright © Lexa Software, 1996-2009.