#37188 [Opn->Fbk]: Wrong value of include_path causes 'Official' PHP4.4.2, PHP 4.4.3.3dev to crash
| From: | bjori@php.net | Date: | Tue, 25 Apr 2006 08:23:30 +0000 |
| Subject: | #37188 [Opn->Fbk]: Wrong value of include_path causes 'Official' PHP4.4.2, PHP 4.4.3.3dev to crash | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-96198@lists.php.net to get a copy of this message | ||
ID: 37188
Updated by: bjori@php.net
Reported By: phpclub_ru at bougakov dot com
-Status: Open
+Status: Feedback
Bug Type: Reproducible crash
Operating System: Windows XP Home, SP2
PHP Version: 4.4.2
New Comment:
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves.
A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external
resources such as databases, etc.
If possible, make the script source available online and provide
an URL to it here. Try to avoid embedding huge scripts into the report.
Previous Comments:
------------------------------------------------------------------------
[2006-04-25 08:14:29] phpclub_ru at bougakov dot com
> Backtrace without debug symbols doesn't make any sense.
Can't build debug version of PHP since there is some error in the
sources (compiler breaks when processes regex-related files and
generates about 18 errors).
> Please try to reproduce it on *nix and
> get a valid backtrace with GDB
Got no *nix system. My hosting provider won't let me edit the php.ini
If YOU have got debug version of PHP 4.4.2, you can easily reproduce
the bug by editing your php.ini:
from:
include_path = ".;c:/php/includes/"
to:
include_path = "c:/php/includes/"
and opening ANY script with
<?php
include 'whatever.php';
?>
------------------------------------------------------------------------
[2006-04-25 07:13:29] tony2001@php.net
Backtrace without debug symbols doesn't make any sense.
And yes, your debugger points to a wrong place.
Please try to reproduce it on *nix and get a valid backtrace with GDB,
if MSVC is unable to give you requested information.
------------------------------------------------------------------------
[2006-04-24 22:45:02] phpclub_ru at bougakov dot com
Already posted.
------------------------------------------------------------------------
[2006-04-24 22:35:30] tony2001@php.net
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-04-24 22:27:46] phpclub_ru at bougakov dot com
Description:
------------
PHP 4.4.3.3 from snaps.php.net (php4-STABLE-200604220230), as well as
'official' PHP 4.4.2 available in the 'Downloads' section of php.net
crashes with the following message:
####################### cut here #################################
AppName: php.exe AppVer: 4.4.3.3 ModName: ntdll.dll
ModVer: 5.1.2600.2180 Offset: 00010f2b
Unhandled exception at 0x7c910f2b in php.exe: 0xC0000005: Access
violation reading location 0x0009000d.
####################### / cut here #################################
My system is XP Home SP2, Apache 1.3.33
Bug reproduces all times when I open one PHP script (can't reproduce it
here since it is a part of large obfuscated project of other developer;
you can download it here:
http://e2.ilyabirman.ru/download/e2_oranda_te_v1454_distr.zip,
126Kb).
Doesn't reproduce on PHP 4.3.11. mod_php is affected as well as CGI
version.
Crash is caused by the wrong setting in php.ini:
valid example:
include_path = ".;c:/path/with/some/cyrillic/letters/"
example that causes PHP to crash:
include_path = "c:/path/with/some/cyrillic/letters/"
Reproduce code:
---------------
Code that demonstrates the crash:
http://e2.ilyabirman.ru/download/e2_oranda_te_v1454_distr.zip,
126Kb
Expected result:
----------------
PHP should report or just ignore the wrong setting, not to crash.
Actual result:
--------------
MS Visual Studio 2003 EA debugger displays the following:
####################### cut here #################################
malloc.c, line 212:
#ifndef _WIN64
if (__active_heap != __SYSTEM_HEAP)
size = (size + BYTES_PER_PARA - 1) & ~(BYTES_PER_PARA -
1);
#endif /* _WIN64 */
return HeapAlloc(_crtheap, 0, size);
} // <== THIS IS LINE 212
#else /* WINHEAP */
/* try to find a big enough free block
*/
####################### / cut here #################################
Call stack:
####################### cut here #################################
--> ntdll.dll!7c910f2b()
ntdll.dll!7c910d5c()
php.exe!004024d9()
php.exe!004024d9()
php4ts.dll!100b68f0()
php4ts.dll!100042fa()
ntdll.dll!7c91056d()
php4ts.dll!100b64ec()
php4ts.dll!100c6810()
php.exe!004024d9()
php.exe!004024d9()
php.exe!004024d9()
php.exe!004024d9()
php.exe!004024d9()
php.exe!004024d9()
php.exe!004024d9()
php.exe!00402c6e()
ntdll.dll!7c9106eb()
> msvcr71.dll!_heap_alloc(unsigned int size=1) Line 212 C
msvcr71.dll!_setargv() Line 143 C
####################### / cut here #################################
Autos:
####################### cut here #################################
_crtheap 0x00380000 void *
size 1 unsigned int
####################### / cut here #################################
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=37188&edit=1