In some cases, the entity type of the activity message is empty, therefore, the site encounters the following error:
The website encountered an unexpected error. Please try again later.</br></br><em class="placeholder">Drupal\Component\Plugin\Exception\PluginNotFoundException</em>: The "" entity type does not exist. in <em class="placeholder">Drupal\Core\Entity\EntityTypeManager->getDefinition()</em> (line <em class="placeholder">133</em> of <em class="placeholder">core/lib/Drupal/Core/Entity/EntityTypeManager.php</em>). <pre class="backtrace">Drupal\Core\Entity\EntityTypeManager->getHandler(NULL, 'storage') (Line: 169)
Drupal\Core\Entity\EntityTypeManager->getStorage(NULL) (Line: 76)
activity_logger_tokens('message', Array, Array, Array, Object)
call_user_func_array('activity_logger_tokens', Array) (Line: 402)
Drupal\Core\Extension\ModuleHandler->invokeAll('tokens', Array) (Line: 304)
Drupal\Core\Utility\Token->generate('message', Array, Array, Array, Object) (Line: 196)
Drupal\Core\Utility\Token->replace('<a href="absolute]">[message:author:display-name]</a> posted on your <a href="recipient-user-url]">profile</a>
', Array, Array) (Line: 490)
Drupal\activity_creator\ActivityFactory->processTokens(Array, , Object) (Line: 415)
Drupal\activity_creator\ActivityFactory->getMessageText(Object) (Line: 217)
activity_creator_entity_view(Array, Object, Object, 'default')
call_user_func_array('activity_creator_entity_view', Array) (Line: 402)
Drupal\Core\Extension\ModuleHandler->invokeAll('entity_view', Array) (Line: 270)
Drupal\Core\Entity\EntityViewBuilder->buildMultiple(Array) (Line: 220)
Drupal\Core\Entity\EntityViewBuilder->build(Array)
call_user_func(Array, Array) (Line: 378)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array) (Line: 490)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 56)
__TwigTemplate_f50f8172a84c7198d2cc4da8618d1c40313d6a12a9f7353b289fc5a248ba998e->doDisplay(Array, Array) (Line: 432)
Twig_Template->displayWithErrorHandling(Array, Array) (Line: 403)
Twig_Template->display(Array) (Line: 411)
Twig_Template->render(Array) (Line: 64)
twig_render_template('profiles/contrib/social/themes/socialbase/templates/views/views-view-unformatted.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('views_view_unformatted', Array) (Line: 437)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 450)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array) (Line: 490)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 93)
__TwigTemplate_81799818edf8f3995b9f28bc9bde5a2629f5740e88618bc0f07f00a1826bbf25->doDisplay(Array, Array) (Line: 432)
Twig_Template->displayWithErrorHandling(Array, Array) (Line: 403)
Twig_Template->display(Array) (Line: 411)
Twig_Template->render(Array) (Line: 64)
twig_render_template('themes/custom/awa2el/templates/views/views-view--stream.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('views_view', Array) (Line: 437)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 450)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array) (Line: 490)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 114)
__TwigTemplate_e4331f4af53638808a6cce2f816bf8c59ca552219a226bdb53e6a9c71ed9330e->block_content(Array, Array) (Line: 215)
Twig_Template->displayBlock('content', Array, Array) (Line: 96)
__TwigTemplate_e4331f4af53638808a6cce2f816bf8c59ca552219a226bdb53e6a9c71ed9330e->doDisplay(Array, Array) (Line: 432)
Twig_Template->displayWithErrorHandling(Array, Array) (Line: 403)
Twig_Template->display(Array) (Line: 411)
Twig_Template->render(Array) (Line: 64)
twig_render_template('profiles/contrib/social/themes/socialbase/templates/block/block.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('block', Array) (Line: 437)
Drupal\Core\Render\Renderer->doRender(Array) (Line: 450)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array) (Line: 490)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 231)
__TwigTemplate_c5a891183f19395669fcd0128629ada924d28a7885bd2b58eb670ee013cdf5b7->block_content(Array, Array) (Line: 215)
Twig_Template->displayBlock('content', Array, Array) (Line: 181)
__TwigTemplate_c5a891183f19395669fcd0128629ada924d28a7885bd2b58eb670ee013cdf5b7->block_main(Array, Array) (Line: 215)
Twig_Template->displayBlock('main', Array, Array) (Line: 89)
__TwigTemplate_c5a891183f19395669fcd0128629ada924d28a7885bd2b58eb670ee013cdf5b7->doDisplay(Array, Array) (Line: 432)
Twig_Template->displayWithErrorHandling(Array, Array) (Line: 403)
Twig_Template->display(Array) (Line: 411)
Twig_Template->render(Array) (Line: 64)
twig_render_template('themes/custom/awa2el/templates/layout/page.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('page', Array) (Line: 437)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array) (Line: 490)
Drupal\Core\Template\TwigExtension->escapeFilter(Object, Array, 'html', NULL, 1) (Line: 127)
__TwigTemplate_ec32923cff9fd8e8aecae678d5e9e0d127ece9d8b39eca277480833660e1f435->doDisplay(Array, Array) (Line: 432)
Twig_Template->displayWithErrorHandling(Array, Array) (Line: 403)
Twig_Template->display(Array) (Line: 411)
Twig_Template->render(Array) (Line: 64)
twig_render_template('themes/custom/awa2el/templates/system/html.html.twig', Array) (Line: 384)
Drupal\Core\Theme\ThemeManager->render('html', Array) (Line: 437)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 195)
Drupal\Core\Render\Renderer->render(Array) (Line: 147)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 582)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 148)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
call_user_func(Array, Object, 'kernel.view', Object) (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 156)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 68)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 666)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
Comments
Comment #2
omar alahmedThe following patch may not be the perfect solution, however, it will stop the error and make the site back.
Comment #3
omar alahmedRe-roll the patch to be applied from the Open Social profile directory.
Comment #4
jaapjan commentedThanks for the patch. It does make sense to make the code a bit more defensive. However I'm curious what the steps are to reproduce this scenario?
Comment #5
jaapjan commentedComment #6
jochemvn commentedI've encountered the same issue, but I'm not sure how it happened.
Problem is that some messages don’t have a related entity, which is weird (and shouldn’t be possible). Since the update where we worked on translations (not really sure about which version). We don’t display the output text that’s generated in the activity entity (from the message) anymore. On the stream pages the message template tokens are being de-tokenized on the fly now, this is why this bug comes to light now.
I’m also very curious how this happened. Do you have any idea @omar?
Because the data is also stored in the activity it should be possible to load it from there and put it back.
Comment #7
omar alahmedActually, I don't know the root cause of the error, but in my project, I have extra entities than the Open Social default, like media and ad, I think this may be a reason.
Comment #8
jaapjan commentedPR Here:
https://github.com/goalgorilla/open_social/pull/1131
Comment #9
jaapjan commentedMerged, thank you for the patch.