Description
The multiple-keys version of the touch operation (e.g. touchMulti() method of a Couchbase instance) causes an error to be reported about a hash being inconsistent, e.g. /home/orion/couchbase/php-5.3.15/Zend/zend_hash.c(520) : ht=0xaef9c24 is inconsistent
(paths and memory locations would vary).
The current return value scheme for multi-touch is that a hash is made in the initial php_couchbase_touch_impl function that maps all given keys to false, and then in the php_couchbase_touch_callback function as each key is seen, its value is updated to true. When the hash update block is commented out, this error is not reproduced, so it seems there is some issue within that code that causes this to happen. Notably it happens both with the raw key value (as retrieved from the response) and with effort taken to make sure that the key is nul-terminated (as in some other callback functions).