Render context error on wehook call

Created on 28 August 2023, over 1 year ago
Updated 16 May 2024, 11 months ago

I'm getting a problem with an order that stays in the cart, the payment gets completed by the webhook, but the order entity stays in "cart" and so is never placed.

The log shows two strange render errors, but I can't figure out why it's trying to render the order at this point.

This does not happen with all orders, I'm still trying to figure why it happens only for some orders. Even if I force webhook re-call from Postfinance checkout the problem persists.

Drupal\Core\Entity\EntityStorageException : Render context is empty, because render() was called outside of a renderRoot() or renderPlain() call. Use renderPlain()/renderRoot() or #lazy_builder/#pre_render instead. dans Drupal\Core\Entity\Sql\SqlContentEntityStorage->save() (/var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php ligne 815)
#0 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/modules/contrib/commerce/modules/order/src/OrderStorage.php(159): Drupal\Core\Entity\Sql\SqlContentEntityStorage->save()
#1 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/core/lib/Drupal/Core/Entity/EntityBase.php(339): Drupal\commerce_order\OrderStorage->save()
#2 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/modules/contrib/commerce/modules/payment/src/PaymentOrderUpdater.php(101): Drupal\Core\Entity\EntityBase->save()
#3 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/modules/contrib/commerce/modules/payment/src/PaymentOrderUpdater.php(59): Drupal\commerce_payment\PaymentOrderUpdater->updateOrder()
#4 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/modules/contrib/commerce/modules/payment/src/PaymentOrderUpdater.php(112): Drupal\commerce_payment\PaymentOrderUpdater->updateOrders()
#5 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/core/lib/Drupal/Core/EventSubscriber/KernelDestructionSubscriber.php(51): Drupal\commerce_payment\PaymentOrderUpdater->destruct()
#6 [internal function]: Drupal\Core\EventSubscriber\KernelDestructionSubscriber->onKernelTerminate()
#7 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(142): call_user_func()
#8 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/vendor/symfony/http-kernel/HttpKernel.php(103): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()
#9 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/vendor/stack/builder/src/Stack/StackedHttpKernel.php(32): Symfony\Component\HttpKernel\HttpKernel->terminate()
#10 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/core/lib/Drupal/Core/DrupalKernel.php(702): Stack\StackedHttpKernel->terminate()
#11 /var/www/clients/client1/web99/web/releases/2023-08-24_14-13-53/web/index.php(22): Drupal\Core\DrupalKernel->terminate()
#12 {main}
Drupal\Core\Entity\EntityStorageException : Render context is empty, because render() was called outside of a renderRoot() or renderPlain() call. Use renderPlain()/renderRoot() or #lazy_builder/#pre_render instead. dans Drupal\Core\Entity\Sql\SqlContentEntityStorage->save() (/var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php ligne 815)
#0 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/modules/contrib/commerce/modules/order/src/OrderStorage.php(159): Drupal\Core\Entity\Sql\SqlContentEntityStorage->save()
#1 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/core/lib/Drupal/Core/Entity/EntityBase.php(339): Drupal\commerce_order\OrderStorage->save()
#2 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/modules/contrib/commerce/modules/payment/src/PaymentOrderUpdater.php(101): Drupal\Core\Entity\EntityBase->save()
#3 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/modules/contrib/commerce/modules/payment/src/PaymentOrderUpdater.php(59): Drupal\commerce_payment\PaymentOrderUpdater->updateOrder()
#4 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/modules/contrib/commerce/modules/payment/src/PaymentOrderUpdater.php(112): Drupal\commerce_payment\PaymentOrderUpdater->updateOrders()
#5 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/core/lib/Drupal/Core/EventSubscriber/KernelDestructionSubscriber.php(51): Drupal\commerce_payment\PaymentOrderUpdater->destruct()
#6 [internal function]: Drupal\Core\EventSubscriber\KernelDestructionSubscriber->onKernelTerminate()
#7 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(142): call_user_func()
#8 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/vendor/symfony/http-kernel/HttpKernel.php(103): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()
#9 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/vendor/stack/builder/src/Stack/StackedHttpKernel.php(32): Symfony\Component\HttpKernel\HttpKernel->terminate()
#10 /var/www/clients/client1/web99/web/releases/2023-08-28_08-46-45/web/core/lib/Drupal/Core/DrupalKernel.php(702): Stack\StackedHttpKernel->terminate()
#11 /var/www/clients/client1/web99/web/releases/2023-08-24_14-13-53/web/index.php(22): Drupal\Core\DrupalKernel->terminate()
#12 {main}
🐛 Bug report
Status

Needs review

Version

1.0

Component

Code

Created by

🇨🇭Switzerland DamienMo

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Merge Requests

Comments & Activities

Production build 0.71.5 2024