apache - PHP programming seg fault -
i've been programming site using:
- zend framework 1.11.5 (complete mvc)
- php 5.3.6
- apache 2.2.19
- centos 5.6 i686 virtuozzo on vps
- cpanel whm 11.30.1 (build 4)
- mysql 5.1.56-log
- mysqli api 5.1.56
suddenly doing few "show create table" query mysql, got this.
[wed jul 20 17:35:23 2011 ] [notice] eaccelerator(5827): php crashed on opline 138 of fetch_fields() @ /usr/lib/php/zend/db/statement/mysqli.php:235
i've tried disabling eaccelerator without success
[wed jul 20 17:45:34 2011] [warn] [client 190.78.208.30] (104)connection reset peer: mod_fcgid: error reading data fastcgi server [wed jul 20 17:45:34 2011] [error] [client 190.78.208.30] premature end of script headers: index.php [wed jul 20 17:45:34 2011] [error] mod_fcgid: process /usr/local/cpanel/cgi-sys/php5(11562) exit(communication error), unexpected signal 11 [wed jul 20 17:45:34 2011] [warn] [client 190.78.208.30] (104)connection reset peer: mod_fcgid: error reading data fastcgi server [wed jul 20 17:45:34 2011] [error] [client 190.78.208.30] premature end of script headers: index.php
the problematic line this: $row = $db->fetchrow("show create table 222afi ");. if return before executes, goes fine. $db instance of zend_db_adapter_mysqli. worst part is not deterministic. program can pass times , others not. won't pass line without crashing php.
<?php class admin_dbcontroller extends controller_basecontroller { /** * */ public function updatesqldefinitionsaction() { $db = zend_registry::get('db'); $row = $db->fetchrow("show create table 222afi"); } } ?>
i haven't written internals@lists.php.net because haven't https://bugs.php.net/bugs-generating-backtrace.php. may dumb, tried recompiling apache "--enable-debug", (this production server). "php apache module: run httpd -x, , access script crashes php" part don't working. server tells me port 80 being used.
can give me advice? if i'm doing mad, @ least other options?
i can try recompile apache @ midnight, it'd great know won't break anything. how see important me.
edit:
i got compile php --enable-debug. weird, not crashing do. it's hard, of 20 attempts maybe 1 crashes. , if start apache -x, it's harder php crashing because httpd takes long respond.
edit2:
even if it's after 20 attempts, can make crash if start httpd without -x flag. emulated script initializes $_server variables make zend believe it's being called through browser. when execute script "php crash.php" many times (like 50) goes normal. i'm starting believe has php re-used processes. i'm running apache mod_fcgi and:
server version: apache/2.2.19 (unix) server built: jul 20 2011 19:18:58 cpanel::easy::apache v3.4.2 rev9999 server's module magic number: 20051115:28 server loaded: apr 1.4.5, apr-util 1.3.12 compiled using: apr 1.4.5, apr-util 1.3.12 architecture: 32-bit server mpm: prefork threaded: no forked: yes (variable process count) server compiled with.... -d apache_mpm_dir="server/mpm/prefork" -d apr_has_sendfile -d apr_has_mmap -d apr_have_ipv6 (ipv4-mapped addresses enabled) -d apr_use_sysvsem_serialize -d apr_use_pthread_serialize -d single_listen_unserialized_accept -d apr_has_other_child -d ap_have_reliable_piped_logs -d dynamic_module_limit=128 -d httpd_root="/usr/local/apache" -d suexec_bin="/usr/local/apache/bin/suexec" -d default_pidlog="logs/httpd.pid" -d default_scoreboard="logs/apache_runtime_status" -d default_lockfile="logs/accept.lock" -d default_errorlog="logs/error_log" -d ap_types_config_file="conf/mime.types" -d server_config_file="conf/httpd.conf"
please take @ https://bugs.php.net/bug.php?id=55414, got it. partial solution better implemented mine.
Comments
Post a Comment