This resulted in a lot of "There is no device with id [generic] in wurfl" errors and was a bit tricky to track down.
The default cache size is 32MB set by apc.shm_size in php.ini. Increasing this to 64MB minimum will solve the problem. I recommend mentioning this somewhere in the documentation.
I updated the save() function in Storage/Apc.php
Code: Select all
public function save($objectId, $object) {
$value = apc_store($this->encode($this->apcNameSpace(), $objectId), $object, $this->expire());
if ($value === false)
{
throw new WURFL_Xml_PersistenceProvider_Exception ("Error saving variable in apc cache. Cache may be full.");
}
}