LINUX.ORG.RU
ФорумAdmin

Core Dumped в PHP - как победить?


1

1

При запуске одного скрипта вылетает в логах Apache

[Wed Dec 12 15:22:47 2012] [notice] child pid 18598 exit signal Segmentation fault (11)
Далее запускаем дебаг:
 
# gdb php
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-56.el6)
Copyright (C) 2010 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 "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/bin/php...done.
(gdb) run b.php
Starting program: /usr/local/bin/php b.php
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffeb976700 (LWP 19097)]
[Thread 0x7fffeb976700 (LWP 19097) exited]

Program received signal SIGSEGV, Segmentation fault.
zend_hash_exists (ht=0x31, arKey=0x13c1ed8 "empty", nKeyLength=6) at /usr/local/src/php-5.3.19/Zend/zend_hash.c:934
934             p = ht->arBuckets[nIndex];
Ага в cgi тоже креш. Значит апач тут не виновник. Тогда тоже? путем метода тыка (выключением модулей) выясняю что крех именно (собственно как говорится в дебаге) - Zend.

#php -m
[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
ereg
fileinfo
filter
ftp
gd
geoip
gettext
hash
iconv
ionCube Loader
json
libxml
mbstring
mcrypt
mhash
mysql
mysqli
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
sockets
SPL
SQLite
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
Zend Guard Loader
zip
zlib

[Zend Modules]
Zend Guard Loader
the ionCube PHP Loader
PHP 5.3.19 (cli) (built: Dec 12 2012 15:21:18) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
    with the ionCube PHP Loader v4.2.2, Copyright (c) 2002-2012, by ionCube Ltd., and
    with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies

PS: если отключить Zend Guard Loader будет выпонятся код, но нужен на сервере Zend Guard Loader.

Zend Guard Loader

это наследник Zend Optimizer-а? что то кривое, что это - по видимому - не лучше.
есть годная альтернатива - ioncube loader. вот с ним проблем не встречал, и большинство платных закодированных скриптов есть в версии как ZO, так и ioncube.

Komintern ★★★★★
()
Ответ на: комментарий от dbzer0

так оно ж только child сегфолтит, положить parent апача таким образом врядли получится.

Komintern ★★★★★
()
Ответ на: комментарий от zgen

Да, есть. 15 строк. (вылет при вызове call_user_func(atrray(...));)

Journalist
() автор топика
Ответ на: комментарий от Journalist

ну тогда переводи пыхпых в cgi и терпи периодические краши. к слову, везде где я видел пыхпых с Zend Guard - такие краши наблюдались. а победить это никак, к сожалению.

Komintern ★★★★★
()
Последнее исправление: Komintern (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.