Skip to content

[Messenger] Messages in failed queue decoding fail after upgrading to 7.4.0 #62585

@norkunas

Description

@norkunas

Symfony version(s) affected

7.4.0

Description

All of the background messages that were added to the failed queue in my prod, are now returning error:

In PhpSerializer.php line 99:
                                                                                                                  
  [Symfony\Component\Messenger\Exception\MessageDecodingFailedException]                                          
  Could not decode Envelope: Cannot assign null to property Symfony\Component\Lock\Key::$resource of type string  
                                                                                                                  

Exception trace:
  at /app/vendor/symfony/messenger/Transport/Serialization/PhpSerializer.php:99
 Symfony\Component\Messenger\Transport\Serialization\PhpSerializer->safelyUnserialize() at /app/vendor/symfony/messenger/Transport/Serialization/PhpSerializer.php:54
 Symfony\Component\Messenger\Transport\Serialization\PhpSerializer->decode() at /app/vendor/symfony/messenger/Transport/Serialization/SigningSerializer.php:48
 Symfony\Component\Messenger\Transport\Serialization\SigningSerializer->decode() at /app/vendor/symfony/doctrine-messenger/Transport/DoctrineReceiver.php:140
 Symfony\Component\Messenger\Bridge\Doctrine\Transport\DoctrineReceiver->createEnvelopeFromData() at /app/vendor/symfony/doctrine-messenger/Transport/DoctrineReceiver.php:106
 Symfony\Component\Messenger\Bridge\Doctrine\Transport\DoctrineReceiver->all() at /app/vendor/symfony/messenger/Command/FailedMessagesShowCommand.php:101
 Symfony\Component\Messenger\Command\FailedMessagesShowCommand->listMessages() at /app/vendor/symfony/messenger/Command/FailedMessagesShowCommand.php:79
 Symfony\Component\Messenger\Command\FailedMessagesShowCommand->execute() at /app/vendor/symfony/console/Command/Command.php:335
 Symfony\Component\Console\Command\Command->run() at /app/vendor/symfony/console/Application.php:1103
 Symfony\Component\Console\Application->doRunCommand() at /app/vendor/symfony/framework-bundle/Console/Application.php:123
 Symfony\Bundle\FrameworkBundle\Console\Application->doRunCommand() at /app/vendor/symfony/console/Application.php:356
 Symfony\Component\Console\Application->doRun() at /app/vendor/symfony/framework-bundle/Console/Application.php:77
 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /app/vendor/symfony/console/Application.php:195
 Symfony\Component\Console\Application->run() at /app/vendor/symfony/runtime/Runner/Symfony/ConsoleApplicationRunner.php:49
 Symfony\Component\Runtime\Runner\Symfony\ConsoleApplicationRunner->run() at /app/vendor/autoload_runtime.php:32
 require_once() at /app/bin/console:11

How to reproduce

Have messages in background queue prior to upgrading to 7.4

Possible Solution

🤷‍♂️

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