Problem/Motivation

Causes display of "this website has encountered an error" , blank page
The following message in issues report (details ommitted)

ArgumentCountError : Too few arguments to function Drupal\captcha\Service\CaptchaService::__construct(), 0 passed in public_html/core/lib/Drupal/Component/DependencyInjection/Container.php on line 262 and exactly 1 expected dans Drupal\captcha\Service\CaptchaService->__construct() (/....... public_html/modules/captcha/src/Service/CaptchaService.php ligne 28

Steps to reproduce

Install captcha update on Drupal 9.4.5

Proposed resolution

Rétrograde to former captcha version

Remaining tasks

Add missing arguments to function

User interface changes

API changes

Data model changes

Comments

onewomanbiz created an issue. See original summary.

Anonymous’s picture

Hello,

I've tried to replicate this issue but I was unable to.

The steps I took when trying to replicate this was loading module version 1.4 set it up and update it to the 1.5. I also tried replicating this using the development version of the module, In both cases the captcha I've set up appeared correctly and the error specified in the issue didn't appear. Could you please provide more information about how you've set up your captcha if you can?

onewomanbiz’s picture

Hi,
Captcha is set up for images verification.. That's about it. It's only used on a simple contact page.

achraf.noomane’s picture

Hello,

I'm having the same issue above, looks like the container if failing to pass the argument needed for the saptcha service

  captcha.helper:
    class: Drupal\captcha\Service\CaptchaService
    arguments: ['@module_handler']

here is all the stack trace for the above issue

Stack trace
ArgumentCountError: Uncaught exception 'ArgumentCountError' with message 'Too few arguments to function Drupal\captcha\Service\CaptchaService::__construct(), 0 passed in /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php on line 262 and exactly 1 expected' in /app/web/modules/contrib/captcha/src/Service/CaptchaService.php:28
in Drupal\captcha\Service\CaptchaService::__construct called at /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php (262)
in Drupal\Component\DependencyInjection\Container::createService called at /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php (176)
in Drupal\Component\DependencyInjection\Container::get called at /app/web/core/lib/Drupal.php (198)
in Drupal::service called at /app/web/modules/contrib/captcha/captcha.module (170)
in captcha_form_alter called at /app/web/core/lib/Drupal/Core/Extension/ModuleHandler.php (539)
in Drupal\Core\Extension\ModuleHandler::alter called at /app/web/core/lib/Drupal/Core/Form/FormBuilder.php (835)
in Drupal\Core\Form\FormBuilder::prepareForm called at /app/web/core/lib/Drupal/Core/Form/FormBuilder.php (279)
in Drupal\Core\Form\FormBuilder::buildForm called at /app/web/core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php (134)
in Drupal\views\Plugin\views\exposed_form\ExposedFormPluginBase::renderExposedForm called at /app/web/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php (2634)
in Drupal\views\Plugin\views\display\DisplayPluginBase::viewExposedFormBlocks called at /app/web/core/modules/views/src/Plugin/Block/ViewsExposedFilterBlock.php (35)
in Drupal\views\Plugin\Block\ViewsExposedFilterBlock::build called at /app/web/core/modules/block/src/BlockViewBuilder.php (171)
in Drupal\block\BlockViewBuilder::preRender called at ? (?)
in call_user_func_array called at /app/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php (101)
in Drupal\Core\Render\Renderer::doTrustedCallback called at /app/web/core/lib/Drupal/Core/Render/Renderer.php (772)
in Drupal\Core\Render\Renderer::doCallback called at /app/web/core/lib/Drupal/Core/Render/Renderer.php (363)
in Drupal\Core\Render\Renderer::doRender called at /app/web/core/lib/Drupal/Core/Render/Renderer.php (201)
in Drupal\Core\Render\Renderer::render called at /app/web/core/lib/Drupal/Core/Template/TwigExtension.php (479)
in Drupal\Core\Template\TwigExtension::escapeFilter called at /app/web/sites/default/files/php/twig/632acce0756fa_block--main-menu.html.twi_GoIDPJW9LMePr53HbpeP7bf2Q/dBzFPZjj9UYijGfU0qb8NG89ITf75mrn1aJGvJhIuek.php (76)
in __TwigTemplate_e7edf4df4857628faf2f4e939ee95df793ee5495adf1d5519cadd1f13f7abd33::doDisplay called at /app/vendor/twig/twig/src/Template.php (405)
in Twig\Template::displayWithErrorHandling called at /app/vendor/twig/twig/src/Template.php (378)
in Twig\Template::display called at /app/vendor/twig/twig/src/Template.php (390)
in Twig\Template::render called at /app/web/core/themes/engines/twig/twig.engine (55)
in twig_render_template called at /app/web/core/lib/Drupal/Core/Theme/ThemeManager.php (384)
in Drupal\Core\Theme\ThemeManager::render called at /app/web/core/lib/Drupal/Core/Render/Renderer.php (422)
in Drupal\Core\Render\Renderer::doRender called at /app/web/core/lib/Drupal/Core/Render/Renderer.php (435)
in Drupal\Core\Render\Renderer::doRender called at /app/web/core/lib/Drupal/Core/Render/Renderer.php (201)
in Drupal\Core\Render\Renderer::render called at /app/web/core/lib/Drupal/Core/Template/TwigExtension.php (479)
in Drupal\Core\Template\TwigExtension::escapeFilter called at /app/web/sites/default/files/php/twig/632acce0756fa_page--projects-maintenanc_WK7rzYF_8inObK8LX5H6EoSIB/A6ic_r4Gou07Hi_m6xO1kHk8n0nmU9Cjr-gSZ9G0Qtc.php (54)
in __TwigTemplate_40c75074523813a4341d86859676feff3733deca3a6e01950387f1027edf0d9b::doDisplay called at /app/vendor/twig/twig/src/Template.php (405)
in Twig\Template::displayWithErrorHandling called at /app/vendor/twig/twig/src/Template.php (378)
in Twig\Template::display called at /app/vendor/twig/twig/src/Template.php (390)
in Twig\Template::render called at /app/web/core/themes/engines/twig/twig.engine (55)
in twig_render_template called at /app/web/core/lib/Drupal/Core/Theme/ThemeManager.php (384)
in Drupal\Core\Theme\ThemeManager::render called at /app/web/core/lib/Drupal/Core/Render/Renderer.php (422)
in Drupal\Core\Render\Renderer::doRender called at /app/web/core/lib/Drupal/Core/Render/Renderer.php (201)
in Drupal\Core\Render\Renderer::render called at /app/web/core/lib/Drupal/Core/Template/TwigExtension.php (479)
in Drupal\Core\Template\TwigExtension::escapeFilter called at /app/web/sites/default/files/php/twig/632acce0756fa_html.html.twig_bNYoZUu4viwjzoOHZivElpwTu/Jqlxg94u4i82iLtjvE9BXiEtZ21uIcp0SczEaKk-9XQ.php (139)
in __TwigTemplate_0a4d4983588a1bde4b4971051d295229611f9cb028ef6fc817d39b46397e1e55::doDisplay called at /app/vendor/twig/twig/src/Template.php (405)
in Twig\Template::displayWithErrorHandling called at /app/vendor/twig/twig/src/Template.php (378)
in Twig\Template::display called at /app/vendor/twig/twig/src/Template.php (390)
in Twig\Template::render called at /app/web/core/themes/engines/twig/twig.engine (55)
in twig_render_template called at /app/web/core/lib/Drupal/Core/Theme/ThemeManager.php (384)
in Drupal\Core\Theme\ThemeManager::render called at /app/web/core/lib/Drupal/Core/Render/Renderer.php (422)
in Drupal\Core\Render\Renderer::doRender called at /app/web/core/lib/Drupal/Core/Render/Renderer.php (201)
in Drupal\Core\Render\Renderer::render called at /app/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php (162)
in Drupal\Core\Render\MainContent\HtmlRenderer::Drupal\Core\Render\MainContent\{closure} called at /app/web/core/lib/Drupal/Core/Render/Renderer.php (564)
in Drupal\Core\Render\Renderer::executeInRenderContext called at /app/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php (163)
in Drupal\Core\Render\MainContent\HtmlRenderer::renderResponse called at /app/web/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php (90)
in Drupal\Core\EventSubscriber\MainContentViewSubscriber::onViewRenderArray called at ? (?)
in call_user_func called at /app/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php (142)
in Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher::dispatch called at /app/vendor/symfony/http-kernel/HttpKernel.php (163)
in Symfony\Component\HttpKernel\HttpKernel::handleRaw called at /app/vendor/symfony/http-kernel/HttpKernel.php (80)
in Symfony\Component\HttpKernel\HttpKernel::handle called at /app/web/core/lib/Drupal/Core/StackMiddleware/Session.php (58)
in Drupal\Core\StackMiddleware\Session::handle called at /app/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php (48)
in Drupal\Core\StackMiddleware\KernelPreHandle::handle called at /app/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php (48)
in Drupal\Core\StackMiddleware\ReverseProxyMiddleware::handle called at /app/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php (51)
in Drupal\Core\StackMiddleware\NegotiationMiddleware::handle called at /app/vendor/stack/builder/src/Stack/StackedHttpKernel.php (23)
in Stack\StackedHttpKernel::handle called at /app/web/core/lib/Drupal/Core/DrupalKernel.php (708)
in Drupal\Core\DrupalKernel::handle called at /app/web/index.php (19)

Thanks

anybody’s picture

Assigned: onewomanbiz » Unassigned
Issue tags: -Captcha too few arguments

Might be a caching issue or needs to clear caches in the update hook. I wasn't able to reproduce this yet.

Which PHP version are you using?

anybody’s picture

Status: Active » Postponed (maintainer needs more info)
grevil’s picture

Status: Postponed (maintainer needs more info) » Closed (cannot reproduce)

Could not replicate this behaviour either and no more comments for a month now, hence I will close this issue.

taggartj’s picture

Strangest thing using 8.x-1.10
2 environments same code base:

one php 8.0.28 (does error) vs other has 8.0.29 (does not error)


ArgumentCountError: Too few arguments to function Drupal\captcha\Service\CaptchaService::__construct(), 0 passed in /var/www/html/public/core/lib/Drupal/Component/DependencyInjection/Container.php on line 259 and exactly 1 expected in Drupal\captcha\Service\CaptchaService->__construct() (line 28 of /var/www/html/public/modules/contrib/captcha/src/Service/CaptchaService.php)
#0 /var/www/html/public/core/lib/Drupal/Component/DependencyInjection/Container.php(259): Drupal\captcha\Service\CaptchaService->__construct()
#1 /var/www/html/public/core/lib/Drupal/Component/DependencyInjection/Container.php(177): Drupal\Component\DependencyInjection\Container->createService(Array, 'captcha.helper')
#2 /var/www/html/public/core/lib/Drupal.php(207): Drupal\Component\DependencyInjection\Container->get('captcha.helper')
#3 /var/www/html/public/modules/contrib/captcha/captcha.module(169): Drupal::service('captcha.helper')
#4 /var/www/html/public/core/lib/Drupal/Core/Extension/ModuleHandler.php(562): captcha_form_alter(Array, Object(Drupal\Core\Form\FormState), 'views_exposed_f...')

however it still works ?!? and no amount of cache clears help
and drush php-eval "dump(Drupal::getContainer()->has('captcha.helper'));" = true