craftcms / cms

Build bespoke content experiences with Craft.
https://craftcms.com
Other
3.22k stars 626 forks source link

[5.x]: Can use "yield from" only with arrays and Traversables error when devMode is true #15693

Closed DynamiteGoesBoom closed 2 weeks ago

DynamiteGoesBoom commented 2 weeks ago

What happened?

Description

This is a weird one. I'm on the latest version of Craft 5.4.1 and if I have DEVMODE set to true.

Steps to reproduce

  1. use Craft 5.4.1
  2. have devMode enabled

Expected behavior

no error

Actual behavior

Stack Trace:

Error: Can use "yield from" only with arrays and Traversables in /var/www/html/cms/vendor/twig/twig/src/Template.php:442
Stack trace:
#0 /var/www/html/cms/storage/runtime/compiled_templates/7d/7d4732b3ab9f7a2e5d0a4dec491e8c19.php(107): Twig\Template->yieldBlock('headMeta', Array, Array)
#1 /var/www/html/cms/vendor/twig/twig/src/Template.php(442): __TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd->block_headContent(Array, Array)
#2 /var/www/html/cms/storage/runtime/compiled_templates/36/36f7b6181bc9cb4d75b8f1d4d8631d95.php(96): Twig\Template->yieldBlock('headContent', Array, Array)
#3 /var/www/html/cms/vendor/twig/twig/src/Template.php(442): __TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2->block_htmlPage(Array, Array)
#4 /var/www/html/cms/storage/runtime/compiled_templates/9a/9af8255f23101f4c21102e675294f5da.php(101): Twig\Template->yieldBlock('htmlPage', Array, Array)
#5 /var/www/html/cms/vendor/twig/twig/src/Extension/CoreExtension.php(1901): __TwigTemplate_705cbe5c0a564b5f9c58d1d2ddd26826->{closure}()
#6 /var/www/html/cms/storage/runtime/compiled_templates/9a/9af8255f23101f4c21102e675294f5da.php(49): Twig\Extension\CoreExtension::captureOutput(Object(Generator))
#7 /var/www/html/cms/vendor/twig/twig/src/Template.php(398): __TwigTemplate_705cbe5c0a564b5f9c58d1d2ddd26826->doDisplay(Array, Array)
#8 /var/www/html/cms/storage/runtime/compiled_templates/36/36f7b6181bc9cb4d75b8f1d4d8631d95.php(65): Twig\Template->yield(Array, Array)
#9 /var/www/html/cms/vendor/twig/twig/src/Template.php(398): __TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2->doDisplay(Array, Array)
#10 /var/www/html/cms/storage/runtime/compiled_templates/7d/7d4732b3ab9f7a2e5d0a4dec491e8c19.php(65): Twig\Template->yield(Array, Array)
#11 /var/www/html/cms/vendor/twig/twig/src/Template.php(398): __TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd->doDisplay(Array, Array)
#12 /var/www/html/cms/storage/runtime/compiled_templates/fd/fd295371169c3751ac29fa9af9adca97.php(86): Twig\Template->yield(Array, Array)
#13 /var/www/html/cms/vendor/twig/twig/src/Template.php(398): __TwigTemplate_eff00555bf2d360540cd69293311b4dc->doDisplay(Array, Array)
#14 /var/www/html/cms/storage/runtime/compiled_templates/18/18226272a4dc3551f42d6e0d13b06bd2.php(59): Twig\Template->yield(Array, Array)
#15 /var/www/html/cms/vendor/twig/twig/src/Template.php(398): __TwigTemplate_97764ff06f5d6f327191f089e4355b6b->doDisplay(Array, Array)
#16 /var/www/html/cms/vendor/twig/twig/src/Template.php(354): Twig\Template->yield(Array, Array)
#17 /var/www/html/cms/vendor/twig/twig/src/Template.php(369): Twig\Template->display(Array)
#18 /var/www/html/cms/vendor/twig/twig/src/TemplateWrapper.php(38): Twig\Template->render(Array)
#19 /var/www/html/cms/vendor/twig/twig/src/Environment.php(306): Twig\TemplateWrapper->render(Array)
#20 /var/www/html/cms/vendor/craftcms/cms/src/web/View.php(501): Twig\Environment->render('page', Array)
#21 /var/www/html/cms/vendor/craftcms/cms/src/web/View.php(554): craft\web\View->renderTemplate('page', Array)
#22 /var/www/html/cms/vendor/craftcms/cms/src/web/TemplateResponseFormatter.php(57): craft\web\View->renderPageTemplate('page', Array, 'site')
#23 /var/www/html/cms/vendor/yiisoft/yii2/web/Response.php(1109): craft\web\TemplateResponseFormatter->format(Object(craft\web\Response))
#24 /var/www/html/cms/vendor/craftcms/cms/src/web/Response.php(339): yii\web\Response->prepare()
#25 /var/www/html/cms/vendor/yiisoft/yii2/web/Response.php(340): craft\web\Response->prepare()
#26 /var/www/html/cms/vendor/yiisoft/yii2/base/Application.php(390): yii\web\Response->send()
#27 /var/www/html/cms/web/index.php(12): yii\base\Application->run()
#28 {main}
Copy StacktraceSearch StackoverflowSearch GoogleException
Error
Can use "yield from" only with arrays and Traversables
1. in /var/www/html/cms/vendor/twig/twig/src/Template.phpat line 442
433434435436437438439440441442443444445446447448449450451        }

        // avoid RCEs when sandbox is enabled
        if (null !== $template && !$template instanceof self) {
            throw new \LogicException('A block must be a method on a \Twig\Template instance.');
        }

        if (null !== $template) {
            try {
                yield from $template->$block($context, $blocks);
            } catch (Error $e) {
                if (!$e->getSourceContext()) {
                    $e->setSourceContext($template->getSourceContext());
                }

                // this is mostly useful for \Twig\Error\LoaderError exceptions
                // see \Twig\Error\LoaderError
                if (-1 === $e->getTemplateLine()) {
                    $e->guess();
2. in /var/www/html/cms/templates/_boilerplate/_layouts/base-html-layout.twig at line 43– [Twig\Template::yieldBlock](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_yieldBlock)('headMeta', ['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry], 'craft' => craft\web\twig\variables\CraftVariable, 'currentSite' => craft\models\Site, ...], ['htmlPage' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_htmlPage'], 'htmlTag' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_htmlTag'], 'headTag' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_headTag'], 'headContent' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_headContent'], ...])
37383940414243444546474849{% endblock htmlTag %}

{# -- Page content that should be included in the <head> -- #}
{% block headContent %}
    {# -- Any <meta> tags that should be included in the <head> #}
    {% block headMeta %}
    {% endblock headMeta %}

    {# -- Any <link> tags that should be included in the <head> #}
    {% block headLinks %}
    {% endblock headLinks %}

    {# -- Inline and polyfill JS #}
3. in /var/www/html/cms/vendor/twig/twig/src/Template.php at line 442– [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd::block_headContent](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_block_headContent)(['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry], 'craft' => craft\web\twig\variables\CraftVariable, 'currentSite' => craft\models\Site, ...], ['htmlPage' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_htmlPage'], 'htmlTag' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_htmlTag'], 'headTag' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_headTag'], 'headContent' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_headContent'], ...])
4. in /var/www/html/cms/templates/_boilerplate/_layouts/base-web-layout.twig at line 44– [Twig\Template::yieldBlock](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_yieldBlock)('headContent', ['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry], 'craft' => craft\web\twig\variables\CraftVariable, 'currentSite' => craft\models\Site, ...], ['htmlPage' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_htmlPage'], 'htmlTag' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_htmlTag'], 'headTag' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_headTag'], 'headContent' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_headContent'], ...])
38394041424344454647484950        {% block headTag %}
            <head>
            {% endblock headTag %}
                {% include '_boilerplate/_partials/head-meta.twig' %}
                {# -- Page content that should be included in the <head> -- #}
                {% block headContent %}{% endblock headContent %}
            </head>

            {% block bodyTag %}
            {# -- This variable is defined in `env` and needs to be set prior to building out a customers' theme -- #}
            <body class="{%- for class in body_classes -%}{{ class }}{%- endfor -%} {{ siteTemplate == 'top' ? 'h-full' }}">
            {% endblock bodyTag %}
            {# -- Page content that should be included in the <body> -- #}
5. in /var/www/html/cms/vendor/twig/twig/src/Template.php at line 442– [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2::block_htmlPage](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_block_htmlPage)(['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry], 'craft' => craft\web\twig\variables\CraftVariable, 'currentSite' => craft\models\Site, ...], ['htmlPage' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_htmlPage'], 'htmlTag' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_htmlTag'], 'headTag' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_headTag'], 'headContent' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_headContent'], ...])
6. in /var/www/html/cms/templates/_boilerplate/_layouts/global-variables.twig at line 39– [Twig\Template::yieldBlock](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_yieldBlock)('htmlPage', ['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry], 'craft' => craft\web\twig\variables\CraftVariable, 'currentSite' => craft\models\Site, ...], ['htmlPage' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_htmlPage'], 'htmlTag' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_htmlTag'], 'headTag' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_headTag'], 'headContent' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_headContent'], ...])
3334353637383940    {% set body_classes = {
        'theme': theme ?? 'fido'
    } %}

    {# -- Twig output from the render; this must be in a block -- #}
    {% block htmlPage %}{% endblock %}

{% endapply %}
7. in /var/www/html/cms/vendor/twig/twig/src/Extension/CoreExtension.php at line 1901– [__TwigTemplate_705cbe5c0a564b5f9c58d1d2ddd26826::{closure}](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_{closure})()
8. in /var/www/html/cms/templates/_boilerplate/_layouts/global-variables.twig at line 12– [Twig\Extension\CoreExtension::captureOutput](http://twig.sensiolabs.org/api/2.x/Twig/Extension/CoreExtension.html#method_captureOutput)(Generator)
6789101112131415161718 │                                                                             │
 │                                                                             │
 │                                  htmlPage                                   │
 └─────────────────────────────────────────────────────────────────────────────┘
#}
{% apply spaceless %}

    {# -- Prefetch & preconnect headers and links -- #}
    {% set prefetchUrls = [
        alias('@assetsUrl'),
    ] %}
    {# -- General global variables -- #}
    {% set theme = getenv('THEME_NAME') %}
9. in /var/www/html/cms/vendor/twig/twig/src/Template.php at line 398– [__TwigTemplate_705cbe5c0a564b5f9c58d1d2ddd26826::doDisplay](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_doDisplay)(['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry], 'craft' => craft\web\twig\variables\CraftVariable, 'currentSite' => craft\models\Site, ...], ['htmlPage' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_htmlPage'], 'htmlTag' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_htmlTag'], 'headTag' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_headTag'], 'headContent' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_headContent'], ...])
10. in /var/www/html/cms/templates/_boilerplate/_layouts/base-web-layout.twig at line 31– [Twig\Template::yield](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_yield)(['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry], 'craft' => craft\web\twig\variables\CraftVariable, 'currentSite' => craft\models\Site, ...], ['htmlPage' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_htmlPage'], 'htmlTag' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_htmlTag'], 'headTag' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_headTag'], 'headContent' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_headContent'], ...])
25262728293031323334353637 │                                                                             │
 │                                  htmlPage                                   │
 └─────────────────────────────────────────────────────────────────────────────┘
#}
{% hook 'global-context' %}
{% extends '_boilerplate/_layouts/global-variables.twig' %}

    {% block htmlPage %}
    {% minify %}
    <!DOCTYPE html>
    {% block htmlTag %}
        <html lang="{{ craft.app.language|slice(0,2) }}">
        {% endblock htmlTag %}
11. in /var/www/html/cms/vendor/twig/twig/src/Template.php at line 398– [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2::doDisplay](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_doDisplay)(['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry], 'craft' => craft\web\twig\variables\CraftVariable, 'currentSite' => craft\models\Site, ...], ['htmlPage' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_htmlPage'], 'htmlTag' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_htmlTag'], 'headTag' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_headTag'], 'headContent' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_headContent'], ...])
12. in /var/www/html/cms/templates/_boilerplate/_layouts/base-html-layout.twig at line 33– [Twig\Template::yield](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_yield)(['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry], 'craft' => craft\web\twig\variables\CraftVariable, 'currentSite' => craft\models\Site, ...], ['htmlPage' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_htmlPage'], 'htmlTag' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_htmlTag'], 'headTag' => [__TwigTemplate_1f42ef8bdf5bd3fab8ccb476c910baa2, 'block_headTag'], 'headContent' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_headContent'], ...])
27282930313233343536373839│                                 bodyContent                                 │
└─────────────────────────────────────────────────────────────────────────────┘
#}
{% extends craft.app.request.isAjax() and not craft.app.request.getIsPreview()
    ? '_boilerplate/_layouts/base-ajax-layout.twig'
    : '_boilerplate/_layouts/base-web-layout.twig'
%}

{% block htmlTag %}
    <html class="fonts-loaded scroll-smooth {{ siteTemplate == 'top' ? 'h-full' }} {{ design.websiteBackgroundColor ? 'bg-' ~ design.websiteBackgroundColor.label : 'bg-white' }}" lang="{{ craft.app.language |slice(0,2) }}" prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">
{% endblock htmlTag %}

{# -- Page content that should be included in the <head> -- #}
13. in /var/www/html/cms/vendor/twig/twig/src/Template.php at line 398– [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd::doDisplay](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_doDisplay)(['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry], 'craft' => craft\web\twig\variables\CraftVariable, 'currentSite' => craft\models\Site, ...], ['htmlTag' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_htmlTag'], 'headContent' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_headContent'], 'headMeta' => [__TwigTemplate_eff00555bf2d360540cd69293311b4dc, 'block_headMeta'], 'headLinks' => [__TwigTemplate_97764ff06f5d6f327191f089e4355b6b, 'block_headLinks'], ...])
14. in /var/www/html/cms/templates/_boilerplate/_layouts/generic-page-layout.twig at line 21– [Twig\Template::yield](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_yield)(['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry], 'craft' => craft\web\twig\variables\CraftVariable, 'currentSite' => craft\models\Site, ...], ['htmlTag' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_htmlTag'], 'headContent' => [__TwigTemplate_3ae37103d66a9e38be0b2d8b0c0df3cd, 'block_headContent'], 'headMeta' => [__TwigTemplate_eff00555bf2d360540cd69293311b4dc, 'block_headMeta'], 'headLinks' => [__TwigTemplate_97764ff06f5d6f327191f089e4355b6b, 'block_headLinks'], ...])
15161718192021222324252627 │ └─────────────────────────────────────────────────────────────────────────┘ │
 │                                                                             │
 │                                  bodyHtml                                   │
 └─────────────────────────────────────────────────────────────────────────────┘
#}
{% extends '_boilerplate/_layouts/base-html-layout.twig' %}

{# -- Any <meta> tags that should be included in the <head> #}
{% block headMeta %}
{% endblock headMeta %}

{# -- Any <link> tags that should be included in the <head> #}
{% block headLinks %}
15. in /var/www/html/cms/vendor/twig/twig/src/Template.php at line 398– [__TwigTemplate_eff00555bf2d360540cd69293311b4dc::doDisplay](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_doDisplay)(['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry], 'craft' => craft\web\twig\variables\CraftVariable, 'currentSite' => craft\models\Site, ...], ['headMeta' => [__TwigTemplate_eff00555bf2d360540cd69293311b4dc, 'block_headMeta'], 'headLinks' => [__TwigTemplate_97764ff06f5d6f327191f089e4355b6b, 'block_headLinks'], 'headCss' => [__TwigTemplate_eff00555bf2d360540cd69293311b4dc, 'block_headCss'], 'bodyHtml' => [__TwigTemplate_eff00555bf2d360540cd69293311b4dc, 'block_bodyHtml'], ...])
16. in /var/www/html/cms/templates/page.twig at line 9– [Twig\Template::yield](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_yield)(['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry], 'craft' => craft\web\twig\variables\CraftVariable, 'currentSite' => craft\models\Site, ...], ['headMeta' => [__TwigTemplate_eff00555bf2d360540cd69293311b4dc, 'block_headMeta'], 'headLinks' => [__TwigTemplate_97764ff06f5d6f327191f089e4355b6b, 'block_headLinks'], 'headCss' => [__TwigTemplate_eff00555bf2d360540cd69293311b4dc, 'block_headCss'], 'bodyHtml' => [__TwigTemplate_eff00555bf2d360540cd69293311b4dc, 'block_bodyHtml'], ...])
3456789101112131415    By default we have the home under `_layouts/home/home`
    All other pages that are built out in our `Pages` structure get their own
    template under `_layouts/pages/ENTRY-TYPE`
    This approach allows for nice code organization and implements DRY templating
#}
{% extends '_boilerplate/_layouts/generic-page-layout.twig' %}

{% block headLinks %}
    {{ parent() }}
{% endblock headLinks %}

{% block content %}

17. in /var/www/html/cms/vendor/twig/twig/src/Template.php at line 398– [__TwigTemplate_97764ff06f5d6f327191f089e4355b6b::doDisplay](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_doDisplay)(['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry], 'craft' => craft\web\twig\variables\CraftVariable, 'currentSite' => craft\models\Site, ...], ['headLinks' => [__TwigTemplate_97764ff06f5d6f327191f089e4355b6b, 'block_headLinks'], 'content' => [__TwigTemplate_97764ff06f5d6f327191f089e4355b6b, 'block_content'], 'bodyJs' => [__TwigTemplate_97764ff06f5d6f327191f089e4355b6b, 'block_bodyJs']])
18. in /var/www/html/cms/vendor/twig/twig/src/Template.php at line 354– [Twig\Template::yield](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_yield)(['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry], 'craft' => craft\web\twig\variables\CraftVariable, 'currentSite' => craft\models\Site, ...], ['headLinks' => [__TwigTemplate_97764ff06f5d6f327191f089e4355b6b, 'block_headLinks'], 'content' => [__TwigTemplate_97764ff06f5d6f327191f089e4355b6b, 'block_content'], 'bodyJs' => [__TwigTemplate_97764ff06f5d6f327191f089e4355b6b, 'block_bodyJs']])
19. in /var/www/html/cms/vendor/twig/twig/src/Template.php at line 369– [Twig\Template::display](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_display)(['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry]])
20. in /var/www/html/cms/vendor/twig/twig/src/TemplateWrapper.php at line 38– [Twig\Template::render](http://twig.sensiolabs.org/api/2.x/Twig/Template.html#method_render)(['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry]])
21. in /var/www/html/cms/vendor/twig/twig/src/Environment.php at line 306– [Twig\TemplateWrapper::render](http://twig.sensiolabs.org/api/2.x/Twig/TemplateWrapper.html#method_render)(['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry]])
22. in /var/www/html/cms/vendor/craftcms/cms/src/web/View.php at line 501– [Twig\Environment::render](http://twig.sensiolabs.org/api/2.x/Twig/Environment.html#method_render)('page', ['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry]])
495496497498499500501502503504505506507 
        // Render and return
        $renderingTemplate = $this->_renderingTemplate;
        $this->_renderingTemplate = $template;

        try {
            $output = $this->getTwig()->render($template, $variables);
        } finally {
            $this->_renderingTemplate = $renderingTemplate;
            $this->setTemplateMode($oldTemplateMode);
        }

        $this->afterRenderTemplate($template, $variables, $templateMode, $output);
23. in /var/www/html/cms/vendor/craftcms/cms/src/web/View.php at line 554– craft\web\View::renderTemplate('page', ['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry]])
548549550551552553554555556557558559560 
        $isRenderingPageTemplate = $this->_isRenderingPageTemplate;
        $this->_isRenderingPageTemplate = true;

        try {
            $this->beginPage();
            echo $this->renderTemplate($template, $variables);
            $this->endPage();
        } finally {
            $this->_isRenderingPageTemplate = $isRenderingPageTemplate;
            $this->setTemplateMode($oldTemplateMode);
            $output = ob_get_clean();
        }
24. in /var/www/html/cms/vendor/craftcms/cms/src/web/TemplateResponseFormatter.php at line 57– craft\web\View::renderPageTemplate('page', ['entry' => craft\elements\Entry, 'variables' => ['entry' => craft\elements\Entry]], 'site')
51525354555657585960616263        ) {
            $view->registerAssetBundle(ContentWindowAsset::class);
        }

        // Render and return the template
        try {
            $response->content = $view->renderPageTemplate($behavior->template, $behavior->variables, $behavior->templateMode);
        } catch (Throwable $e) {
            $previous = $e->getPrevious();
            if ($previous instanceof YiiExitException) {
                // Something called Craft::$app->end()
                if ($previous instanceof ExitException && $previous->output !== null) {
                    echo $previous->output;
25. in /var/www/html/cms/vendor/yiisoft/yii2/web/Response.php at line 1109– craft\web\TemplateResponseFormatter::format(craft\web\Response)
26. in /var/www/html/cms/vendor/craftcms/cms/src/web/Response.php at line 339– [yii\web\Response::prepare](https://www.yiiframework.com/doc-2.0/yii-web-response.html#prepare()-detail)()
333334335336337338339340341342343344345 
    /**
     * @inheritdoc
     */
    protected function prepare(): void
    {
        parent::prepare();
        $this->_isPrepared = true;
    }

    /**
     * Clear the output buffer to prevent corrupt downloads.
     *
27. in /var/www/html/cms/vendor/yiisoft/yii2/web/Response.php at line 340– craft\web\Response::prepare()
28. in /var/www/html/cms/vendor/yiisoft/yii2/base/Application.php at line 390– [yii\web\Response::send](https://www.yiiframework.com/doc-2.0/yii-web-response.html#send()-detail)()
29. in /var/www/html/cms/web/index.php at line 12– [yii\base\Application::run](https://www.yiiframework.com/doc-2.0/yii-base-application.html#run()-detail)()
6789101112// Load shared bootstrap
require dirname(__DIR__) . '/bootstrap.php';

// Load and run Craft
/** @var craft\web\Application $app */
$app = require CRAFT_VENDOR_PATH . '/craftcms/cms/bootstrap/web.php';
$app->run();
$_COOKIE = [
    'CraftSessionId' => 'aa89f15b4fbe7a3d21423e973a0a0d24',
    '6d36deeeac1e09a51631a0533eb7975a_identity' => '9a49660e1433fe10b9093e1e34f12a0fa601c4beafcf6212a8e9aef5cc5a8a4fa:2:{i:0;s:41:"6d36deeeac1e09a51631a0533eb7975a_identity";i:1;s:159:"[1,"[\\"Ax-oHKIsjbjGB96OCEU7UiNMzpVVHzpeBq3yMbvHe6qZBOCMnn_XYKkCTvAWmTUcGqeALLSmHITdoiJXo-4RPhZXtv39hl5rhWMI\\",null,\\"fe0673f2a48d047b912b27e2a0c02f9f\\"]",3600]";}',
    'CRAFT_CSRF_TOKEN' => '49fa117b95d8121fa6d43aa3fe7d79367c9841624968552772dff92824ba7169a:2:{i:0;s:16:"CRAFT_CSRF_TOKEN";i:1;s:147:"OKI5W4YfdfBycPDTa1D4sgCGNzUcL5xXqgDIJUsw|de8426be7fc875d2c3a138ffb32ba609a7aec3ab438bebeec101d594a8fa4d08OKI5W4YfdfBycPDTa1D4sgCGNzUcL5xXqgDIJUsw|1";}',
    '6d36deeeac1e09a51631a0533eb7975a_username' => '76cc14f2981454f6b8320e12ec5a63c0e9ce54dcfea33c159cffa3368d286de6a:2:{i:0;s:41:"6d36deeeac1e09a51631a0533eb7975a_username";i:1;s:23:"hi@hybridinteractive.io";}',
    'Craft-44d93937-1907-4a3a-a8a3-6e9dfbda536f:sidebar' => 'expanded',
    'critical-css' => '546531e0',
];

$_SESSION = [
    '64ef28d2f38eee3fca648436bff9332f__flash' => [],
    '6d36deeeac1e09a51631a0533eb7975a__token' => 'Ax-oHKIsjbjGB96OCEU7UiNMzpVVHzpeBq3yMbvHe6qZBOCMnn_XYKkCTvAWmTUcGqeALLSmHITdoiJXo-4RPhZXtv39hl5rhWMI',
    '6d36deeeac1e09a51631a0533eb7975a__id' => 1,
    '__authKey' => '["Ax-oHKIsjbjGB96OCEU7UiNMzpVVHzpeBq3yMbvHe6qZBOCMnn_XYKkCTvAWmTUcGqeALLSmHITdoiJXo-4RPhZXtv39hl5rhWMI",null,"fe0673f2a48d047b912b27e2a0c02f9f"]',
    '6d36deeeac1e09a51631a0533eb7975a__expire' => 1725641313,
    '__duration' => 3600,
    '__elevated_timeout' => 1725637542,
];
Yii Framework
2024-09-06, 08:48:34

[nginx/1.24.0](https://nginx.org/)

[Yii Framework](https://yiiframework.com/)/[2.0.51](https://github.com/yiisoft/yii2/)

Yii
[Events 7010](https://c5.ddev.site/actions/debug/default/view?panel=event&tag=66db2451d7966)
[User 1](https://c5.ddev.site/actions/debug/default/view?panel=user&tag=66db2451d7966)
[Route templates/render](https://c5.ddev.site/actions/debug/default/view?panel=router&tag=66db2451d7966)
[Status 500](https://c5.ddev.site/actions/debug/default/view?panel=request&tag=66db2451d7966)
[Log 286](https://c5.ddev.site/actions/debug/default/view?panel=log&tag=66db2451d7966) [4](https://c5.ddev.site/actions/debug/default/view?panel=log&tag=66db2451d7966&Log[level]=1) [2](https://c5.ddev.site/actions/debug/default/view?panel=log&tag=66db2451d7966&Log[level]=2)
[Dumps 0](https://c5.ddev.site/actions/debug/default/view?panel=dump&tag=66db2451d7966)
[Deprecated 0](https://c5.ddev.site/actions/debug/default/view?panel=deprecated&tag=66db2451d7966)
[Time 547 ms](https://c5.ddev.site/actions/debug/default/view?panel=profiling&tag=66db2451d7966) [Memory 24.116 MB](https://c5.ddev.site/actions/debug/default/view?panel=profiling&tag=66db2451d7966)
[DB 79 63 ms](https://c5.ddev.site/actions/debug/default/view?panel=db&tag=66db2451d7966)
SEOmatic

Craft CMS version

5.4.1

PHP version

8.2

Operating system and version

No response

Database type and version

Mysql 8

Image driver and version

No response

Installed plugins and versions

-

khalwat commented 2 weeks ago

So this only happens if you have an empty {% block %} with no content in it and you have the Template Comments plugin installed (and devMode is true, since Template Comments does nothing otherwise).

Unclear to me why it happens only if the {% block %} is empty, but probably you should close this issue, and post it over here:

https://github.com/nystudio107/craft-templatecomments

DynamiteGoesBoom commented 2 weeks ago

@khalwat will do that now, thanks!