After update to 4.0.4 from 3.14.1
On the console only this will logged:
Uncaught exception: Call to undefined method DI\ContainerBuilder::setDefinitionCache()
in /var/www/matomo/core/Container/ContainerFactory.php line 69
<a href='/0'>#0</a> /var/www/matomo/core/Application/Environment.php(141): Piwik\Container\ContainerFactory->create()
<a href='/1'>#1</a> /var/www/matomo/core/Application/Environment.php(95): Piwik\Application\Environment->createContainer()
<a href='/2'>#2</a> /var/www/matomo/core/Console.php(250): Piwik\Application\Environment->init()
<a href='/3'>#3</a> /var/www/matomo/core/Console.php(112): Piwik\Console->initEnvironment(Object(Symfony\Component\Console\Output\ConsoleOutput))
<a href='/4'>#4</a> /var/www/matomo/core/Console.php(93): Piwik\Console->doRunImpl(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
<a href='/5'>#5</a> /var/www/matomo/vendor/symfony/console/Symfony/Component/Console/Application.php(126): Piwik\Console->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
<a href='/6'>#6</a> /var/www/matomo/console(32): Symfony\Component\Console\Application->run()
<a href='/7'>#7</a> {main}
The only solution was an rollback to 3.14.1
Maybe not all files were updated correctly. That method should actually not be called any longer.
How did you perform the update?
I simple click on the update button of the ui. After some time the message will shown in the browser.
Hi @tuxmaster5000 unfortunately, it looks like during the update one file was not correctly updated. Maybe the filesystem had some glitch. Any chance you could try the manual 3 step update see https://matomo.org/docs/update/#the-manual-three-step-update ?
It be important to backup the file config/config.ini.php
. Sorry about that I know it's a pain and takes extra time.
It will fails also, but with another error.
After overwriting the files, matomo don't start anymore.
Did you replace the ldap plugin with the new version as well?
So after update it by using the zip file for the matomo itself and for the ldap plug, the updater starts.
But than I ran into an sql problem:
[X] Critical Error during the update process:
* /var/www/matomo/core/Updates/4.0.0-b1.php: Error trying to execute the migration 'ALTER TABLE `piwik_log_visit` ADD COLUMN `visitor_seconds_since_first` INT(11) UNSIGNED NULL, ADD COLUMN `visitor_seconds_since_order` INT(11) UNSIGNED NULL, ADD COLUMN `visitor_seconds_since_last` INT(11) UNSIGNED NULL, ADD COLUMN `profilable` TINYINT(1) NULL;'. The error was: SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
But this have I fixed with:
https://mariadb.com/kb/en/troubleshooting-row-size-too-large-errors-with-innodb/
After that I can login again and update rest if the plug ins.
But I have never seen this problem before on any of my matomo installations.
Great, glad this works now @tuxmaster5000
Maybe there was some glitch in the filesystem during the update. We do try to update the files multiple times if needed but somehow it still didn't update this file correctly. Sorry about that. I'm glad you otherwise got things sorted now. I'll close this issue for now but feel free to comment in there's still something left to look at. Thanks for this.