@larsen0815 opened this Issue on August 3rd 2015

Same problem as in ticket #8014 when I run "Administration > Diagnostic > System Check". I don´t know when this problem started as I clicked on that menu entry for the first time.

Output of "./console diagnostics:run"

  [DI\Definition\Exception\DefinitionException]
  Entry Piwik\Plugins\Diagnostics\DiagnosticService cannot be resolved: The parameter 'mandatoryDiagnostics' of Piwik\Plugins\Diagnostics\DiagnosticService::__construct has no value defin
  ed or guessable
  Full definition:
  Object (
      class = Piwik\Plugins\Diagnostics\DiagnosticService
      scope = singleton
      lazy = false
      __construct(
          $mandatoryDiagnostics = #UNDEFINED#
          $optionalDiagnostics = #UNDEFINED#
          $disabledDiagnostics = #UNDEFINED#
      )
  )

The console command ./console plugin:activate Diagnostics tells me:

The plugin is already activated.

In config/config.ini.php there is PluginsInstalled[] = "Diagnostics".

@mnapoli commented on August 3rd 2015 Member

Hi, could you paste the content of plugins/Diagnostics/config/config.php?

@larsen0815 commented on August 3rd 2015
<?php

return array(
    // Diagnostics for everything that is required for Piwik to run
    'diagnostics.required' => array(
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\PhpVersionCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\DbAdapterCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\PhpExtensionsCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\PhpFunctionsCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\PhpSettingsCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\WriteAccessCheck'),
    ),
    // Diagnostics for recommended features
    'diagnostics.optional' => array(
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\FileIntegrityCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\TrackerCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\MemoryLimitCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\TimezoneCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\HttpClientCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\PageSpeedCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\GdExtensionCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\RecommendedExtensionsCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\RecommendedFunctionsCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\NfsDiskCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\CronArchivingCheck'),
        DI\get('Piwik\Plugins\Diagnostics\Diagnostic\LoadDataInfileCheck'),
    ),
    // Allows other plugins to disable diagnostics that were previously registered
    'diagnostics.disabled' => array(),

    'Piwik\Plugins\Diagnostics\DiagnosticService' => DI\object()
        ->constructor(DI\get('diagnostics.required'), DI\get('diagnostics.optional'), DI\get('diagnostics.disabled')),

    'Piwik\Plugins\Diagnostics\Diagnostic\MemoryLimitCheck' => DI\object()
        ->constructorParameter('minimumMemoryLimit', DI\get('ini.General.minimum_memory_limit')),

    'Piwik\Plugins\Diagnostics\Diagnostic\WriteAccessCheck' => DI\object()
        ->constructorParameter('tmpPath', DI\get('path.tmp')),
);
@mnapoli commented on August 3rd 2015 Member

Thanks, this all looks normal. Is there a way you could provide us with a direct access to the server (temporary SSH access)? If so, you can send me an email to matthieu.napoli at piwik.pro.

Running ./console diagnostics:run -v (verbose mode) might provide also a little more information, but I can run that myself if I can have access to your machine.

@larsen0815 commented on August 3rd 2015

I´m afraid, SSH access will not be possible for security concerns. We could start a view-only teamviewer session and chat however.

Exception trace:
 () at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/vendor/php-di/php-di/src/DI/Definition/Exception/DefinitionException.php:24
 DI\Definition\Exception\DefinitionException::create() at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/vendor/php-di/php-di/src/DI/Definition/Resolver/ObjectCreator.php:176
 DI\Definition\Resolver\ObjectCreator->createInstance() at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/vendor/php-di/php-di/src/DI/Definition/Resolver/ObjectCreator.php:79
 DI\Definition\Resolver\ObjectCreator->resolve() at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/vendor/php-di/php-di/src/DI/Definition/Resolver/ResolverDispatcher.php:60
 DI\Definition\Resolver\ResolverDispatcher->resolve() at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/vendor/php-di/php-di/src/DI/Container.php:285
 DI\Container->resolveDefinition() at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/vendor/php-di/php-di/src/DI/Container.php:122
 DI\Container->get() at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/core/Container/StaticContainer.php:80
 Piwik\Container\StaticContainer::get() at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/plugins/Diagnostics/Commands/Run.php:36
 Piwik\Plugins\Diagnostics\Commands\Run->execute() at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:257
 Symfony\Component\Console\Command\Command->run() at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/vendor/symfony/console/Symfony/Component/Console/Application.php:874
 Symfony\Component\Console\Application->doRunCommand() at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/vendor/symfony/console/Symfony/Component/Console/Application.php:195
 Symfony\Component\Console\Application->doRun() at n/a:n/a
 call_user_func() at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/core/Console.php:79
 Piwik\Console->Piwik\{closure}() at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/core/Access.php:456
 Piwik\Access::doAsSuperUser() at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/core/Console.php:80
 Piwik\Console->doRun() at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/vendor/symfony/console/Symfony/Component/Console/Application.php:126
 Symfony\Component\Console\Application->run() at /var/www/vhosts/piwik.atlantismedia.de/httpdocs/console:27
@mnapoli commented on August 3rd 2015 Member

I understand. Last checks:

  • could you clear the caches (./console cache:clear)
  • could you please check that there is a line Plugins[] = "Diagnostics" in your config.ini.php?

You said there is PluginsInstalled[] = "Diagnostics" but that only checks that the plugin is installed (not that it is actually enabled). Also ./console plugin:activate Diagnostics did return something correct, but who knows, I want to rule out all the "common" reason for errors.

@larsen0815 commented on August 3rd 2015

Caches: Cleared, same error when I clicked on "System Check" afterwards. Cleared cache again after that

# grep Diagnostics config/config.ini.php
PluginsInstalled[] = "Diagnostics"

Added 'Plugins[] = "Diagnostics"' and now I can run the system check. Thx =)

I recall that we had problems when updating to 2.0 (reversed, then skipped) and 2.4 (dev-system) and 2.5 (production system). The final solution was to remove the "plugins" section. This got automatically recreated afterwards.

@mnapoli commented on August 3rd 2015 Member

Glad to hear that! Thanks for letting us know

This Issue was closed on August 3rd 2015
Powered by GitHub Issue Mirror