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

Reply via email to