Matomo freezes after Update to 3.12

Hello!

Since the update to Matomo 3.12, some users have reported that Matomo freezes for a long time after each click. Working is no longer possible. This behavior is in the affected clients in every browser (IE, Chrome, Firefox etc.).
Internet Explorer sometimes reports after a click that a script cannot be executed. Unfortunately it is not possible to understand which script triggers this message.
We thought this may be related to a specific widget, but the error also occurs on an empty dashboard.
Does anyone know the behavior?

Regards
Pete

Hi,

Could you check using the browser developer tools if the clients are waiting for HTTP requests that take a long time or if the Javascript in the browser itself is slow?

Hi Lukas,

after the update to 3.13.1 the problem still exists.
After analysis we found that the following script is causing the problems.

/* Matomo Javascript - cb=404e4d1f6dfb3e75968bbe9f0e563f50*/

angular.module(‘piwikApp’).controller(‘WebsiteGroupsAdminController’,function($scope,$timeout){function onError(){$scope.isUpdateGroupError=true;$timeout(function(){$scope.isUpdateGroupError=false;},1000);}
function done(){$scope.isUpdatingGroup=null;}
$scope.renameGroup=function(group,newName){$scope.isUpdatingGroup=true;function onSuccess(){group.label=newName;$scope.view.editGroup=false;if(group.sites){for(var index=0;index<group.sites.length;index++){group.sites[index].group=newName;}}}
$scope.groupModel.renameGroup(group.label,newName).then(onSuccess,onError)
‘finally’;};$scope.assignGroup=function(website,groupName){$scope.isUpdatingGroup=groupName;function onSuccess(){website.group=groupName;$scope.isUpdateGroupSuccess=true;$timeout(function(){if($scope.dashboardCtrl)$scope.dashboardCtrl.refresh();},1000);}
$scope.groupModel.assignGroup(website.idsite,groupName).then(onSuccess,onError)
‘finally’;}});
angular.module(‘piwikApp.service’).service(‘websiteGroupsAdminModel’,function(piwikApi){this.groups=[];this.fetchSitesGroups=function(){var that=this;piwikApi.fetch({method:‘SitesManager.getSitesGroups’}).then(function(response){if(response&&response.length){var indexEmpty=response.indexOf(’’);if(-1!=indexEmpty){response.splice(indexEmpty,1);}
response.sort();that.groups=response;}});}
this.addGroup=function(groupname){if(groupname&&-1===this.groups.indexOf(groupname)){this.groups.push(groupname);}}
this.assignGroup=function(idSite,groupName){return piwikApi.post({method:‘SitesManager.updateSite’,idSite:idSite,group:groupName});}
this.renameGroup=function(oldGroupName,newGroupName){return piwikApi.post({method:‘SitesManager.renameGroup’,oldGroupName:oldGroupName,newGroupName:newGroupName});}});
angular.module(‘piwikApp’).directive(‘multisitesLabel’,function(piwik,websiteGroupsAdminModel){if(!piwik.hasSuperUserAccess){return{};}
websiteGroupsAdminModel.fetchSitesGroups();return{restrict:‘C’,transclude:true,scope:{},require:[’^piwikMultisitesSite’,’^piwikMultisitesDashboard’],templateUrl:‘plugins/WebsiteGroups/angularjs/admin/admin.html?cb=’+piwik.cacheBuster,link:function(scope,element,attrs,controllers){scope.groupModel=websiteGroupsAdminModel;scope.website=controllers[0].getWebsite();scope.dashboardCtrl=controllers[1];},controller:‘WebsiteGroupsAdminController’}});

Regards
Pete

Hi Lukas,

do you have an idea? More and more users are now reporting the problem.

Regards
Pete

Can you have a look at the requests in the browser console while loading the dashboard initially? Which requests are stuck or take a long time to finish loading?

it looks like you’re using an old plugin called possibly websiteGroups or similar. Can you try delete this plugin from your Matomo and try again?

1 Like

This indeed seems to be caused by the old PiwikPro plugin WebsiteGroups:

https://github.com/PiwikPRO/plugin-WebsiteGroups (they deleted all traces of it since then)
GitHub - PiwikPRO/plugin-WebsiteGroups: Adds the possibility to assign a group to a website and to rename groups within the All Websites Dashboard.

The plugin was never updated to support Matomo 3 and isn’t maintained anymore for many years, but I think (but can’t check it as it is gone from the internet) that they did specify in the plugin.json that it is compatible with every Matomo version >2 and therefore it never gets disabled (see Restrict open-ended require to the major Matomo version it defined · Issue #14342 · matomo-org/matomo · GitHub).

Many thanks for the help. Unfortunately, the problem was still there when we deleted the plugin.

However, we have found the problem.
The widget “Page Title” in our default dashboard could not load any content. It stayed empty. After we deleted the widget and added it again, everything was ok.
Do you have any idea what that could have been?

Good to hear it’s fixed. We haven’t seen this before. If it happens again, feel free to create a bug report on http://www.github.com/matomo-org/matomo

1 Like