Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Entry “Piwik\Auth” cannot be resolved after update to 3.6.0-b4 #190

Closed
froger-me opened this issue Aug 10, 2018 · 15 comments · Fixed by matomo-org/matomo#14797
Closed
Assignees

Comments

@froger-me
Copy link

After updating to 3.6.0-b4, visiting the index shows:

Entry “Piwik\Auth” cannot be resolved: the class is not instantiableFull definition:Object ( class = #NOT INSTANTIABLE# Piwik\Auth scope = singleton lazy = false)

The issue is I cannot downgrade back to 3.6.0-b3 (database backup failed).

Could you please indicate either:

  • the steps (SQL queries) to downgrade the database manually back to 3.6.0-b3
  • a manual quickfix of the 3.6.0-b4 code base

... to (at least) get Matomo back up and running after upgrade to 3.6.0-b4?

@froger-me
Copy link
Author

froger-me commented Aug 10, 2018

Downgraded to 3.6.0-b1 to get the issue go away, only manually changed the version in option table, did not revert the database changes done by b2, 3 and 4

@sgiehl
Copy link
Member

sgiehl commented Aug 10, 2018

@froger-me do you have any third party plugins installed like Google Authenticator?

@froger-me
Copy link
Author

Now that you mention it...

Bandwidth (v3.1.1)
CustomDimensions (v3.1.3)
ExampleRssWidget (v1.0)
LoginLdap (v4.0.5)
PiwikPro (v3.6.0-b1)
VisitorAvatar (v0.2.2)
BotTracker (v1.02)

@sgiehl
Copy link
Member

sgiehl commented Aug 11, 2018 via email

@diosmosis
Copy link
Member

@froger-me Does the update work if you temporarily disable LoginLdap? LoginLdap should work with the latest core code. If that doesn't change things, then it might be due to the PiwikPro plugin, though I don't know what's in that one.

@froger-me
Copy link
Author

@diosmosis Hi - I am sorry, the install I am maintaining is in a production environment (and yes, beta updates were enabled and that was not really my decision). I have recommended not to have it enabled anymore, as it is imperative we get no downtime.

@diosmosis
Copy link
Member

diosmosis commented Aug 12, 2018

@froger-me I see, if you experience the same problem later in a staging environment or something, let us know.

@XinfinityoO
Copy link

XinfinityoO commented Aug 12, 2018

I am slo having similar issues.
using beta 3 had to roll back to beta 1
also using:

bandwidth
loginldap

and why is this issue closed ?? @froger-me did you manage to find a fix ? or did you just roll back to previous version ?

@diosmosis
Copy link
Member

I looked at the code and I think I know what's causing this, will post a PR that can be tested soon.

@diosmosis
Copy link
Member

These changes should fix this issue: matomo-org/matomo#13279

@XinfinityoO
Copy link

issue still in beta 5 reverted back to beta 1. has the changes been merged yet ??

@sgiehl
Copy link
Member

sgiehl commented Aug 15, 2018

matomo-org/matomo#13279 has not yet been merged. But you could test it by applying the changed manually after updating

@minusf
Copy link

minusf commented Jun 6, 2019

this seems to be still broken in 3.9.1. when the Ldap plugin is enabled, the cronjob core archive fails. This seems to be an interesting combination of containers and ldap:

ERROR [2019-06-06 14:54:55] 86394  There was an error while regenerating container releases: Entry "Piwik\Auth" cannot be resolved: the class is not instantiable
Full definition:
Object (
    class = #NOT INSTANTIABLE# Piwik\Auth
    scope = singleton
    lazy = false
)#0 /export/matomo/vendor/php-di/php-di/src/DI/Definition/Resolver/ObjectCreator.php(243): DI\Definition\Exception\DefinitionException::create(Object(DI\Definition\ObjectDefinition), 'Entry "Piwik\\Au...')
matomo-org/matomo#1 /export/matomo/vendor/php-di/php-di/src/DI/Definition/Resolver/ObjectCreator.php(126): DI\Definition\Resolver\ObjectCreator->assertClassIsInstantiable(Object(DI\Definition\ObjectDefinition))
matomo-org/matomo#2 /export/matomo/vendor/php-di/php-di/src/DI/Definition/Resolver/ObjectCreator.php(70): DI\Definition\Resolver\ObjectCreator->createInstance(Object(DI\Definition\ObjectDefinition), Array)
matomo-org/matomo#3 /export/matomo/vendor/php-di/php-di/src/DI/Definition/Resolver/ResolverDispatcher.php(58): DI\Definition\Resolver\ObjectCreator->resolve(Object(DI\Definition\ObjectDefinition), Array)
matomo-org/matomo#4 /export/matomo/vendor/php-di/php-di/src/DI/Container.php(303): DI\Definition\Resolver\ResolverDispatcher->resolve(Object(DI\Definition\ObjectDefinition), Array)
matomo-org/matomo#5 /export/matomo/vendor/php-di/php-di/src/DI/Container.php(131): DI\Container->resolveDefinition(Object(DI\Definition\ObjectDefinition))
matomo-org/matomo#6 /export/matomo/core/Container/StaticContainer.php(80): DI\Container->get('Piwik\\Auth')
matomo-org/matomo#7 /export/matomo/core/Piwik.php(567): Piwik\Container\StaticContainer::get('Piwik\\Auth')
matomo-org/matomo#8 /export/matomo/plugins/CoreHome/Menu.php(32): Piwik\Piwik::getLoginPluginName()
matomo-org/matomo#9 /export/matomo/plugins/CoreHome/Menu.php(20): Piwik\Plugins\CoreHome\Menu->getLoginModule()
matomo-org/matomo#10 /export/matomo/core/Menu/MenuTop.php(57): Piwik\Plugins\CoreHome\Menu->configureTopMenu(Object(Piwik\Menu\MenuTop))
matomo-org/matomo#11 /export/matomo/plugins/TagManager/Controller.php(207): Piwik\Menu\MenuTop->getMenu()
matomo-org/matomo#12 /export/matomo/plugins/TagManager/Controller.php(53): Piwik\Plugins\TagManager\Controller->renderTemplate('@TagManager/deb...')
matomo-org/matomo#13 [internal function]: Piwik\Plugins\TagManager\Controller->debug()
matomo-org/matomo#14 /export/matomo/core/FrontController.php(589): call_user_func_array(Array, Array)
matomo-org/matomo#15 /export/matomo/core/FrontController.php(165): Piwik\FrontController->doDispatch('TagManager', 'debug', Array)
matomo-org/matomo#16 /export/matomo/plugins/TagManager/Context/WebContext/JavaScriptTagManagerLoader.php(72): Piwik\FrontController->dispatch('TagManager', 'debug')
matomo-org/matomo#17 /export/matomo/plugins/TagManager/Context/WebContext.php(166): Piwik\Plugins\TagManager\Context\WebContext\JavaScriptTagManagerLoader->getPreviewJsContent()
matomo-org/matomo#18 /export/matomo/plugins/TagManager/Context/WebContext.php(152): Piwik\Plugins\TagManager\Context\WebContext->addPreviewCode('/*!!\n * Matomo ...', true, true, Array)
matomo-org/matomo#19 /export/matomo/plugins/TagManager/Model/Container.php(123): Piwik\Plugins\TagManager\Context\WebContext->generate(Array)

any reason why this is closed if not merged?

@mattab mattab reopened this Jun 6, 2019
@tsteur tsteur transferred this issue from matomo-org/matomo Jul 31, 2019
@tsteur tsteur added this to the Current sprint milestone Jul 31, 2019
@diosmosis diosmosis self-assigned this Aug 9, 2019
@MichaelRoosz
Copy link

MichaelRoosz commented Aug 21, 2019

The same problem appeared suddenly on my setup. It worked before, noẃ it crashes when I run it via command line. Not sure what is causing it. I have LoginLdap enabled.

Edit: I tracked it down to this line of the Tag Manager plugin: https://github.com/matomo-org/tag-manager/blob/eef1a1d71c7bd0ec9ecdb199c04883cf3e21851c/Context/WebContext/JavaScriptTagManagerLoader.php#L72
If the calls is replaced with an empty string, it works fine.

I guess the problem appears after a Tag Manager container has been created.

Full definition:
Object (
    class = #NOT INSTANTIABLE# Piwik\Auth
    scope = singleton
    lazy = false
)#0 /srv/piwik/releases/20190822-000521/vendor/php-di/php-di/src/DI/Definition/Resolver/ObjectCreator.php(243): DI\Definition\Exception\DefinitionException::create(Object(DI\Definition\ObjectDefinition), 'Entry "Piwik\\Au...')
#1 /srv/piwik/releases/20190822-000521/vendor/php-di/php-di/src/DI/Definition/Resolver/ObjectCreator.php(126): DI\Definition\Resolver\ObjectCreator->assertClassIsInstantiable(Object(DI\Definition\ObjectDefinition))
#2 /srv/piwik/releases/20190822-000521/vendor/php-di/php-di/src/DI/Definition/Resolver/ObjectCreator.php(70): DI\Definition\Resolver\ObjectCreator->createInstance(Object(DI\Definition\ObjectDefinition), Array)
#3 /srv/piwik/releases/20190822-000521/vendor/php-di/php-di/src/DI/Definition/Resolver/ResolverDispatcher.php(58): DI\Definition\Resolver\ObjectCreator->resolve(Object(DI\Definition\ObjectDefinition), Array)
#4 /srv/piwik/releases/20190822-000521/vendor/php-di/php-di/src/DI/Container.php(303): DI\Definition\Resolver\ResolverDispatcher->resolve(Object(DI\Definition\ObjectDefinition), Array)
#5 /srv/piwik/releases/20190822-000521/vendor/php-di/php-di/src/DI/Container.php(131): DI\Container->resolveDefinition(Object(DI\Definition\ObjectDefinition))
#6 /srv/piwik/releases/20190822-000521/core/Container/StaticContainer.php(80): DI\Container->get('Piwik\\Auth')
#7 /srv/piwik/releases/20190822-000521/core/Piwik.php(567): Piwik\Container\StaticContainer::get('Piwik\\Auth')
#8 /srv/piwik/releases/20190822-000521/plugins/CoreHome/Menu.php(32): Piwik\Piwik::getLoginPluginName()
#9 /srv/piwik/releases/20190822-000521/plugins/CoreHome/Menu.php(20): Piwik\Plugins\CoreHome\Menu->getLoginModule()
#10 /srv/piwik/releases/20190822-000521/core/Menu/MenuTop.php(57): Piwik\Plugins\CoreHome\Menu->configureTopMenu(Object(Piwik\Menu\MenuTop))
#11 /srv/piwik/releases/20190822-000521/plugins/TagManager/Controller.php(207): Piwik\Menu\MenuTop->getMenu()
#12 /srv/piwik/releases/20190822-000521/plugins/TagManager/Controller.php(53): Piwik\Plugins\TagManager\Controller->renderTemplate('@TagManager/deb...')
#13 [internal function]: Piwik\Plugins\TagManager\Controller->debug()
#14 /srv/piwik/releases/20190822-000521/core/FrontController.php(589): call_user_func_array(Array, Array)
#15 /srv/piwik/releases/20190822-000521/core/FrontController.php(165): Piwik\FrontController->doDispatch('TagManager', 'debug', Array)
#16 /srv/piwik/releases/20190822-000521/plugins/TagManager/Context/WebContext/JavaScriptTagManagerLoader.php(72): Piwik\FrontController->dispatch('TagManager', 'debug')
#17 /srv/piwik/releases/20190822-000521/plugins/TagManager/Context/WebContext.php(166): Piwik\Plugins\TagManager\Context\WebContext\JavaScriptTagManagerLoader->getPreviewJsContent()
#18 /srv/piwik/releases/20190822-000521/plugins/TagManager/Context/WebContext.php(152): Piwik\Plugins\TagManager\Context\WebContext->addPreviewCode('/*!!\n * Matomo ...', true, true, Array)
#19 /srv/piwik/releases/20190822-000521/plugins/TagManager/Model/Container.php(123): Piwik\Plugins\TagManager\Context\WebContext->generate(Array)
#20 /srv/piwik/releases/20190822-000521/plugins/TagManager/TagManager.php(253): Piwik\Plugins\TagManager\Model\Container->generateContainer(1, 'XyGLAZlf')
#21 /srv/piwik/releases/20190822-000521/core/Access.php(628): Piwik\Plugins\TagManager\TagManager->Piwik\Plugins\TagManager\{closure}()
#22 /srv/piwik/releases/20190822-000521/core/Piwik.php(840): Piwik\Access::doAsSuperUser(Object(Closure))
#23 /srv/piwik/releases/20190822-000521/plugins/TagManager/TagManager.php(261): Piwik\Piwik::doAsSuperUser(Object(Closure))
#24 [internal function]: Piwik\Plugins\TagManager\TagManager->regenerateReleasedContainers('/srv/piwik/rele...')
#25 /srv/piwik/releases/20190822-000521/core/EventDispatcher.php(141): call_user_func_array(Array, Array)
#26 /srv/piwik/releases/20190822-000521/core/Piwik.php(780): Piwik\EventDispatcher->postEvent('CustomPiwikJs.p...', Array, false, Array)
#27 /srv/piwik/releases/20190822-000521/plugins/CustomPiwikJs/TrackerUpdater.php(141): Piwik\Piwik::postEvent('CustomPiwikJs.p...', Array)
#28 /srv/piwik/releases/20190822-000521/plugins/CustomPiwikJs/Commands/UpdateTracker.php(64): Piwik\Plugins\CustomPiwikJs\TrackerUpdater->update()
#29 /srv/piwik/releases/20190822-000521/plugins/CustomPiwikJs/Commands/UpdateTracker.php(42): Piwik\Plugins\CustomPiwikJs\Commands\UpdateTracker->updateTracker('/srv/piwik/rele...', '/srv/piwik/rele...', false)
#30 /srv/piwik/releases/20190822-000521/vendor/symfony/console/Symfony/Component/Console/Command/Command.php(257): Piwik\Plugins\CustomPiwikJs\Commands\UpdateTracker->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#31 /srv/piwik/releases/20190822-000521/vendor/symfony/console/Symfony/Component/Console/Application.php(874): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#32 /srv/piwik/releases/20190822-000521/vendor/symfony/console/Symfony/Component/Console/Application.php(195): Symfony\Component\Console\Application->doRunCommand(Object(Piwik\Plugins\CustomPiwikJs\Commands\UpdateTracker), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#33 [internal function]: Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#34 /srv/piwik/releases/20190822-000521/core/Console.php(98): call_user_func(Array, Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#35 /srv/piwik/releases/20190822-000521/core/Access.php(628): Piwik\Console->Piwik\{closure}()
#36 /srv/piwik/releases/20190822-000521/core/Console.php(99): Piwik\Access::doAsSuperUser(Object(Closure))
#37 /srv/piwik/releases/20190822-000521/vendor/symfony/console/Symfony/Component/Console/Application.php(126): Piwik\Console->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#38 /srv/piwik/releases/20190822-000521/console(27): Symfony\Component\Console\Application->run()
#39 {main}
ERROR [2019-08-21 22:05:26] 14754  There was an error while regenerating container releases: Entry "Piwik\Auth" cannot be resolved: the class is not instantiable
Full definition:
Object (
    class = #NOT INSTANTIABLE# Piwik\Auth
    scope = singleton
    lazy = false
)#0 /srv/piwik/releases/20190822-000521/vendor/php-di/php-di/src/DI/Definition/Resolver/ObjectCreator.php(243): DI\Definition\Exception\DefinitionException::create(Object(DI\Definition\ObjectDefinition), 'Entry "Piwik\\Au...')
#1 /srv/piwik/releases/20190822-000521/vendor/php-di/php-di/src/DI/Definition/Resolver/ObjectCreator.php(126): DI\Definition\Resolver\ObjectCreator->assertClassIsInstantiable(Object(DI\Definition\ObjectDefinition))
#2 /srv/piwik/releases/20190822-000521/vendor/php-di/php-di/src/DI/Definition/Resolver/ObjectCreator.php(70): DI\Definition\Resolver\ObjectCreator->createInstance(Object(DI\Definition\ObjectDefinition), Array)
#3 /srv/piwik/releases/20190822-000521/vendor/php-di/php-di/src/DI/Definition/Resolver/ResolverDispatcher.php(58): DI\Definition\Resolver\ObjectCreator->resolve(Object(DI\Definition\ObjectDefinition), Array)
#4 /srv/piwik/releases/20190822-000521/vendor/php-di/php-di/src/DI/Container.php(303): DI\Definition\Resolver\ResolverDispatcher->resolve(Object(DI\Definition\ObjectDefinition), Array)
#5 /srv/piwik/releases/20190822-000521/vendor/php-di/php-di/src/DI/Container.php(131): DI\Container->resolveDefinition(Object(DI\Definition\ObjectDefinition))
#6 /srv/piwik/releases/20190822-000521/core/Container/StaticContainer.php(80): DI\Container->get('Piwik\\Auth')
#7 /srv/piwik/releases/20190822-000521/core/Piwik.php(567): Piwik\Container\StaticContainer::get('Piwik\\Auth')
#8 /srv/piwik/releases/20190822-000521/plugins/CoreHome/Menu.php(32): Piwik\Piwik::getLoginPluginName()
#9 /srv/piwik/releases/20190822-000521/plugins/CoreHome/Menu.php(20): Piwik\Plugins\CoreHome\Menu->getLoginModule()
#10 /srv/piwik/releases/20190822-000521/core/Menu/MenuTop.php(57): Piwik\Plugins\CoreHome\Menu->configureTopMenu(Object(Piwik\Menu\MenuTop))
#11 /srv/piwik/releases/20190822-000521/plugins/TagManager/Controller.php(207): Piwik\Menu\MenuTop->getMenu()
#12 /srv/piwik/releases/20190822-000521/plugins/TagManager/Controller.php(53): Piwik\Plugins\TagManager\Controller->renderTemplate('@TagManager/deb...')
#13 [internal function]: Piwik\Plugins\TagManager\Controller->debug()
#14 /srv/piwik/releases/20190822-000521/core/FrontController.php(589): call_user_func_array(Array, Array)
#15 /srv/piwik/releases/20190822-000521/core/FrontController.php(165): Piwik\FrontController->doDispatch('TagManager', 'debug', Array)
#16 /srv/piwik/releases/20190822-000521/plugins/TagManager/Context/WebContext/JavaScriptTagManagerLoader.php(72): Piwik\FrontController->dispatch('TagManager', 'debug')
#17 /srv/piwik/releases/20190822-000521/plugins/TagManager/Context/WebContext.php(166): Piwik\Plugins\TagManager\Context\WebContext\JavaScriptTagManagerLoader->getPreviewJsContent()
#18 /srv/piwik/releases/20190822-000521/plugins/TagManager/Context/WebContext.php(152): Piwik\Plugins\TagManager\Context\WebContext->addPreviewCode('/*!!\n * Matomo ...', true, true, Array)
#19 /srv/piwik/releases/20190822-000521/plugins/TagManager/Model/Container.php(123): Piwik\Plugins\TagManager\Context\WebContext->generate(Array)
#20 /srv/piwik/releases/20190822-000521/plugins/TagManager/TagManager.php(253): Piwik\Plugins\TagManager\Model\Container->generateContainer(1, 'XyGLAZlf')
#21 /srv/piwik/releases/20190822-000521/core/Access.php(628): Piwik\Plugins\TagManager\TagManager->Piwik\Plugins\TagManager\{closure}()
#22 /srv/piwik/releases/20190822-000521/core/Piwik.php(840): Piwik\Access::doAsSuperUser(Object(Closure))
#23 /srv/piwik/releases/20190822-000521/plugins/TagManager/TagManager.php(261): Piwik\Piwik::doAsSuperUser(Object(Closure))
#24 [internal function]: Piwik\Plugins\TagManager\TagManager->regenerateReleasedContainers('/srv/piwik/rele...')
#25 /srv/piwik/releases/20190822-000521/core/EventDispatcher.php(141): call_user_func_array(Array, Array)
#26 /srv/piwik/releases/20190822-000521/core/Piwik.php(780): Piwik\EventDispatcher->postEvent('CustomPiwikJs.p...', Array, false, Array)
#27 /srv/piwik/releases/20190822-000521/plugins/CustomPiwikJs/TrackerUpdater.php(156): Piwik\Piwik::postEvent('CustomPiwikJs.p...', Array)
#28 /srv/piwik/releases/20190822-000521/plugins/CustomPiwikJs/TrackerUpdater.php(146): Piwik\Plugins\CustomPiwikJs\TrackerUpdater->updateAlternative('matomo.js', 'piwik.js', '/*!!\n * Piwik -...')
#29 /srv/piwik/releases/20190822-000521/plugins/CustomPiwikJs/Commands/UpdateTracker.php(64): Piwik\Plugins\CustomPiwikJs\TrackerUpdater->update()
#30 /srv/piwik/releases/20190822-000521/plugins/CustomPiwikJs/Commands/UpdateTracker.php(42): Piwik\Plugins\CustomPiwikJs\Commands\UpdateTracker->updateTracker('/srv/piwik/rele...', '/srv/piwik/rele...', false)
#31 /srv/piwik/releases/20190822-000521/vendor/symfony/console/Symfony/Component/Console/Command/Command.php(257): Piwik\Plugins\CustomPiwikJs\Commands\UpdateTracker->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#32 /srv/piwik/releases/20190822-000521/vendor/symfony/console/Symfony/Component/Console/Application.php(874): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#33 /srv/piwik/releases/20190822-000521/vendor/symfony/console/Symfony/Component/Console/Application.php(195): Symfony\Component\Console\Application->doRunCommand(Object(Piwik\Plugins\CustomPiwikJs\Commands\UpdateTracker), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#34 [internal function]: Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#35 /srv/piwik/releases/20190822-000521/core/Console.php(98): call_user_func(Array, Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#36 /srv/piwik/releases/20190822-000521/core/Access.php(628): Piwik\Console->Piwik\{closure}()
#37 /srv/piwik/releases/20190822-000521/core/Console.php(99): Piwik\Access::doAsSuperUser(Object(Closure))
#38 /srv/piwik/releases/20190822-000521/vendor/symfony/console/Symfony/Component/Console/Application.php(126): Piwik\Console->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#39 /srv/piwik/releases/20190822-000521/console(27): Symfony\Component\Console\Application->run()
#40 {main}```

@diosmosis
Copy link
Member

FYI, I created a PR to fix this here: matomo-org/matomo#14797

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants