Problem/Motivation

I'm seeing some warnings pop up in my logs though and wondered if it's something I'm configuring incorrectly or if you all are aware of them already.

Here's the dump:

Warning: Undefined array key "source" in ui_patterns_ui_ui_patterns_component_pre_build_alter() (line 98 of /app/web/modules/contrib/ui_patterns/modules/ui_patterns_ui/ui_patterns_ui.module)
#0 /app/web/core/includes/bootstrap.inc(166): _drupal_error_handler_real(2, 'Undefined array...', '/app/web/module...', 98)
#1 /app/web/modules/contrib/ui_patterns/modules/ui_patterns_ui/ui_patterns_ui.module(98): _drupal_error_handler(2, 'Undefined array...', '/app/web/module...', 98)
#2 /app/web/core/lib/Drupal/Core/Extension/ModuleHandler.php(552): ui_patterns_ui_ui_patterns_component_pre_build_alter(Array, NULL, NULL)
#3 /app/web/modules/contrib/ui_patterns/src/Element/ComponentElementBuilder.php(50): Drupal\Core\Extension\ModuleHandler->alter('ui_patterns_com...', Array)
#4 [internal function]: Drupal\ui_patterns\Element\ComponentElementBuilder->build(Array)
#5 /app/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(113): call_user_func_array(Array, Array)
#6 /app/web/core/lib/Drupal/Core/Render/Renderer.php(870): Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_ren...', 'exception', 'Drupal\\Core\\Ren...')
#7 /app/web/core/lib/Drupal/Core/Render/Renderer.php(432): Drupal\Core\Render\Renderer->doCallback('#pre_render', 'ui_patterns.com...', Array)
#8 /app/web/core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender(Array, false)
#9 /app/web/core/lib/Drupal/Core/Template/TwigExtension.php(484): Drupal\Core\Render\Renderer->render(Array)
#10 /app/web/sites/default/files/php/twig/683f640feb753_miz_components:split-layo_Wv2C25aK6anHHO40fuIq8Pa11/BeTl5FBe7zxYygtXNBxcgwh50Wj_HXQYPoBbCGVXGCY.php(79): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true)
#11 /app/vendor/twig/twig/src/Template.php(388): __TwigTemplate_5ff0361750fe359eee976ac011287b7b->doDisplay(Array, Array)
#12 /app/web/sites/default/files/php/twig/683f640feb753___string_template__4cd835_ppSMZcGs4qExGo1oeI-UlNq9q/ixqRcSss3SCm6_KP9tazFMMZfkTuve7WeXnlpv859es.php(141): Twig\Template->yield(Array, Array)
#13 /app/vendor/twig/twig/src/Template.php(388): __TwigTemplate_1556619a4fbd4a1de6d2888782437151___1295559695->doDisplay(Array, Array)
#14 /app/web/sites/default/files/php/twig/683f640feb753___string_template__4cd835_ppSMZcGs4qExGo1oeI-UlNq9q/ixqRcSss3SCm6_KP9tazFMMZfkTuve7WeXnlpv859es.php(44): Twig\Template->yield(Array)
#15 /app/vendor/twig/twig/src/Template.php(388): __TwigTemplate_1556619a4fbd4a1de6d2888782437151->doDisplay(Array, Array)
#16 /app/vendor/twig/twig/src/Template.php(344): Twig\Template->yield(Array, Array)
#17 /app/vendor/twig/twig/src/Template.php(359): Twig\Template->display(Array)
#18 /app/vendor/twig/twig/src/TemplateWrapper.php(51): Twig\Template->render(Array)
#19 /app/web/core/lib/Drupal/Core/Template/TwigEnvironment.php(234): Twig\TemplateWrapper->render(Array)
#20 /app/web/core/lib/Drupal/Core/Render/Element/InlineTemplate.php(54): Drupal\Core\Template\TwigEnvironment->renderInline('{# inline_templ...', Array)
#21 [internal function]: Drupal\Core\Render\Element\InlineTemplate::preRenderInlineTemplate(Array)
#22 /app/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(113): call_user_func_array(Array, Array)
#23 /app/web/core/lib/Drupal/Core/Render/Renderer.php(870): Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_ren...', 'exception', 'Drupal\\Core\\Ren...')
#24 /app/web/core/lib/Drupal/Core/Render/Renderer.php(432): Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array)
#25 /app/web/core/lib/Drupal/Core/Render/Renderer.php(504): Drupal\Core\Render\Renderer->doRender(Array)
#26 /app/web/core/lib/Drupal/Core/Render/Renderer.php(504): Drupal\Core\Render\Renderer->doRender(Array)
#27 /app/web/core/lib/Drupal/Core/Render/Renderer.php(504): Drupal\Core\Render\Renderer->doRender(Array)
#28 /app/web/core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender(Array, false)
#29 /app/web/core/lib/Drupal/Core/Template/TwigExtension.php(484): Drupal\Core\Render\Renderer->render(Array)
#30 /app/web/sites/default/files/php/twig/683f640feb753_node.html.twig_pQ2bOqhsewlDPKQCdCN_YKtlQ/c1udrZaVVjqKAcdkMq0-IfdegtmfgYljdkIkt_sXtog.php(105): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true)
#31 /app/vendor/twig/twig/src/Template.php(388): __TwigTemplate_843d1f9f569e842b2737885a1b9436d1->doDisplay(Array, Array)
#32 /app/vendor/twig/twig/src/Template.php(344): Twig\Template->yield(Array, Array)
#33 /app/vendor/twig/twig/src/Template.php(359): Twig\Template->display(Array)
#34 /app/vendor/twig/twig/src/TemplateWrapper.php(51): Twig\Template->render(Array)
#35 /app/web/core/themes/engines/twig/twig.engine(33): Twig\TemplateWrapper->render(Array)
#36 /app/web/core/lib/Drupal/Core/Theme/ThemeManager.php(348): twig_render_template('themes/contrib/...', Array)
#37 /app/web/core/lib/Drupal/Core/Render/Renderer.php(491): Drupal\Core\Theme\ThemeManager->render('node', Array)
#38 /app/web/core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender(Array, false)
#39 /app/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(238): Drupal\Core\Render\Renderer->render(Array, false)
#40 /app/web/core/lib/Drupal/Core/Render/Renderer.php(638): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
#41 /app/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(239): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#42 /app/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(128): Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch))
#43 /app/web/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch))
#44 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#45 /app/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#46 /app/vendor/symfony/http-kernel/HttpKernel.php(186): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view')
#47 /app/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#48 /app/web/core/lib/Drupal/Core/StackMiddleware/Session.php(53): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#49 /app/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#50 /app/web/core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#51 /app/web/core/modules/big_pipe/src/StackMiddleware/ContentLength.php(32): Drupal\Core\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#52 /app/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\big_pipe\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#53 /app/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#54 /app/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#55 /app/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#56 /app/web/core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#57 /app/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\AjaxPageState->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#58 /app/web/core/lib/Drupal/Core/DrupalKernel.php(741): Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#59 /app/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#60 {main}

Steps to reproduce

Added a form to any component by navigating to /admin/structure/component and choosing any component. Then added the component via Layout Builder to a page within a section.

Proposed resolution

I don't have much but, in ui_patterns_ui.module on line 90 it looks like it's trying to get a source key that doesn't exist on some of my things.

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

pdureau’s picture

Title: Log reporting when using ui_patterns_ui » Undefined array key "source" in ui_patterns_ui
Assigned: Unassigned » christian.wiedemann
Issue summary: View changes

Indeed, we need to test the presence of source and source_id key before using them.

christian.wiedemann made their first commit to this issue’s fork.

christian.wiedemann’s picture

Assigned: christian.wiedemann » pdureau
Status: Active » Needs review
pdureau’s picture

Title: Undefined array key "source" in ui_patterns_ui » [2.0.5] Undefined array key "source" in ui_patterns_ui
pdureau’s picture

Status: Needs review » Reviewed & tested by the community

Auto-merge

christian.wiedemann’s picture

Status: Reviewed & tested by the community » Fixed
pdureau’s picture

Assigned: pdureau » Unassigned

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

christian.wiedemann’s picture