"Rob Richards" <[EMAIL PROTECTED]> writes:

> php5ts_debug.dll!_zend_is_inconsistent(_hashtable * ht=0xcdcdcdcd, char *
> file=0x1053aaf0, int line=510)  Line 53 + 0x3 C
> php5ts_debug.dll!zend_hash_destroy(_hashtable * ht=0xcdcdcdcd)  Line 510 +
> 0x19 C
> php5ts_debug.dll!php_shutdown_stream_wrappers(int module_number=0, void * *
> * tsrm_ls=0x00954278)  Line 1379 + 0x12 C
> php5ts_debug.dll!php_module_shutdown(void * * * tsrm_ls=0x00954278)  Line
> 1516 + 0xd C
> php5ts_debug.dll!php_module_shutdown(void * * * tsrm_ls=0x00954278)  Line
> 1516 + 0xd C
> php-cli.exe!main()  Line 1052 + 0xd C
> php-cli.exe!mainCRTStartup()  Line 338 + 0x11 C

I don't know the internals of PHP, but a hash table parameter of 0xcdcdcdcd
looks an awful lot to me like there's a debug malloc library of some sort that
fills freed memory with '\xcd', meaning that zend_hash_destroy() is being
called with previously freed memory.

Since php_shutdown_stream_wrappers() calls zend_hash_destroy() three times,
but the first and third call (directly or indirectly) pass a parameter which
is simply the address of a variable, my first guess would be that this call:

  zend_hash_destroy(php_get_stream_filters_hash())

is the culprit, which implicates the variable 'stream_filters" in some way,
shape or form (via the function _php_get_stream_filters_hash() in
filters.c:41.

I hope maybe this helps someone who knows the code determine the problem.  I
did a cursory search for something pertaining to 0xcd and could not find it,
but maybe someone more familiar with the code will recognize 0xcdcdcdcd...

Cheers,

Derrell

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to