php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #77578 Crash when php unload
Submitted: 2019-02-06 22:14 UTC Modified: 2019-02-08 13:37 UTC
Votes:2
Avg. Score:3.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: ininflamable at gmail dot com Assigned: cmb (profile)
Status: Closed Package: COM related
PHP Version: 7.2.14 OS: Windows 2008 R2
Private report: No CVE-ID: None
 [2019-02-06 22:14 UTC] ininflamable at gmail dot com
Description:
------------
Tested on PHP-CLI >= 7.2.10 and >= 7.3.0 

\usr\php-7.2.9\php -a
Interactive shell

php > $locator = new COM('WbemScripting.SWbemLocator');
php > exit

No crash

\usr\php-7.3.1\php -a
Interactive shell

php > $locator = new COM('WbemScripting.SWbemLocator');
php > exit

Crash

Test script:
---------------
<?php
	$locator = new COM('WbemScripting.SWbemLocator');

Expected result:
----------------
None

Actual result:
--------------
Crash:

Firma con problemas:
  Nombre del evento de problema:	APPCRASH
  Nombre de la aplicación:	php.exe
  Versión de la aplicación:	7.3.2.0
  Marca de tiempo de la aplicación:	5c5a1538
  Nombre del módulo con errores:	KERNELBASE.dll
  Versión del módulo con errores:	6.1.7601.23796
  Marca de tiempo del módulo con errores:	59029714
  Código de excepción:	c0000005
  Desplazamiento de excepción:	000000000001a06d
  Versión del sistema operativo:	6.1.7601.2.1.0.272.7
  Id. de configuración regional:	3082
  Información adicional 1:	fe5f
  Información adicional 2:	fe5fafeb2125daada2897f811b2919e0
  Información adicional 3:	6e96
  Información adicional 4:	6e9690dfdbe9ca7cf9212af4bcb60198


Patches

Pull Requests

Pull requests:

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2019-02-07 15:41 UTC] cmb@php.net
-Status: Open +Status: Feedback -Assigned To: +Assigned To: cmb
 [2019-02-07 15:41 UTC] cmb@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.
 [2019-02-07 18:42 UTC] ininflamable at gmail dot com
The backtrace in
https://www.dropbox.com/sh/8jg7m7cdrh2awvp/AADkSZjEWT3Hy_06wjF5cONga?dl=0
 [2019-02-07 18:46 UTC] requinix@php.net
-Status: Feedback +Status: Open
 [2019-02-07 18:46 UTC] requinix@php.net
DetailID = 1
	Count:    1
	Exception #:  0XEBADEBAD
	Stack:        
		KERNELBASE!RaiseException+0x3d
		OraOCIEI11!kghsrs_printf+0xb9c56
		OraOCIEI11!kghsrs_printf+0xb926d
		OraOCIEI11!slgfn+0xa7ed
		OraOCIEI11!slgtd+0x1d307
		OraOCIEI11!slgtd+0x20ecc
		OraOCIEI11!slgtd+0x1cb62
		OraOCIEI11!kopd_free+0x1f72b
		OraOCIEI11!kopd_free+0x1f5d4
		OraOCIEI11!kopd_free+0x1f7b8
		OraOCIEI11!kopd_free+0x1fd30
		OraOCIEI11!kopd_free+0xa529
		OraOCIEI11!kopd_free+0x8286
		OraOCIEI11!kgpprthdr+0x1a7dd
		OraOCIEI11!kgpprthdr+0x1a2a4
		OraOCIEI11!kpeDbgHdlPostop+0x1175
		OraOCIEI11!slgtd+0x110e9
		kernel32!UnhandledExceptionFilter+0x160
		ntdll!longjmp+0xc2f5
		ntdll!_C_specific_handler+0x8c
		ntdll!_chkstk+0x9d
		ntdll!RtlInitializeResource+0x53a
		ntdll!KiUserExceptionDispatcher+0x2e
		php_com_dotnet!_guard_dispatch_icall_nop
		php7ts!zend_hash_destroy+0xed [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\zend\zend_hash.c @ 1429]
		php7ts!zend_ts_hash_destroy+0x1b [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\zend\zend_ts_hash.c @ 74]
		php_com_dotnet!zm_shutdown_com_dotnet+0x19 [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\ext\com_dotnet\com_extension.c @ 428]
		php7ts!module_destructor+0xef [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\zend\zend_api.c @ 2579]
		php7ts!module_destructor_zval+0x11 [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\zend\zend.c @ 746]
		php7ts!zend_hash_graceful_reverse_destroy+0x136 [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\zend\zend_hash.c @ 1658]
		php7ts!zend_shutdown+0x43 [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\zend\zend.c @ 978]
		php7ts!php_module_shutdown+0x50 [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\main\main.c @ 2493]
		php!main+0x76b [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\sapi\cli\php_cli.c @ 1406]
		php!__scrt_common_main_seh+0x10c [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288]
		kernel32!BaseThreadInitThunk+0xd
		ntdll!RtlUserThreadStart+0x1d
 [2019-02-07 19:40 UTC] ininflamable at gmail dot com
New backtrace with only the php_com_dotnet.dll extension enabled.
DetailID = 1
	Count:    1
	Exception #:  0XC0000005
	Stack:        
		php_com_dotnet!_guard_dispatch_icall_nop
		php7ts!zend_hash_destroy+0xed [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\zend\zend_hash.c @ 1429]
		php7ts!zend_ts_hash_destroy+0x1b [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\zend\zend_ts_hash.c @ 74]
		php_com_dotnet!zm_shutdown_com_dotnet+0x19 [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\ext\com_dotnet\com_extension.c @ 428]
		php7ts!module_destructor+0xef [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\zend\zend_api.c @ 2579]
		php7ts!module_destructor_zval+0x11 [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\zend\zend.c @ 746]
		php7ts!zend_hash_graceful_reverse_destroy+0x136 [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\zend\zend_hash.c @ 1658]
		php7ts!zend_shutdown+0x43 [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\zend\zend.c @ 978]
		php7ts!php_module_shutdown+0x50 [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\main\main.c @ 2493]
		php!main+0x76b [c:\php-snap-build\php73\vc15\x64\php-7.3.2-ts\sapi\cli\php_cli.c @ 1406]
		php!__scrt_common_main_seh+0x10c [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288]
		kernel32!BaseThreadInitThunk+0xd
		ntdll!RtlUserThreadStart+0x1d
 [2019-02-07 19:49 UTC] ininflamable at gmail dot com
With:
com.autoregister_typelib = false
There is no exception.
 [2019-02-08 13:37 UTC] cmb@php.net
-Status: Assigned +Status: Verified
 [2019-02-08 13:37 UTC] cmb@php.net
> With:
> com.autoregister_typelib = false
> There is no exception.

Ah, indeed.  Thanks!
 [2019-02-08 13:37 UTC] cmb@php.net
The following pull request has been associated:

Patch Name: Fix #77578: Crash when php unload
On GitHub:  https://github.com/php/php-src/pull/3806
Patch:      https://github.com/php/php-src/pull/3806.patch
 [2019-03-07 17:39 UTC] ininflamable at gmail dot com
Tested on PHP-CLI 7.3.3

\usr\php-7.3.3\php -a
Interactive shell

php > ini_set('com.autoregister_typelib', 1);
php > $locator = new COM('WbemScripting.SWbemLocator');
php > exit

Crash
 [2019-03-18 18:28 UTC] cmb@php.net
Automatic comment on behalf of cmbecker69@gmx.de
Revision: http://git.php.net/?p=php-src.git;a=commit;h=41bc51ce2d217aa7aca85b4be289bebf91813423
Log: Fix #77578: Crash when php unload
 [2019-03-18 18:28 UTC] cmb@php.net
-Status: Verified +Status: Closed
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 08:01:29 2024 UTC