Closed
Description
Symfony version(s) affected
6.2.0
Description
Hello, while upgrading my project from Symfony 6.1 to 6.2, I just got an error with the expression-language component on dev environment.
Warning: Undefined array key "is_null_coalesce"
Downgrading only expression-language from 6.2.0 to 6.1.6 "fix the issue".
How to reproduce
In my case, the error occured while using "willdurand/hateoas" and serializing some objects using jms/serializer
Possible Solution
No response
Additional Context
The stack trace if it helps:
ErrorException:
Warning: Undefined array key "is_null_coalesce"
at vendor/symfony/expression-language/Node/GetAttrNode.php:88
at Symfony\Component\ExpressionLanguage\Node\GetAttrNode->evaluate(array('constant' => array('compiler' => object(Closure), 'evaluator' => object(Closure)), 'service' => array('compiler' => object(Closure), 'evaluator' => object(Closure)), 'parameter' => array('compiler' => object(Closure), 'evaluator' => object(Closure)), 'is_granted' => array('compiler' => object(Closure), 'evaluator' => object(Closure)), 'link' => array('compiler' => object(Closure), 'evaluator' => object(Closure))), array('object' => object(EntryPointLightRepresentation), 'context' => object(SerializationContext), 'container' => object(App_KernelDevDebugContainer)))
(vendor/symfony/expression-language/ExpressionLanguage.php:59)
at Symfony\Component\ExpressionLanguage\ExpressionLanguage->evaluate(object(ParsedExpression), array('object' => object(EntryPointLightRepresentation), 'context' => object(SerializationContext), 'container' => object(App_KernelDevDebugContainer)))
(vendor/jms/serializer/src/Expression/ExpressionEvaluator.php:51)
at JMS\Serializer\Expression\ExpressionEvaluator->evaluateParsed(object(Expression), array('object' => object(EntryPointLightRepresentation), 'context' => object(SerializationContext)))
(vendor/willdurand/hateoas/src/Factory/LinkFactory.php:85)
at Hateoas\Factory\LinkFactory->checkExpression(object(Expression), array('object' => object(EntryPointLightRepresentation), 'context' => object(SerializationContext)))
(vendor/willdurand/hateoas/src/Factory/LinkFactory.php:101)
at Hateoas\Factory\LinkFactory->evaluateArray(array('entry_point_id' => object(Expression)), array('object' => object(EntryPointLightRepresentation), 'context' => object(SerializationContext)))
(vendor/willdurand/hateoas/src/Factory/LinkFactory.php:51)
at Hateoas\Factory\LinkFactory->createLink(object(EntryPointLightRepresentation), object(Relation), object(SerializationContext))
(vendor/willdurand/hateoas/src/Factory/LinksFactory.php:51)
at Hateoas\Factory\LinksFactory->create(object(EntryPointLightRepresentation), object(SerializationContext))
(vendor/willdurand/hateoas/src/Serializer/AddRelationsListener.php:61)
at Hateoas\Serializer\AddRelationsListener->onPostSerialize(object(ObjectEvent), 'serializer.post_serialize', 'App\\Representation\\Api\\v1\\EntryPoint\\EntryPointLightRepresentation', 'json', object(TraceableEventDispatcher))
at call_user_func_array(array(object(AddRelationsListener), 'onPostSerialize'), array(object(ObjectEvent), 'serializer.post_serialize', 'App\\Representation\\Api\\v1\\EntryPoint\\EntryPointLightRepresentation', 'json', object(TraceableEventDispatcher)))
(vendor/jms/serializer-bundle/Debug/TraceableEventDispatcher.php:100)
at JMS\SerializerBundle\Debug\TraceableEventDispatcher->JMS\SerializerBundle\Debug\{closure}(object(ObjectEvent), 'serializer.post_serialize', 'App\\Representation\\Api\\v1\\EntryPoint\\EntryPointLightRepresentation', 'json', object(TraceableEventDispatcher))
(vendor/jms/serializer/src/EventDispatcher/EventDispatcher.php:112)
at JMS\Serializer\EventDispatcher\EventDispatcher->dispatch('serializer.post_serialize', 'App\\Representation\\Api\\v1\\EntryPoint\\EntryPointLightRepresentation', 'json', object(ObjectEvent))
(vendor/jms/serializer/src/GraphNavigator/SerializationGraphNavigator.php:296)
at JMS\Serializer\GraphNavigator\SerializationGraphNavigator->afterVisitingObject(object(ClassMetadata), object(EntryPointLightRepresentation), array('name' => 'App\\Representation\\Api\\v1\\EntryPoint\\EntryPointLightRepresentation', 'params' => array()))
(vendor/jms/serializer/src/GraphNavigator/SerializationGraphNavigator.php:275)
at JMS\Serializer\GraphNavigator\SerializationGraphNavigator->accept(object(EntryPointLightRepresentation), array('name' => 'App\\Representation\\Api\\v1\\EntryPoint\\EntryPointLightRepresentation', 'params' => array()))
(vendor/jms/serializer/src/JsonSerializationVisitor.php:101)
at JMS\Serializer\JsonSerializationVisitor->visitArray(array(object(EntryPointLightRepresentation), object(EntryPointLightRepresentation), object(EntryPointLightRepresentation), object(EntryPointLightRepresentation)), array('name' => 'array', 'params' => array(array('name' => 'App\\Representation\\Api\\v1\\EntryPoint\\EntryPointLightRepresentation', 'params' => array()))))
(vendor/jms/serializer/src/GraphNavigator/SerializationGraphNavigator.php:169)
at JMS\Serializer\GraphNavigator\SerializationGraphNavigator->accept(array(object(EntryPointLightRepresentation), object(EntryPointLightRepresentation), object(EntryPointLightRepresentation), object(EntryPointLightRepresentation)), array('name' => 'array', 'params' => array(array('name' => 'App\\Representation\\Api\\v1\\EntryPoint\\EntryPointLightRepresentation', 'params' => array()))), object(SerializationContext))
(vendor/willdurand/hateoas/src/Serializer/JsonHalSerializer.php:54)
at Hateoas\Serializer\JsonHalSerializer->serializeEmbeddeds(array(object(Embedded)), object(JsonSerializationVisitor), object(SerializationContext))
(vendor/willdurand/hateoas/src/Serializer/AddRelationsListener.php:71)
at Hateoas\Serializer\AddRelationsListener->onPostSerialize(object(ObjectEvent), 'serializer.post_serialize', 'App\\Representation\\Api\\v1\\EntryPoint\\EntryPointCollectionRepresentation', 'json', object(TraceableEventDispatcher))
at call_user_func_array(array(object(AddRelationsListener), 'onPostSerialize'), array(object(ObjectEvent), 'serializer.post_serialize', 'App\\Representation\\Api\\v1\\EntryPoint\\EntryPointCollectionRepresentation', 'json', object(TraceableEventDispatcher)))
(vendor/jms/serializer-bundle/Debug/TraceableEventDispatcher.php:100)
at JMS\SerializerBundle\Debug\TraceableEventDispatcher->JMS\SerializerBundle\Debug\{closure}(object(ObjectEvent), 'serializer.post_serialize', 'App\\Representation\\Api\\v1\\EntryPoint\\EntryPointCollectionRepresentation', 'json', object(TraceableEventDispatcher))
(vendor/jms/serializer/src/EventDispatcher/EventDispatcher.php:112)
at JMS\Serializer\EventDispatcher\EventDispatcher->dispatch('serializer.post_serialize', 'App\\Representation\\Api\\v1\\EntryPoint\\EntryPointCollectionRepresentation', 'json', object(ObjectEvent))
(vendor/jms/serializer/src/GraphNavigator/SerializationGraphNavigator.php:296)
at JMS\Serializer\GraphNavigator\SerializationGraphNavigator->afterVisitingObject(object(ClassMetadata), object(EntryPointCollectionRepresentation), array('name' => 'App\\Representation\\Api\\v1\\EntryPoint\\EntryPointCollectionRepresentation', 'params' => array()))
(vendor/jms/serializer/src/GraphNavigator/SerializationGraphNavigator.php:275)
at JMS\Serializer\GraphNavigator\SerializationGraphNavigator->accept(object(EntryPointCollectionRepresentation), array('name' => 'App\\Representation\\Api\\v1\\EntryPoint\\EntryPointCollectionRepresentation', 'params' => array()))
(vendor/jms/serializer/src/Serializer.php:252)
at JMS\Serializer\Serializer->visit(object(SerializationGraphNavigator), object(JsonSerializationVisitor), object(SerializationContext), object(EntryPointCollectionRepresentation), 'json', null)
(vendor/jms/serializer/src/Serializer.php:163)
at JMS\Serializer\Serializer->serialize(object(EntryPointCollectionRepresentation), 'json')
(src/Controller/Api/v1/EntryPointsController.php:63)
at App\Controller\Api\v1\EntryPointsController->__invoke(object(Request))
(vendor/symfony/http-kernel/HttpKernel.php:163)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
(vendor/symfony/http-kernel/HttpKernel.php:74)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(vendor/symfony/http-kernel/Kernel.php:184)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
(vendor/autoload_runtime.php:29)
at require_once('/var/www/symfony/vendor/autoload_runtime.php')
(public/index.php:5)