Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

[DI] The "kernel" service is synthetic ServiceNotFoundException on console terminate listener  #57560

Copy link
Copy link
Closed
@vtsykun

Description

@vtsykun
Issue body actions

Symfony version(s) affected

6.4.8

Description

I got an error on ConsoleTerminateEvent. See STR below

In Container.php line 246:
                                                                                             
  [Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]                 
  The "kernel" service is synthetic, it needs to be set at boot time before it can be used.  
                                                                                             

Exception trace:
  at /var/www/packeton/vendor/symfony/dependency-injection/Container.php:246
 Symfony\Component\DependencyInjection\Container::make() at /var/www/packeton/vendor/symfony/dependency-injection/Container.php:211
 Symfony\Component\DependencyInjection\Container->get() at /var/www/packeton/var/cache/dev/ContainerHH4zglt/Packeton_KernelDevDebugContainer.php:576
 ContainerHH4zglt\Packeton_KernelDevDebugContainer::get_Container_Private_ProfilerService() at /var/www/packeton/var/cache/dev/ContainerHH4zglt/getConsoleProfilerListenerService.php:23
 ContainerHH4zglt\getConsoleProfilerListenerService::do() at /var/www/packeton/var/cache/dev/ContainerHH4zglt/Packeton_KernelDevDebugContainer.php:541
 ContainerHH4zglt\Packeton_KernelDevDebugContainer->load() at /var/www/packeton/var/cache/dev/ContainerHH4zglt/Packeton_KernelDevDebugContainer.php:922
 ContainerHH4zglt\Packeton_KernelDevDebugContainer::ContainerHH4zglt\{closure}() at /var/www/packeton/vendor/symfony/event-dispatcher/EventDispatcher.php:235
 Symfony\Component\EventDispatcher\EventDispatcher->sortListeners() at /var/www/packeton/vendor/symfony/event-dispatcher/EventDispatcher.php:70
 Symfony\Component\EventDispatcher\EventDispatcher->getListeners() at /var/www/packeton/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:276
 Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->preProcess() at /var/www/packeton/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:133
 Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch() at /var/www/packeton/vendor/symfony/console/Application.php:1111
 Symfony\Component\Console\Application->doRunCommand() at /var/www/packeton/vendor/symfony/framework-bundle/Console/Application.php:126
 Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand() at /var/www/packeton/vendor/symfony/console/Application.php:324
 Symfony\Component\Console\Application->doRun() at /var/www/packeton/vendor/symfony/framework-bundle/Console/Application.php:80
 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /var/www/packeton/vendor/symfony/console/Application.php:175
 Symfony\Component\Console\Application->run() at /var/www/packeton/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php:49
 Symfony\Component\Runtime\Runner\Symfony\ConsoleApplicationRunner->run() at /var/www/packeton/vendor/autoload_runtime.php:29
 require_once() at /var/www/packeton/bin/console:11

How to reproduce

  1. Create the command
<?php

namespace Packeton\Command;

use Symfony\Component\Console\Attribute\AsCommand;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\DependencyInjection\Attribute\Autowire;
use Symfony\Component\DependencyInjection\ContainerInterface;

#[AsCommand('okvpn:test')]
class TestCommand extends Command
{
    public function __construct(
        #[Autowire(service: 'service_container')]
        private readonly ContainerInterface $container
    ) {
        parent::__construct();
    }

    protected function execute(InputInterface $input, OutputInterface $output): int
    {
        $this->container->reset();

        return 0;
    }
}
  1. launch the command okvpn:test

Possible Solution

See PR

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.