ID: 37188 Updated by: [EMAIL PROTECTED] 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] [EMAIL PROTECTED] 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] [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-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