I recently upgraded the Piwik installation from < 0.5 to 0.5.4. Now I get the same error message as the OP but on line 367 of plugins/Actions/Actions.php.
I added the following debug output to this line
if(!is_object($currentTable)) {
$currentTable =& $currentTable[$actionCategory];
}
else
{
echo '<pre>';
echo 'actionsTablesByType'."\n";
var_dump($this->actionsTablesByType[$row['type']]);
echo 'currentTable'."\n";
var_dump($currentTable);
echo 'actionExplodedNames'."\n";
var_dump($actionExplodedNames);
echo 'row'."\n";
var_dump($row);
echo '</pre>';
die;
}
and got output like
actionsTablesByType
array(2) {
["countries"]=>
array(10) {
["fi"]=>
array(1) {
["cities"]=>
array(1) {
["helsinki"]=>
object(Piwik_DataTable_Row)#375 (1) {
["c"]=>
array(3) {
[0]=>
array(4) {
["label"]=>
string(8) "helsinki"
["nb_visits"]=>
string(1) "1"
["nb_uniq_visitors"]=>
string(1) "1"
["nb_hits"]=>
string(1) "2"
}
[1]=>
array(1) {
["url"]=>
string(29) "/countries/fi/cities/helsinki"
}
[3]=>
NULL
}
}
}
}
["nl"]=>
array(1) {
["cities"]=>
array(1) {
["amsterdam"]=>
object(Piwik_DataTable_Row)#421 (1) {
["c"]=>
array(3) {
[0]=>
array(4) {
["label"]=>
string(9) "amsterdam"
["nb_visits"]=>
string(1) "1"
["nb_uniq_visitors"]=>
string(1) "1"
["nb_hits"]=>
string(1) "1"
}
[1]=>
array(1) {
["url"]=>
string(30) "/countries/nl/cities/amsterdam"
}
[3]=>
NULL
}
}
}
}
["si"]=>
object(Piwik_DataTable_Row)#430 (1) {
["c"]=>
array(3) {
[0]=>
array(4) {
["label"]=>
string(2) "si"
["nb_visits"]=>
string(1) "1"
["nb_uniq_visitors"]=>
string(1) "1"
["nb_hits"]=>
string(1) "1"
}
[1]=>
array(1) {
["url"]=>
string(13) "/countries/si"
}
[3]=>
NULL
}
}
["no"]=>
array(1) {
["cities"]=>
array(1) {
["oslo"]=>
object(Piwik_DataTable_Row)#426 (1) {
["c"]=>
array(3) {
[0]=>
array(4) {
["label"]=>
string(4) "oslo"
["nb_visits"]=>
string(1) "1"
["nb_uniq_visitors"]=>
string(1) "1"
["nb_hits"]=>
string(1) "1"
}
[1]=>
array(1) {
["url"]=>
string(25) "/countries/no/cities/oslo"
}
[3]=>
NULL
}
}
}
}
["at"]=>
&object(Piwik_DataTable_Row)#432 (1) {
["c"]=>
array(3) {
[0]=>
array(4) {
["label"]=>
string(2) "at"
["nb_visits"]=>
string(1) "1"
["nb_uniq_visitors"]=>
string(1) "1"
["nb_hits"]=>
string(1) "1"
}
[1]=>
array(1) {
["url"]=>
string(13) "/countries/at"
}
[3]=>
NULL
}
}
["be"]=>
object(Piwik_DataTable_Row)#433 (1) {
["c"]=>
array(3) {
[0]=>
array(4) {
["label"]=>
string(2) "be"
["nb_visits"]=>
string(1) "1"
["nb_uniq_visitors"]=>
string(1) "1"
["nb_hits"]=>
string(1) "1"
}
[1]=>
array(1) {
["url"]=>
string(13) "/countries/be"
}
[3]=>
NULL
}
}
["hr"]=>
object(Piwik_DataTable_Row)#435 (1) {
["c"]=>
array(3) {
[0]=>
array(4) {
["label"]=>
string(2) "hr"
["nb_visits"]=>
string(1) "1"
["nb_uniq_visitors"]=>
string(1) "1"
["nb_hits"]=>
string(1) "1"
}
[1]=>
array(1) {
["url"]=>
string(13) "/countries/hr"
}
[3]=>
NULL
}
}
["fr"]=>
object(Piwik_DataTable_Row)#436 (1) {
["c"]=>
array(3) {
[0]=>
array(4) {
["label"]=>
string(2) "fr"
["nb_visits"]=>
string(1) "1"
["nb_uniq_visitors"]=>
string(1) "1"
["nb_hits"]=>
string(1) "1"
}
[1]=>
array(1) {
["url"]=>
string(13) "/countries/fr"
}
[3]=>
NULL
}
}
["se"]=>
object(Piwik_DataTable_Row)#437 (1) {
["c"]=>
array(3) {
[0]=>
array(4) {
["label"]=>
string(2) "se"
["nb_visits"]=>
string(1) "1"
["nb_uniq_visitors"]=>
string(1) "1"
["nb_hits"]=>
string(1) "1"
}
[1]=>
array(1) {
["url"]=>
string(13) "/countries/se"
}
[3]=>
NULL
}
}
["ie"]=>
object(Piwik_DataTable_Row)#439 (1) {
["c"]=>
array(3) {
[0]=>
array(4) {
["label"]=>
string(2) "ie"
["nb_visits"]=>
string(1) "1"
["nb_uniq_visitors"]=>
string(1) "1"
["nb_hits"]=>
string(1) "1"
}
[1]=>
array(1) {
["url"]=>
string(13) "/countries/ie"
}
[3]=>
NULL
}
}
}
["example.com"]=>
array(1) {
["/countries/de"]=>
object(Piwik_DataTable_Row)#410 (1) {
["c"]=>
array(3) {
[0]=>
array(4) {
["label"]=>
string(13) "/countries/de"
["nb_visits"]=>
string(1) "1"
["nb_uniq_visitors"]=>
string(1) "1"
["nb_hits"]=>
string(1) "2"
}
[1]=>
array(1) {
["url"]=>
string(43) "http://example.com/countries/de"
}
[3]=>
NULL
}
}
}
}
currentTable
object(Piwik_DataTable_Row)#432 (1) {
["c"]=>
array(3) {
[0]=>
array(4) {
["label"]=>
string(2) "at"
["nb_visits"]=>
string(1) "1"
["nb_uniq_visitors"]=>
string(1) "1"
["nb_hits"]=>
string(1) "1"
}
[1]=>
array(1) {
["url"]=>
string(13) "/countries/at"
}
[3]=>
NULL
}
}
actionExplodedNames
array(4) {
[0]=>
string(9) "countries"
[1]=>
string(2) "at"
[2]=>
string(6) "cities"
[3]=>
string(10) "klagenfurt"
}
row
array(5) {
["name"]=>
string(31) "/countries/at/cities/klagenfurt"
["type"]=>
string(1) "2"
["nb_visits"]=>
string(1) "1"
["nb_uniq_visitors"]=>
string(1) "1"
["nb_hits"]=>
string(1) "1"
}
The error occures only on one very recently added website. A website that was added some time ago does not have this problem.