ID:               45217
 User updated by:  dmda at yandex dot ru
 Reported By:      dmda at yandex dot ru
-Status:           Feedback
+Status:           Open
 Bug Type:         Reproducible crash
 Operating System: *
 PHP Version:      5.2.6
 New Comment:

Thanks for your comments. I've read and do belive all necessary info is
provided. Feel free to specify if you missed any particular point on how
to replicate the crash.


Previous Comments:
------------------------------------------------------------------------

[2008-06-09 18:15:51] [EMAIL PROTECTED]

Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php

If you can provide more information, feel free to add it
to this bug and change the status back to "Open".

Thank you for your interest in PHP.




------------------------------------------------------------------------

[2008-06-09 16:14:00] dmda at yandex dot ru

Description:
------------
if -z and -m command line options are used together, php-cgi will
crash.

It happens b'ze print_extensions() function in cgi_main.c has a serious
flaw:
1) it first makes a copy of the main list of zend_extensions
2) then it dumps out the content
3) then it destroys its copy of the list
Duding phase 3, the list destructor is called and it UNLOADS all the
zend_extensions. SHULD be noted that at this time the main list still
has original copies of zend_extensions and that's why php will crash
during shutdown in attempt to walk through the list and shutdown the
extensions.

You may replicate the problem with _ANY_ zend_extension. Better to do
it under Windows that unmaps memory regions and shutdown will try call
non-existing code. So the crash is inavoidable.

Reproduce code:
---------------
no code necessary

Expected result:
----------------
no crash is expected

Actual result:
--------------
backtrace from VC6:

015c2049()
zend_extension_shutdown(_zend_extension * 0x014c4568, void * * *
0x01021c70) line 129 + 10 bytes
zend_llist_apply(_zend_llist * 0x10508620 _zend_extensions, void (void
*, void * * *)* 0x1007536c zend_extension_shutdown(_zend_extension *,
void * * *), void * * * 0x01021c70) line 193 + 14 bytes
zend_shutdown_extensions(void * * * 0x01021c70) line 166 + 19 bytes
zend_shutdown(void * * * 0x01021c70) line 741 + 9 bytes
php_module_shutdown(void * * * 0x01021c70) line 1887 + 9 bytes
main(int 4, char * * 0x01021cd0) line 2058 + 10 bytes
PHP-CGI! mainCRTStartup + 227 bytes
KERNEL32! 7c816fd7()



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=45217&edit=1

Reply via email to