php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #48892 httpd crash when log_errors=On
Submitted: 2009-07-12 08:27 UTC Modified: 2009-07-14 18:50 UTC
From: bzanin at tut dot by Assigned:
Status: Closed Package: Reproducible crash
PHP Version: 5.3.0 OS: Windows XP SP3 Rus
Private report: No CVE-ID: None
 [2009-07-12 08:27 UTC] bzanin at tut dot by
Description:
------------
I use PHP 5.3.0 (thread safe) on windows XP sp3 russian, running under control of Apache 2.2.11 (using php5apache2_2.dll to allow PHP in the apache). If "log_errors=On" the script does not produce any output to browser and apache process restarts. If "log_errors=Off" the script produce page with 4 warnings: 2 "function.date: It is not safe to rely on the system's timezone settings" and 2 "function.include: failed to open".

Trace using Process Monitor tool by Mark Russinovich shows me that in the request moment httpd process makes 437 requests to CreateFile "C:\Settings\Logs\php_errors.log" (all successful) then attempt to create crash dump (some calls to faultrep.dll and others), then lots of threads exit, then process exits and then a lot of file close calls. 

437 requests are made in 0.2 sec. I suspect somwhere CreateFile is not compared with INVALID_HANDLE_VALUE.

PS For some reason php-debug-pack-5.3.0-Win32.zip is not available.

Expected result:
----------------
Page generated, httpd does not die, some warnings on page as well as in the log file.

Actual result:
--------------
Page is not generated, httpd gets restarted, zero size log file created.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2009-07-12 09:23 UTC] bzanin at tut dot by
Was lucky to catch the crash using windbg. It insists that this is a stack overflow:

FAULTING_IP: 
ntdll!_SEH_prolog+1a
7c90e8c5 53              push    ebx

EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 7c90e8c5 (ntdll!_SEH_prolog+0x0000001a)
   ExceptionCode: c00000fd (Stack overflow)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000001
   Parameter[1]: 01e92fb8

FAULTING_THREAD:  00000df0

DEFAULT_BUCKET_ID:  STATUS_STACK_OVERFLOW

PROCESS_NAME:  httpd.exe

ERROR_CODE: (NTSTATUS) 0xc00000fd - <Unable to get error code text>

NTGLOBALFLAG:  0

APPLICATION_VERIFIER_FLAGS:  0

LAST_CONTROL_TRANSFER:  from 78583a58 to 7c90e8c5

STACK_TEXT:  
01e931d0 78583a58 00640000 00000000 00000004 ntdll!_SEH_prolog+0x1a
01e931f0 0084bbc4 00000004 01e935ac 01e932f9 MSVCR90!malloc+0x79
WARNING: Stack unwind information not available. Following frames may be wrong.
01e93208 0084bd59 011baa6d 40080000 00000001 php5ts!php_get_current_user+0x1d4
01e93234 785438c5 01e93294 7855c0ac 00000001 php5ts!php_conv_fp+0x59
01e9323c 7855c0ac 00000001 01e93264 7855c2d5 MSVCR90!_getptd+0x8
01e932f9 5f007000 72006500 6f007200 73007200 MSVCR90!_LocaleUpdate::_LocaleUpdate+0x18
01e93301 6f007200 73007200 6c002e00 67006f00 0x5f007000
01e93305 73007200 6c002e00 67006f00 00000000 0x6f007200
01e93309 6c002e00 67006f00 00000000 00000000 0x73007200
01e9330d 67006f00 00000000 00000000 00000000 0x6c002e00
01e93311 00000000 00000000 00000000 00000000 0x67006f00


PRIMARY_PROBLEM_CLASS:  STATUS_STACK_OVERFLOW

BUGCHECK_STR:  APPLICATION_FAULT_STATUS_STACK_OVERFLOW

FOLLOWUP_IP: 
MSVCR90!malloc+79
78583a58 8bf8            mov     edi,eax

SYMBOL_STACK_INDEX:  1

SYMBOL_NAME:  MSVCR90!malloc+79

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: MSVCR90

IMAGE_NAME:  MSVCR90.dll

DEBUG_FLR_IMAGE_TIMESTAMP:  47313dce

STACK_COMMAND:  ~47s ; kb

FAILURE_BUCKET_ID:  MSVCR90.dll!malloc_c00000fd_STATUS_STACK_OVERFLOW

BUCKET_ID:  APPLICATION_FAULT_STATUS_STACK_OVERFLOW_MSVCR90!malloc+79

Followup: MachineOwner
---------
 [2009-07-12 10:40 UTC] pajoye@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php5.3-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/


 [2009-07-13 19:13 UTC] bzanin at tut dot by
Tried the latest version several times. Bug is not reproduced anymore.
Seems the issue is solved and case may be closed.

Thanks for your work.

PS. Tried following snapshot:
VC9 x86 Thread Safe (2009-Jul-09 21:00:00)
Zip [13.55MB]
sha1: cc302da2ad957ef3fdbd91ef4f5fa0f3d52f04dc
 [2009-07-14 18:50 UTC] bzanin at tut dot by
Solved in latest snapsot.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Apr 30 03:01:31 2024 UTC