Skip to content

Exception The arguments array must contain 2 items, 1 given in trigger_deprecation #43963

Closed
@olegtytarenko

Description

@olegtytarenko

Symfony version(s) affected

5.4.0-BETA1

Description

In Symfony\Component\DependencyInjection\Compiler\getDefinitionId:68 used function trigger_deprecation

When you try php bin/console cache:clear you get exception

15:55:38 CRITICAL  [php] Uncaught Error: The arguments array must contain 2 items, 1 given
[
  "exception" => ValueError {
    #message: "The arguments array must contain 2 items, 1 given"
    #code: 0
    #file: "./vendor/symfony/deprecation-contracts/function.php"
    #line: 26
    trace: {
      ./vendor/symfony/deprecation-contracts/function.php:26 { …}
      ./vendor/symfony/dependency-injection/Compiler/ResolveReferencesToAliasesPass.php:72 { …}
      ./vendor/symfony/dependency-injection/Compiler/ResolveReferencesToAliasesPass.php:51 { …}
      ./vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php:81 { …}
      ./vendor/symfony/dependency-injection/Compiler/ResolveReferencesToAliasesPass.php:48 { …}
      ./vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php:90 { …}
      ./vendor/symfony/dependency-injection/Compiler/ResolveReferencesToAliasesPass.php:48 { …}
      ./vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php:81 { …}
      ./vendor/symfony/dependency-injection/Compiler/ResolveReferencesToAliasesPass.php:48 { …}
      ./vendor/symfony/dependency-injection/Compiler/AbstractRecursivePass.php:46 { …}
      ./vendor/symfony/dependency-injection/Compiler/ResolveReferencesToAliasesPass.php:30 { …}
      ./vendor/symfony/dependency-injection/Compiler/Compiler.php:82 { …}
      ./vendor/symfony/dependency-injection/ContainerBuilder.php:757 { …}
      ./vendor/symfony/http-kernel/Kernel.php:548 { …}
      ./vendor/symfony/http-kernel/Kernel.php:789 { …}
      ./vendor/symfony/http-kernel/Kernel.php:128 { …}
      ./vendor/symfony/http-kernel/Kernel.php:146 { …}
      ./vendor/symfony/framework-bundle/Command/CacheClearCommand.php:237 { …}
      ./vendor/symfony/framework-bundle/Command/CacheClearCommand.php:156 { …}
      ./vendor/symfony/console/Command/Command.php:298 { …}
      ./vendor/symfony/console/Application.php:1023 { …}
      ./vendor/symfony/framework-bundle/Console/Application.php:96 { …}
      ./vendor/symfony/console/Application.php:299 { …}
      ./vendor/symfony/framework-bundle/Console/Application.php:82 { …}
      ./vendor/symfony/console/Application.php:171 { …}
      ./bin/console:43 {
        › $application = new Application($kernel);
        › $application->run($input);
        ›
        arguments: {
          $input: Symfony\Component\Console\Input\ArgvInput {#1 …}
        }
      }
    }
  }
]

How to reproduce

function fails when platform try use function vsprintf

input params

$message = "The "Symfony\Component\Cache\Adapter\AdapterInterface" alias is deprecated, use "%s" instead. It is being referenced by the "%s" service.";
$args = ["App\Doctrine\SoftDeleteExtension"];

var_dump( ($args ? vsprintf($message, $args) : $message) );

### Possible Solution

_No response_

### 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