#23760 [Opn->WFx]: using virtual() causes segmentation faults
| From: | sniper@php.net | Date: | Sat, 24 May 2003 01:53:23 +0000 |
| Subject: | #23760 [Opn->WFx]: using virtual() causes segmentation faults | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-40325@lists.php.net to get a copy of this message | ||
ID: 23760
Updated by: sniper@php.net
Reported By: php-general at pennysaverusa dot net
-Status: Open
+Status: Wont fix
-Bug Type: Reproducible crash
+Bug Type: Apache related
Operating System: RedHat 7.3
PHP Version: 4.3.2RC4
New Comment:
FYI: Using virtual() for this is absolutely useless, you really should
be using include(). And as manual says:
"virtual() cannot be used to include a document which is itself a PHP
file."
As otherwise the results are unpredictable..
(I didn't get any crash anyway)
Previous Comments:
------------------------------------------------------------------------
[2003-05-23 20:38:23] php-general at pennysaverusa dot net
OK.
To reproduce this,
please download:
http://www2.pennysaverusa.com/barry/virtual_php_crash.tgz
Tested on RC3 and RC4 and php4-STABLE-200305222330
all segfault.
Notes:
1 unset session variable is _not_ enough to trigger the crash. 2
variables seems to be sufficient on my server.
The head and footer files are plain html. I named them with .php out of
habit. With .txt, it does not crash.
I know php won't (or at least shouldn't) parse them as php when using
virtual, so I see no reasonable excuse for it to crash.
As I mentioned before, with DBG enabled or disabled, it still
segfaults.
Thanks,
Barry Gould
------------------------------------------------------------------------
[2003-05-22 16:18:24] sniper@php.net
Please provide a complete, self-contained script(s) so we can try and
reproduce this ourselves.
------------------------------------------------------------------------
[2003-05-22 15:56:07] php-general at pennysaverusa dot net
After making a mistake (forgetting to set a session variable), one of
my pages started crashing apache ("child pid 7413 exit signal
Segmentation fault (11)" in apache error log).
After a lot of hair-pulling, it turns out that changing a virtual()
statement to an include() statement fixes the segfaulting. There is no
PHP code in the included file, only html & client-side JS.
This is the error that _should_ display if it doesn't segfault:
Notice: Undefined index: product in
/var/www/html/mercury/order_review.php on line 122
line 122:
<?=$_SESSION["product"];?>
I tried using DBG, but it still segfaults!
This happens in 4.3.2RC4 and RC3
Configure command:
./configure --with-mysql --with-gd --with-zlib-dir=/usr/lib
--with-apxs=/usr/sbin/apxs --with-config-file-path=/etc
--enable-sockets
mysql is version 4.0.12 (mysql Ver 12.18 Distrib 4.0.12, for pc-linux
(i686))
I tried following the backtrace instructions, but I am unable to get a
core dump, and running inside of gdb doesn't seem to let me hit the
webserver.
Server is SMP (Dual P4 Xeon).
Apache is
apache-1.3.27-2 from RedHat's RPM.
/usr/sbin/httpd -DHAVE_ACCESS -DHAVE_PROXY -DHAVE_AUTH_ANON
-DHAVE_ACTIONS -DHAVE_ALIAS -DHAVE_ASIS -DHAVE_AUTH -DHAVE_AUTOINDEX
-DHAVE_AUTH_DB -DHAVE_AUTH_DBM -DHAVE_PHP4 -DHAVE_CERN_META -DHAVE_CGI
-DHAVE_DIGEST -DHAVE_DIR -DHAVE_ENV -DHAVE_EXAMPLE -DHAVE_EXPIRES
-DHAVE_HEADERS -DHAVE_IMAP -DHAVE_INCLUDE -DHAVE_INFO -DHAVE_LOG_AGENT
-DHAVE_LOG_CONFIG -DHAVE_LOG_REFERER -DHAVE_MIME -DHAVE_MIME_MAGIC
-DHAVE_MMAP_STATIC -DHAVE_NEGOTIATION -DHAVE_REWRITE -DHAVE_SETENVIF
-DHAVE_SPELING -DHAVE_STATUS -DHAVE_UNIQUE_ID -DHAVE_USERDIR
-DHAVE_USERTRACK -DHAVE_VHOST_ALIAS -DHAVE_SSL
Thanks,
Barry Gould
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=23760&edit=1