After updating from 7.x-1.4 to the newly released version 7.x-1.5, I got this message:
Warning: Invalid argument supplied for foreach() in MemCacheDrupal->wildcards() (line 363 of/home/ .../public_html/sites/all/modules/memcache/memcache.inc)

Comments

Salif created an issue. See original summary.

jeremy’s picture

Status: Active » Postponed (maintainer needs more info)

This should only ever be an array, did this problem last a long time? I would imagine restarting the memcache daemon would have fixed it. Leaving this ticket open to see if this is affecting other people, perhaps we need to be more defensive in this section of the code to handle evictions.

hitfactory’s picture

We are seeing this error in our logs even after restarting the daemon with the latest 7.x-1.x-dev so it would seem an array is not being passed.

Invalid cache id received in memcache.inc wildcards() of type integer.

hitfactory’s picture

Also seeing this error in the logs, which would also seem to suggest the array is being messed with. Also posting as maybe the two are related?

Notice: Array to string conversion in dmemcache_key() (line 984 of sites/all/modules/contrib/memcache/dmemcache.inc).

jeremy’s picture

Status: Postponed (maintainer needs more info) » Active
jeremy’s picture

The error you're seeing in #3 was introduced in #1305696: substr() expects parameter 3 to be long, string given memcache.inc. A cid of type integer is likely valid so that could be a regression that needs to be fixed -- will be reviewed in the other ticket.

jeremy’s picture

Status: Active » Fixed

The issue in #4 was also fixed already. (The line in reference was rewritten, it was $full_key = urlencode($prefix . $bin . '-' . $key); when you saw this error.)

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.