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