ID: 35940
User updated by: cristic at interaktonline dot com
Reported By: cristic at interaktonline dot com
-Status: Feedback
+Status: Open
Bug Type: Apache related
Operating System: Windows XP
PHP Version: 5CVS-2006-01-09 (snap)
New Comment:
I don't know if this is correct but here is what appears into the call
stack window:
> php5ts.dll!zend_get_executed_lineno(void * * *
tsrm_ls=0x015ee1a0)
Line 367 + 0x2 bytes C
php5ts.dll!zend_error(int type=2, const char * format=0x00a60e3c,
...) Line 930 + 0x8 bytes C
php5ts.dll!sapi_header_op(int op=0, void * arg=0x0175fa00, void * * *
tsrm_ls=0x015ee1a0) Line 533 + 0xf bytes C
php5ts.dll!zif_header(int ht=1, _zval_struct *
return_value=0x013c2d98, _zval_struct * * return_value_ptr=0x00000000,
_zval_struct * this_ptr=0x00000000, int return_value_used=0, void * * *
tsrm_ls=0x015ee1a0) Line 49 + 0x17 bytes C
php5ts.dll!zend_do_fcall_common_helper_SPEC(_zend_execute_data *
execute_data=0x0175fa98, void * * * tsrm_ls=0x015ee1a0) Line 192 +
0x35 bytes C
php5ts.dll!ZEND_DO_FCALL_SPEC_CONST_HANDLER(_zend_execute_data *
execute_data=0x00000000, void * * * tsrm_ls=0x015ee1a0) Line 1587 +
0xe bytes C
php5ts.dll!execute(_zend_op_array * op_array=0x00000000, void * * *
tsrm_ls=0x00000000) Line 92 + 0xc bytes C
msvcrt.dll!77c39f8e()
[Frames below may be incorrect and/or missing, no symbols loaded for
msvcrt.dll]
user32.dll!77d510c7()
user32.dll!77d5110e()
php5ts.dll!php_execute_script(_zend_file_handle *
primary_file=0x0175fdcc, void * * * tsrm_ls=0x015ee1a0) Line 1720 +
0x12 bytes C
php5apache.dll!apache_php_module_main(request_rec * r=0x007bd2f8, int
display_source_mode=0, void * * * tsrm_ls=0x015ee1a0) Line 53 + 0x1b
bytes C
php5apache.dll!send_php(request_rec * r=0x007bd2f8, int
display_source_mode=0, char * filename=0x007bde68) Line 643 + 0xb
bytes C
php5apache.dll!send_parsed_php(request_rec * r=0x007bd2f8) Line 657
+ 0xe bytes C
ApacheCore.dll!6ff64bc7()
ApacheCore.dll!6ff74a73()
ApacheCore.dll!6ff74746()
ApacheCore.dll!6ff6be0f()
ws2_32.dll!71ab3a91()
ApacheCore.dll!6ff6bc5a()
msvcrt.dll!77c3a3b0()
ws2_32.dll!71ab3a91()
ws2_32.dll!71ab87a9()
kernel32.dll!7c80b50b()
ws2_32.dll!71ab3a91()
ws2_32.dll!71ab87a9()
kernel32.dll!7c8399f3()
for the following error:
The thread 'Win32 Thread' (0x13d4) has exited with code 0 (0x0).
Unhandled exception at 0x00876d6c (php5ts.dll) in Apache.exe:
0xC0000005: Access violation reading location 0x0001ee6c.
with this build: php5.1-win32-200601110730.zip
Previous Comments:
------------------------------------------------------------------------
[2006-01-10 23:34:02] [EMAIL PROTECTED]
Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32
Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.
------------------------------------------------------------------------
[2006-01-10 16:59:09] cristic at interaktonline dot com
OK, I installed a new machine from scratch:
Windows XP Home SP2
Apache 1.3.34
PHP Version 5.1.2RC3-dev ( Build Date Jan 9 2006 12:14:14)
The PHP is installed as ISAPI:
httpd.conf:
LoadModule php5_module "C:/php5/php5apache.dll"
AddModule mod_php5.c
AddType application/x-httpd-php .php
php.ini changes over php.ini-distribution:
short_open_tag = Off
precision = 14
output_buffering = 4096
zlib.output_compression = On
allow_call_time_pass_reference = Off
error_reporting = E_ALL
log_errors = On
variables_order = "GPCS"
register_long_arrays = Off
register_argc_argv = Off
default_charset = "iso-8859-1"
extension_dir = "c:/php5/ext"
extension=php_mbstring.dll
extension=php_bz2.dll
extension=php_gd2.dll
extension=php_mysql.dll
extension=php_sqlite.dll
extension=php_xsl.dll
session.save_path = "C:\Windows\Temp"
session.gc_divisor = 1000
session.bug_compat_42 = 0
session.hash_bits_per_character = 5
url_rewriter.tags =
"a=href,area=href,frame=src,input=src,form=fakeentry"
When calling into the browser (IE 6.0) http://localhost/a.php the
Apache crash:
Error signature:
szAppName : Apache.exe szAppVer : 0.0.0.0 szModName :
php5ts.dll
szModVer : 5.1.2.2 offset : 00096d6c
The following files will be included into this report:
C:\DOCUME~1\dbarascu\LOCALS~1\Temp\WERA2.tmp.dir00\Apache.exe.mdmp
C:\DOCUME~1\dbarascu\LOCALS~1\Temp\WERA2.tmp.dir00\appcompat.txt
If you want I may provide you a link to these 2 files as well if is
needed.
------------------------------------------------------------------------
[2006-01-09 12:51:28] [EMAIL PROTECTED]
Please try using this CVS snapshot:
http://snaps.php.net/php5.1-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.1-win32-latest.zip
This is most likely fixed in CVS already.
------------------------------------------------------------------------
[2006-01-09 10:55:06] cristic at interaktonline dot com
Description:
------------
When a redirect (header('Location:')) is used with a virtual include
the Apache crash:
---------------------------
Apache.exe - Application Error
---------------------------
The instruction at "0x008736ac" referenced memory at "0x0001ee6c". The
memory could not be "read".
Click on OK to terminate the program
Click on CANCEL to debug the program
---------------------------
OK Cancel
---------------------------
Reproduce code:
---------------
a.php:
<?php virtual(/b.php);?>
<?php header('Location: http://server.com/c.php');?>
b.php:
<?php ?>
c.php:
<?php phpinfo(); ?>
Expected result:
----------------
When doing this I just expect to be redirected to the c.php.
Actual result:
--------------
1. Windows XP and Apache/1.3.33(Win32):
---------------------------
Apache.exe - Application Error
---------------------------
The instruction at "0x008736ac" referenced memory at "0x0001ee6c". The
memory could not be "read".
Click on OK to terminate the program
Click on CANCEL to debug the program
---------------------------
OK Cancel
---------------------------
The php.ini differences with php.ini-dist:
short_open_tag = Off
output_buffering = 65535
output_handler = ob_gzhandler
allow_call_time_pass_reference = Off
memory_limit = 100M
error_reporting = E_ALL
log_errors = On
error_log = errors_php
register_long_arrays = Off
register_argc_argv = Off
2.Linux Fedora RC 4, Apache 2.0.54:
The Apache is not crashing anymore but the header() is still not
working:
Warning: Cannot modify header information - headers already sent by
(output started at /var/www/html/a.php:1) in /var/www/html/a.php on
line 0
------------------------------------
The problem I could reproduce on Linux on PHP 4.3.11 as well.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=35940&edit=1