Bug #2243: Segfault when a PHP file virtual()s another
| From: | Ken dot Coar at Golux dot COm | Date: | Mon, 06 Sep 1999 05:20:04 +0000 |
| Subject: | Bug #2243: Segfault when a PHP file virtual()s another | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-10598@lists.php.net to get a copy of this message | ||
From: Ken.Coar@Golux.COm
Operating system: RH5.2 Linux 2.0.36
PHP version: 3.0 Latest CVS (06/09/1999)
PHP Bug Type: Reproduceable crash
Bug description: Segfault when a PHP file virtual()s another
PHP 3.0.13-dev, Apache 1.3.10-dev, MySQL support configured.
If a PHP file uses virtual() to include another via a subrequest,
it will either throw an error ('Cannot include a PHP file') or else
segfault. (The behaviour depends upon how PHP file recognition
is configured; I have a fix.)
Here is a backtrace from the core file:
#0 0x400a778d in __libc_free (mem=0x80d3438) at malloc.c:2861
#1 0x40292cbd in _efree (ptr=0x80d3448) at alloc.c:173
#2 0x4028d1b6 in _php3_hash_destroy (ht=0x40307980) at php3_hash.c:683
#3 0x402cacaa in phpparse () at control_structures_inline.h:956
#4 0x4028c012 in php3_parse (yyin=0x80c93b8) at main.c:1554
#5 0x4028c2f0 in apache_php3_module_main (r=0x80c6c14, fd=32,
display_source_mode=0, preprocessed=0) at main.c:1935
#6 0x4028961f in send_php3 (r=0x80c6c14, display_source_mode=0,
preprocessed=0, filename=0x80c76a4 "/home/coar/web/served/virtual1.phtml")
at ./mod_php3.c:245
#7 0x40289686 in send_parsed_php3 (r=0x80c6c14) at ./mod_php3.c:261
#8 0x8051bba in ap_invoke_handler (r=0x80c6c14) at http_config.c:508
#9 0x805edb1 in process_request_internal (r=0x80c6c14) at http_request.c:1214
#10 0x805edff in ap_process_request (r=0x80c6c14) at http_request.c:1230
#11 0x8059238 in child_main (child_num_arg=0) at http_main.c:4035
#12 0x80593ee in make_child (s=0x8091db4, slot=0, now=936594966)
at http_main.c:4194
#13 0x805945b in startup_children (number_to_start=5) at http_main.c:4221
#14 0x80598f6 in standalone_main (argc=1, argv=0xbffffcb0) at http_main.c:4509
#15 0x8059fc3 in main (argc=1, argv=0xbffffcb0) at http_main.c:4830
Let me know if there's more information I can provide..