PHP 4.0 Bug #10230 Updated: Apache Segmentation Fault
| From: | spud at nothingness dot org | Date: | Sun, 08 Apr 2001 07:22:19 +0000 |
| Subject: | PHP 4.0 Bug #10230 Updated: Apache Segmentation Fault | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-51134@lists.php.net to get a copy of this message | ||
ID: 10230
User Update by: spud@nothingness.org
Old-Status: Feedback
Status: Open
Bug Type: Reproduceable crash
Description: Apache Segmentation Fault
I was desperately searching for code fragments that seemed
to reproduce the problem, but I ran into it in the midst of
an EXTREMELY large object-oriented app built on top of a
full-blown generic PHP object framework...the page on which
the error was generated was parsing at least 1500 lines of
code before executing. Given that I was getting NO output
for feedback, it was impossible to tell during what segment
of execution PHP was tanking.
I've written tens of thousands of lines of PHP code, and
never ran into this problem before, so I knew it wasn't a
simple matter, and wasn't likely to be captured in a short,
self-contained script. Not much help for tracking down the
problem, I know, but it is likely that it was a case of a
whole series of events/variable declarations/parse errors
that all contributed to the crash. Altering the code in
several places at once (since most functionality was
dependant upon other functionality) was the only way I
managed to resolve the issue and stop the crashes.
Previous Comments:
---------------------------------------------------------------------------
[2001-04-08 01:54:20] sniper@php.net
It would help a lot if you would add a shortest possible
self containing script into this report which could be used
to reproduce this. And you should also try with latest CVS
snapshot from http://snaps.php.net/
--Jani
---------------------------------------------------------------------------
[2001-04-08 01:38:56] spud@nothingness.org
After careful rewriting of several code segments that
contributed to the conditions causing the crash, I appear
to have resolved the problem. I can now attribute the
circumstances to bad coding somewhere, but there was
nonetheless something un-graceful about PHP's handling of
the error. I'll leave the bug open for now in case someone
wants to look at cleaning up PHP's manner of handling the
error, but close it if appropriate.
---------------------------------------------------------------------------
[2001-04-07 20:41:24] spud@nothingness.org
While developing a complex PHP application, I wrote an
include file that generates a simple web-based form. This
include file is accessed through one of 2 different pages
(admins.php or members.php). When the file is included in
admins.php, everything works peachy. When the file is
included in members.php, the form only partially displays,
Apache generates a seg fault, and the page is never
rendered. This problem occurred on only one other script
page that I noticed.
I originally discovered this with an OS X install (on a
dual-G4, built from packages found on the web), but copied
all the relevant files to a Linux PPC machine (604e) with
different build options, and encountered the same problem
there. Then I copied the files to an OpenBSD machine, and
did NOT see the problem (which leads me to believe it may
be processor related).
I built a new version of PHP to include --enable-debug and
a few other options (gd, trans-sid), and now even MORE
pages generate seg faults, though a simple php_info() page
works fine.
I'm including below a copy of the Apache seg fault error
line, and the backtrace. Happy to allow access to php_info
upon request...
Apache's error log reads:
[Sat Apr 7 20:18:18 2001] [notice] child pid 25681 exit
signal Segmentation fault (11)
No core is dumped (Mac OS X doesn't seem to do this).
Running Apache under gdb as instructed generates this
backtrace:
#0 0x00ee7a4c in execute (op_array=0x9179b4) at ./
zend_execute.c:925
#1 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#2 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#3 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#4 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#5 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#6 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#7 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#8 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#9 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#10 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#11 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#12 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#13 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#14 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#15 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#16 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#17 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#18 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#19 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#20 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#21 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#22 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#23 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#24 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#25 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#26 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#27 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#28 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#29 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#30 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#31 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#32 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#33 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#34 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#35 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#36 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#37 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#38 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#39 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#40 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#41 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#42 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#43 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#44 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#45 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#46 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#47 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#48 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#49 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#50 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#51 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#52 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#53 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#54 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#55 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#56 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#57 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#58 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#59 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#60 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#61 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#62 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#63 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#64 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#65 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#66 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#67 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#68 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#69 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#70 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#71 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#72 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#73 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#74 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#75 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#76 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#77 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#78 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#79 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#80 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#81 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#82 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#83 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#84 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#85 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#86 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#87 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#88 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#89 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#90 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#91 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#92 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#93 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#94 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#95 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#96 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#97 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#98 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#99 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#100 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#101 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#102 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#103 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#104 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#105 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#106 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#107 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#108 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#109 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#110 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#111 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#112 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#113 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#114 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#115 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#116 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#117 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#118 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#119 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#120 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#121 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#122 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#123 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#124 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#125 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#126 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#127 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#128 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#129 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#130 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#131 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#132 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#133 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#134 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#135 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#136 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#137 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#138 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#139 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#140 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#141 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#142 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#143 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#144 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#145 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#146 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#147 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#148 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#149 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#150 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#151 0x00eebcd8 in execute (op_array=0x916fc4) at ./
zend_execute.c:1559
#152 0x00eebcd8 in execute (op_array=0x6f8e84) at ./
zend_execute.c:1559
#153 0x00eebcd8 in execute (op_array=0xa65880) at ./
zend_execute.c:1559
#154 0x00eebcd8 in execute (op_array=0x69ac94) at ./
zend_execute.c:1559
#155 0x00eebcd8 in execute (op_array=0x9179b4) at ./
zend_execute.c:1559
#156 0x00eebcd8 in execute (op_array=0xa64950) at ./
zend_execute.c:1559
#157 0x00eebcd8 in execute (op_array=0x6ff094) at ./
zend_execute.c:1559
#158 0x00eebcd8 in execute (op_array=0xa69690) at ./
zend_execute.c:1559
#159 0x00eebcd8 in execute (op_array=0xa56a54) at ./
zend_execute.c:1559
#160 0x00eee4cc in execute (op_array=0xa53144) at ./
zend_execute.c:2063
#161 0x00ed15b0 in zend_execute_scripts (type=8,
file_count=3) at zend.c:729
#162 0x00f1fcf0 in php_execute_script (primary_file=
0xbffff698) at main.c:1221
#163 0x00f1b9b8 in apache_php_module_main (r=0xa4e9a4,
display_source_mode=0) at sapi_apache.c:89
#164 0x00f1988c in send_php (r=0xa4e9a4,
display_source_mode=0, filename=0xa505dc "/Library/
WebServer/Documents/spud/members.php") at mod_php4.c:516
#165 0x00f198dc in send_parsed_php (r=0xa4e9a4) at
mod_php4.c:527
#166 0x0000cab4 in ap_invoke_handler ()
#167 0x00016b0c in process_request_internal ()
#168 0x00016b88 in ap_process_request ()
#169 0x000062d4 in child_main ()
#170 0x00006490 in make_child ()
#171 0x000065fc in startup_children ()
#172 0x00006c00 in standalone_main ()
#173 0x00007484 in main ()
#174 0x0000265c in _start ()
#175 0x0000249c in start ()
#176 0x00001000 in ?? ()
---------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view the rest of the comments,
please view the bug report online.
Full Bug description available at: http://bugs.php.net/?id=10230