Problem/Motivation

The recipe ai_recipe_content_classification uses this module inside an AI Automator. When creating a new entity that has a comment field the exception is thrown:

AssertionError: Cannot load the "node" entity with NULL ID. in assert() (line 266 of /var/www/html/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php).

Full trace:

#0 /var/www/html/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(266): assert()
#1 /var/www/html/web/core/modules/comment/src/CommentForm.php(101): Drupal\Core\Entity\EntityStorageBase->load()
#2 /var/www/html/web/core/lib/Drupal/Core/Entity/EntityForm.php(108): Drupal\comment\CommentForm->form()
#3 [internal function]: Drupal\Core\Entity\EntityForm->buildForm()
#4 /var/www/html/web/core/lib/Drupal/Core/Form/FormBuilder.php(554): call_user_func_array()
#5 /var/www/html/web/core/lib/Drupal/Core/Form/FormBuilder.php(303): Drupal\Core\Form\FormBuilder->retrieveForm()
#6 /var/www/html/web/core/lib/Drupal/Core/Entity/EntityFormBuilder.php(48): Drupal\Core\Form\FormBuilder->buildForm()
#7 /var/www/html/web/core/modules/comment/src/CommentLazyBuilders.php(117): Drupal\Core\Entity\EntityFormBuilder->getForm()
#8 [internal function]: Drupal\comment\CommentLazyBuilders->renderForm()
#9 /var/www/html/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(107): call_user_func_array()
#10 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(910): Drupal\Core\Render\Renderer->doTrustedCallback()
#11 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(417): Drupal\Core\Render\Renderer->doCallback()
#12 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(230): Drupal\Core\Render\Renderer->doRender()
#13 /var/www/html/web/core/lib/Drupal/Core/Template/TwigExtension.php(501): Drupal\Core\Render\Renderer->render()
#14 /var/www/html/web/sites/default/files/php/twig/6a01c01c3b92e_field--comment.html.twig_jhCIdOIEWKN8MUd3-yO7Hi36C/P5BeTkRwurutzDzs3SvIM7ZUrC4mAJpR128N9FB_mPc.php(90): Drupal\Core\Template\TwigExtension->escapeFilter()
#15 /var/www/html/vendor/twig/twig/src/Template.php(402): __TwigTemplate_6aa74ebf53949dd462997db419c9ff46->doDisplay()
#16 /var/www/html/vendor/twig/twig/src/Template.php(386): Twig\Template->yield()
#17 /var/www/html/vendor/twig/twig/src/TemplateWrapper.php(51): Twig\Template->render()
#18 /var/www/html/web/core/lib/Drupal/Core/Template/TwigThemeEngine.php(35): Twig\TemplateWrapper->render()
#19 /var/www/html/web/core/lib/Drupal/Core/Theme/ThemeManager.php(428): Drupal\Core\Template\TwigThemeEngine->renderTemplate()
#20 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(500): Drupal\Core\Theme\ThemeManager->render()
#21 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(513): Drupal\Core\Render\Renderer->doRender()
#22 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(230): Drupal\Core\Render\Renderer->doRender()
#23 /var/www/html/web/core/lib/Drupal/Core/Template/TwigExtension.php(501): Drupal\Core\Render\Renderer->render()
#24 /var/www/html/web/sites/default/files/php/twig/6a01c01c3b92e_node.html.twig_ZrDgkyQoq6_n7OGXwTygSkd8M/_sPNjOhUWUJiGmLvuzLrTc8vhV0_6acJlD8YiQZF_Fg.php(115): Drupal\Core\Template\TwigExtension->escapeFilter()
#25 /var/www/html/vendor/twig/twig/src/Template.php(402): __TwigTemplate_e51ea9e33ab7976f9b606da730009d95->doDisplay()
#26 /var/www/html/vendor/twig/twig/src/Template.php(386): Twig\Template->yield()
#27 /var/www/html/vendor/twig/twig/src/TemplateWrapper.php(51): Twig\Template->render()
#28 /var/www/html/web/core/lib/Drupal/Core/Template/TwigThemeEngine.php(35): Twig\TemplateWrapper->render()
#29 /var/www/html/web/core/lib/Drupal/Core/Theme/ThemeManager.php(428): Drupal\Core\Template\TwigThemeEngine->renderTemplate()
#30 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(500): Drupal\Core\Theme\ThemeManager->render()
#31 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(253): Drupal\Core\Render\Renderer->doRender()
#32 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(143): Drupal\Core\Render\Renderer->doRenderRoot()
#33 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(634): Drupal\Core\Render\Renderer->Drupal\Core\Render\{closure}()
#34 [internal function]: Drupal\Core\Render\Renderer::Drupal\Core\Render\{closure}()
#35 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(649): Fiber->resume()
#36 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(142): Drupal\Core\Render\Renderer->executeInRenderContext()
#37 /var/www/html/web/core/lib/Drupal/Core/Render/Renderer.php(152): Drupal\Core\Render\Renderer->renderInIsolation()
#38 /var/www/html/web/modules/contrib/token_entity_render/token_entity_render.module(83): Drupal\Core\Render\Renderer->renderPlain()
#39 [internal function]: token_entity_render_tokens()

The error is caused by comment form that needs the entity id to be rendered, but if it is called on pre save of a new entity, then there is no id yet.

Steps to reproduce

Apply recipe https://www.drupal.org/project/ai_recipe_content_classification . Try to create a new Article (more instructions in the parent issue).

Proposed resolution

Add in_preview property to the entity that is going to be rendered. This is used in several place in core. If this property is there, for example, then comment form is not rendered.

Remaining tasks

User interface changes

API changes

Data model changes

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

a.dmitriiev created an issue. See original summary.

a.dmitriiev’s picture

Status: Active » Needs review
Issue tags: +AI Initiative Sprint, +AI Product Development

mandclu made their first commit to this issue’s fork.

mandclu’s picture

Version: 2.0.0 » 2.1.x-dev

  • mandclu committed b9fcb55b on 2.1.x authored by a.dmitriiev
    fix: #3589513 Rendering of unsaved entity with comment form ends up in...
mandclu’s picture

Status: Needs review » Fixed

Merged in, and I will roll a new beta release with this change shortly.

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

arianraeesi’s picture

Status: Fixed » Closed (fixed)