Skip to content

[ExpressionLanguage] Undefined array key "is_null_coalesce" #48543

Closed
@fsevestre

Description

@fsevestre

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)                

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