Problem/Motivation

After updating core to 11.3.2 and Datalayer to 2.1.1, an attempt to create a new field on a Paragraph type results in an error in browser console and in the site error log as php error:

InvalidArgumentException: The callable definition provided "[datalayer_field_config_submit]" is not a valid callable. in Drupal\Core\Utility\CallableResolver->getCallableFromDefinition() (line 69 of /code/web/core/lib/Drupal/Core/Utility/CallableResolver.php).

A revert of the Datalayer update, back to 2.1.0, resolves this and a new field can be created without error.

Steps to reproduce

With Drupal 11.3.2, Paragraphs 8.x-1.20, Datalayer 2.1.1:

- Create a new field (I created a plain text field, unformatted), save;
- On the next form for configuration settings for the field, click save.

For me the form does not save or close, there is an "oops" message in the browser, an error in the browser console, and the above php error in the site's error log.

Revert Datalayer to 1.1.0 and creating/saving a new field is error free.

Here is the stack trace:

#0 /code/web/core/lib/Drupal/Core/Form/FormSubmitter.php(107): Drupal\Core\Utility\CallableResolver->getCallableFromDefinition()<br>
#1 /code/web/core/lib/Drupal/Core/Form/FormSubmitter.php(45): Drupal\Core\Form\FormSubmitter->executeSubmitHandlers()<br>
#2 /code/web/core/lib/Drupal/Core/Form/FormBuilder.php(615): Drupal\Core\Form\FormSubmitter->doSubmitForm()<br>
#3 /code/web/core/lib/Drupal/Core/Form/FormBuilder.php(347): Drupal\Core\Form\FormBuilder->processForm()<br>
#4 /code/web/core/lib/Drupal/Core/Entity/EntityFormBuilder.php(48): Drupal\Core\Form\FormBuilder->buildForm()<br>
#5 /code/web/core/modules/field_ui/src/Controller/FieldConfigAddController.php(62): Drupal\Core\Entity\EntityFormBuilder->getForm()<br>
#6 [internal function]: Drupal\field_ui\Controller\FieldConfigAddController->fieldConfigAddConfigureForm()<br>
#7 /code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array()<br>
#8 /code/web/core/lib/Drupal/Core/Render/Renderer.php(634): <br>Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()<br>
#9 [internal function]: Drupal\Core\Render\Renderer::Drupal\Core\Render\{closure}()<br>
#10 /code/web/core/lib/Drupal/Core/Render/Renderer.php(635): Fiber->start()<br>
#11 /code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(121): <br>Drupal\Core\Render\Renderer->executeInRenderContext()<br>
#12 /code/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): <br>Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext()<br>
#13 /code/vendor/symfony/http-kernel/HttpKernel.php(183): <br>Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()<br>
#14 /code/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw()<br>
#15 /code/web/core/lib/Drupal/Core/StackMiddleware/Session.php(53): Symfony\Component\HttpKernel\HttpKernel->handle()<br>
#16 /code/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle()<br>
#17 /code/web/core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle()<br>
#18 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(118): Drupal\Core\StackMiddleware\ContentLength->handle()<br>
#19 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(92): Drupal\page_cache\StackMiddleware\PageCache->pass()<br>
#20 /code/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\page_cache\StackMiddleware\PageCache->handle()<br>
#21 /code/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): <br>Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle()<br>
#22 /code/web/core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(53): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle()<br>
#23 /code/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(54): Drupal\Core\StackMiddleware\AjaxPageState->handle()<br>
#24 /code/web/core/lib/Drupal/Core/DrupalKernel.php(745): Drupal\Core\StackMiddleware\StackedHttpKernel->handle()<br>
#25 /code/web/index.php(19): Drupal\Core\DrupalKernel->handle()<br>
#26 {main}

Proposed resolution

I don't know.

Remaining tasks

User interface changes

API changes

Data model changes

Issue fork datalayer-3568109

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

fl-49 created an issue. See original summary.

guncha25’s picture

guncha25’s picture

Status: Active » Needs review
will_frank’s picture

@guncha25 - I just tested your patch fix-field-config-submit-handler-3568109-2.patch
and it fixes the issue. I work with @fl-49 on the same site. Thanks for the quick work.

alexgreyhead’s picture

Patch from #2 also works for me on 10.6.2 and Datalayer 2.1.1 - thank you, @guncha25.

A

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

  • eojthebrave committed bde0c5d2 on 2.1.x
    feat: #3568109 datalayer_field_config_submit not valid callable on new...
eojthebrave’s picture

Status: Needs review » Fixed

Thanks for reporting this @fl-49, and for the quick fix @guncha25, and for testing. I just merged the fix into the 2.1.x branch, and will create a new 2.1.2 release with the updated code 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.

Status: Fixed » Closed (fixed)

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