From:             [EMAIL PROTECTED]
Operating system: Solaris, Linux
PHP version:      4.0.3pl1
PHP Bug Type:     Reproduceable crash
Bug description:  Calling zend_error during module shutdown causes PHP to crash.

If you call zend_error during the shutdown sequence for a module then you
get a core because there is no longer a valid error_filename.

We eliminated this from our code, at some cost to its generality, but then the same 
error occurs if, eg, you can't rollback your oracle transaction during
the shutdown of the Oracle module.

Simple fix:  in zend_error, test to see if you are in the middle of shutdown
and don't attempt to write to error_filename if so.

Better fix:  close error_filename AFTER all the modules are shutdown.

Traceback follows:
'
(gdb) bt
#0  0xfe8b6da4 in strlen () from /usr/lib/libc.so.1
#1  0xfe8ffe18 in _doprnt () from /usr/lib/libc.so.1
#2  0xfe901ad0 in snprintf () from /usr/lib/libc.so.1
#3  0xe3b88 in php_error_cb (type=2, 
    error_filename=0x5a5a5a5a <Address 0x5a5a5a5a out of bounds>, 
    error_lineno=0, format=0x36e760 "%s: %s", args=0xffbee1cc) at main.c:388
#4  0x1ea440 in zend_error (type=2, format=0x36e760 "%s: %s") at zend.c:596
#5  0x12dde8 in oci_error (err_p=0x93dac4, 
    what=0x36e670 "failed to rollback outstanding transactions!", status=-1)
    at oci8.c:747
#6  0x12dad4 in _oci_conn_list_dtor (connection=0xbf5740) at oci8.c:658
#7  0x1f32b0 in list_entry_destructor (ptr=0x638260) at zend_list.c:253
#8  0x1f0a0c in zend_hash_apply_deleter (ht=0x411d10, p=0xbf68a0)
    at zend_hash.c:619
#9  0x1f0cc8 in zend_hash_graceful_destroy (ht=0x411d10) at zend_hash.c:670
#10 0x1f3434 in zend_destroy_rsrc_list () at zend_list.c:298
#11 0x1db664 in shutdown_executor () at zend_execute_API.c:179
#12 0x1ea16c in zend_deactivate () at zend.c:513
#13 0xe4738 in php_request_shutdown (dummy=0x0) at main.c:669
#14 0xe0ab0 in php_apache_request_shutdown ()
#15 0x28320c in run_cleanups () at atx_prop.cpp:94
#16 0x280980 in ap_clear_pool () at atx_prop.cpp:94
#17 0x280a10 in ap_destroy_pool () at atx_prop.cpp:94
#18 0x280968 in ap_clear_pool () at atx_prop.cpp:94
#19 0x298058 in child_main () at atx_prop.cpp:94
#20 0x298aec in make_child () at atx_prop.cpp:94
#21 0x298c10 in startup_children () at atx_prop.cpp:94
#22 0x299600 in standalone_main () at atx_prop.cpp:94
#23 0x29a1fc in main () at atx_prop.cpp:94




-- 
Edit Bug report at: http://bugs.php.net/?id=8812&edit=1



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to