ID:               23760
 Updated by:       [EMAIL PROTECTED]
 Reported By:      php-general at pennysaverusa dot net
-Status:           Wont fix
+Status:           Open
-Bug Type:         Apache related
+Bug Type:         Documentation problem
 Operating System: RedHat 7.3
 PHP Version:      4.3.2RC4
 New Comment:

What sniper says is not in line with the current manual. The current
manual says that as of PHP 4.0.6 virtual() can be used on PHP files. So
the manual is not correct I assume. Changing this to be a doc problem.


Previous Comments:
------------------------------------------------------------------------

[2003-05-27 13:43:18] php-general at pennysaverusa dot net

I am aware of that.

However, this was not a PHP file. It is merely an html file with a .php
extension.

There is no good reason for it to segfault.

If the policy is that .php files will not be loaded with virtual, then
DON'T LOAD IT. GIVE AN ERROR. DON'T RANDOMLY CRASH.

Random crashes are inexcusable. At least try to make the software
idiot-proof. Give the idiot an error or warning message.

At least, the documentation for virtual should mention this problem if
it's not going to be fixed.

Thank you,
Barry Gould

------------------------------------------------------------------------

[2003-05-23 20:53:22] [EMAIL PROTECTED]

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)


------------------------------------------------------------------------

[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] [EMAIL PROTECTED]

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


-- 
PHP Documentation Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to