ID: 27772 Comment by: egarcia at egm dot as Reported By: khagiya1 at yahoo dot co dot jp Status: Open Bug Type: Reproducible crash Operating System: Windows Xp Professional Ver2002 PHP Version: 4.3.5 New Comment:
The problem is also reproducible in the Web, but I only get no data (blank screen) or one message related to PHP exception. In the console I always get the error. In the Web not always but is very unstable. Without any zend_extension_ts, all is very stable. Faulting application php.exe, version 4.3.5.5, faulting module unknown, version 0.0.0.0, fault address 0x00d74140. zend_extension_ts="C:\Program Files\Zend\lib\ZendExtensionManager.dll" zend_extension_manager.optimizer_ts="C:\Program Files\Zend\lib\Optimizer-2.5.0" zend_extension_manager.debug_server_ts="C:\Program Files\Zend\lib\Debugger-3.0.1" If I comment the optimizer_ts line and debuger_server_ts, all works OK even with the zend_extension_ts; but If I enable one of both then I get crash. Previous Comments: ------------------------------------------------------------------------ [2004-03-30 23:44:33] khagiya1 at yahoo dot co dot jp I am sorry since the range of zend and the range of php are not known well. Is it the same as this bug(Bug #27141)? In my place, even if this problem is not a command line, it occurs. > Does it work when you disable the ioncube_loader? Yes, it operates satisfactory. It will crash, if there is some zend_extension_ts. For example, It crashes, even if it writes this. [php.ini] zend_extension_ts = C:\ZendOptimizer.dll An extended module calls ZEND_INIT_MODULE_GLOBALS in PHP_MINIT_FUNCTION mostly. In ZTS mode, this calls ts_allocate_id. dtor and ctor(for module) are registered by this. So, in zend_extension_ts which is not calling this function, it doesn't crash. ------------------------------------------------------------------------ [2004-03-30 09:53:37] [EMAIL PROTECTED] Does it work when you disable the ioncube_loader? ------------------------------------------------------------------------ [2004-03-30 08:52:58] egarcia at egm dot as You can get mor information from: Bug #27141 PHP.exe crash on console. ------------------------------------------------------------------------ [2004-03-30 08:47:06] egarcia at egm dot as Well, I report a similar error when this version was in beta testing. The product can be used with Zend Optimizer, this carsh constantly. If I disable the Zend Optimizer 2.1b or 2.5 the product works OK, even with the Zend Extensions enabled the product works OK. The answer that I get about this incident not existent in the 4.3.4 was that this problem is related to Zend and not to the PHP itself. But reading the report with the Ioncube extensions must be related to the Zend Engine or the PHP. Regards, ------------------------------------------------------------------------ [2004-03-30 05:22:00] khagiya1 at yahoo dot co dot jp Description: ------------ Please let me know. I downloaded "PHP 4.3.5 (tar.gz) [4,706Kb]-26 March 2004." from "http://www.php.net/downloads.php" It is used building it personally. It crash, although only built. Reproduce code: --------------- The example of a code to generate [c:/hello.csp] <?php echo 'hello!!'; ?> [php.ini] zend_extension_ts = c:/ioncube_loader.dll EThe following is performed on a console. c:/php.exe -f c:/hello.csp It is displayed on a screen as "hello!!". Crash occurs together with it. This is generated only when module(zend_extension_ts) is loaded. It does not generate in module(extension). When the code was seen, it had generated in the following places. The following change went into TSRM/TSRM.c by php-4.3.4 to php-4.3.5. *** TSRM/TSRM.c Tue Nov 11 14:17:17 2003 <-- 4.3.4 --- TSRM/TSRM.c Wed Dec 17 04:59:58 2003 <-- 4.3.5 *************** *** 157,163 **** int j; next_p = p->next; ! for (j=0; j<id_count; j++) { free(p->storage[j]); } free(p->storage); --- 157,166 ---- int j; next_p = p->next; ! for (j=0; j<p->count; j++) { ! if (resource_types_table && resource_types_table[j].dtor) { ! resource_types_table[j].dtor(p->storage[j], &p->storage); <-- cause the problem!! ! } free(p->storage[j]); } free(p->storage); sapi/cgi/cgi_main.c: line 1787 - 1792 ------------------------------------------------------------------ php_module_shutdown(TSRMLS_C); HLOG_LOG( HLOG_NOTICE, "php_module_shutdown" ); #ifdef ZTS tsrm_shutdown(); #endif ------------------------------------------------------------------ show callstack. 1. php_module_shutdown 2. zend_shutdown 3. zend_shutdown_extensions 4. zend_llist_destroy 5. zend_extension_dtor 6. DL_UNLOAD <-- module(by zend_extension_ts) is unload here. 7. tsrm_shutdown <-- dtor can't be called. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27772&edit=1