Неожиданно начал падать apache

tony2001

TeaM PHPClub
Проверил на bugs.php.net руководство по генерации бэктрэйса, поискал на странице "cont", не нашел.
Откуда ты взял, что надо cont писать? И зачем?
Мне бэктрэйс нужен, а не продолжать выполнение, там же написано - bt или backtrace.
А весь остальной вывод - это мусор, мне он не нужен.
http://bugs.php.net/bugs-generating-backtrace.php - тут даже пример бэктрэйса есть.
 

tony2001

TeaM PHPClub
craz
не надо мешать и сбивать его с толку, он и так достаточно запутался.
тем более, что он внятно объяснил, что получить reproduce case у него не выходит.
 

tony2001

TeaM PHPClub
вот это самое плохое.. бэктрэйс, который показывает, что оно падает при шатдауне.
т.е. что-то где-то не так раньше, а падает оно только в конце запроса.
в этой сессии gdb набери "f 34", а потом "p *r", потом "p r->filename", посмотрим хоть какой файл запрашивался.
 

fixxxer

К.О.
Партнер клуба
Drakon

А точно все модули отключены?

Я на такую фигню наталкивался уже много раз, и всегда виной был Zend Optimizer или акселератор.

Если нет, можно попробовать погонять с отключенным zend memory manager (я только хз, как его отрубить для mod_php5) - есть шансы, что в этом случае повреждение памяти будет не "отложено".
 

tony2001

TeaM PHPClub
отличная мысль, Фикс.

по идее достаточно export USE_ZEND_ALLOC=0 в консоли и потом из нее же стартовать апач.
 

Drakon

Новичок
Код:
# export USE_ZEND_ALLOC=0
5346 modules # gdb /usr/sbin/apache2

warning: Can not parse XML syscalls information; XML support was disabled at compile time.
GNU gdb (Gentoo 7.0.1 p1) 7.0.1
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/sbin/apache2...(no debugging symbols found)...done.
(gdb) run -D PHP5 -d /usr/lib/apache2 -f /etc/apache2/httpd.conf -X -k start
Starting program: /usr/sbin/apache2 -D PHP5 -d /usr/lib/apache2 -f /etc/apache2/httpd.conf -X -k start
[Thread debugging using libthread_db enabled]


Program received signal SIGSEGV, Segmentation fault.
0x00127669 in apr_pool_create_ex () from /usr/lib/libapr-1.so.0
(gdb) 
(gdb) bt
#0  0x00127669 in apr_pool_create_ex () from /usr/lib/libapr-1.so.0
#1  0x0830fd4c in ?? ()
#2  0x08306580 in ?? ()
#3  0x00000164 in ?? ()
#4  0x080779a2 in ap_core_output_filter ()
#5  0x08752d98 in ?? ()
Но ждать ошибку пришлось довольно долго.... Вообщем ничего непонятно.
 

tony2001

TeaM PHPClub
это какая-то фигня, а не бэктрэйс.
там даже PHP не упоминается.
 

Drakon

Новичок
Проблема ушла.
То-ли из-за того, что я обновил APR (Apache Portable Runtime Library)... То-ли что-то на хостинге сделали, они как раз днём ответили на запрос, а ночью уже всё нормализовалось.
 
Сверху