(Issue summary updated after comments from #17 and below)

Many users report after updating or migrating to a Drupal version like Drupal core 9.5.7 or above, the following error gets reported in different shades of it in detail:

TypeError: htmlspecialchars(): Argument #1 ($string) must be of type string, array given in htmlspecialchars() (line 432 of core\lib\Drupal\Component\Utility\Html.php)

As of Drupal 11.0.0, a similar experience occurs if a value given to Html::escape() is NULL:

Drupal\Component\Utility\Html::escape(): Argument #1 () must be of type string, null given, called in /var/www/html/web/core/lib/Drupal/Component/Render/FormattableMarkup.php on line 238

This issue has been modified and converted into a feature request for core handling. The original reporter provided an error output showing that some Views field formatting has caused the error in his case. Others reported to have a WSOD now making the site not maintainable no more caused by other contrib modules.

Some see this after generating content with the Devel module (GitLab issue): TypeError: Drupal\Component\Utility\Html::escape(): Argument #1 ($text) must be of type string, null given.

(Note: Use the patch provided here to make your site operable again and help by uncommenting the check code to find out your individual cause).

Summary

After collecting some user reports it finally turned out soon, that this issue can quickly turn into a misinforming collection basin for the same TypeError message. For different reasons and causes in each of the cases. Reason for this TypeError caused in escape{} is that Arguments of Type Array accidently get handed over to Html.php escape{} and run thru htmlspecialchars(), where Type String is mandatory. Why this happens NOW so often in different individual cases and what has changed so that this collusion happens and suddently becomes obvious in such mass occurance is different in each scenario and should be cleared in the respective issue queues of the subsystems or contrib projects repsonsible for this Array send to escape().

What this issue is now about

How we deal with this flood in core for all upcoming cases to prevent WSOD or sites being unoperable? But keep track on the issue? How to help informing about the reasns and more details about the Array passed since this Error is very generic and tells not much about the root cause. After disussions on Slack I came to the conclusion: What this issue should be about is to add an informal way of dealing with this error in case if Argument is Array like started from #30 and below without interrupting (breaking site/code) since this is not a dangerous issue. First patches provide already the functionality and error handling to make sites operable again. In further discussions it became obviuous: best way would be to add an Exception to deal with this.

Users stumbling over this issue by searching for a fix should read carefully from #17 and below how to test what this TypeError has caused in each individual case and should report it in the respective issue queue of the project causing this.

(This starting issue summary has been rcompletely rewritten for the solution oriented context now by @diqidoq in favour of a new issue, to keep track of the initial reports. Thanks for the original report and all the reports helping to find a clear goal for this.)

Issue fork drupal-3352384

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

pandurengan.jegadeesan’s picture

Original function is

  protected static function placeholderEscape($value) {
    return $value instanceof MarkupInterface ? (string) $value : Html::escape($value);
  }

and changed to below function and it is working but with a warning message
Warning: Array to string conversion in core\lib\Drupal\Component\Render\FormattableMarkup.php on line 274

  protected static function placeholderEscape($value) {
      if ($value instanceof MarkupInterface) {
          return (string) $value;
      } else {
          $value = (string) $value;
          return Html::escape($value);
      }
  }

is it the correct one or need to change it?

ranjit1032002’s picture

Status: Active » Needs review
StatusFileSize
new722 bytes

Created a patch for the issue mention, please review.
Thank You.

cilefen’s picture

Thanks for posting a patch, and for posting a backtrace. We have had many workaround patches but absent the steps to reproduce these are not usually incorporated into Drupal.

This is something to do with a view. Are the words "Attempt to add" in a view field or custom template on that site?

smustgrave’s picture

Status: Needs review » Postponed (maintainer needs more info)
Issue tags: +Needs Review Queue Initiative

Moving to PNMI

#4 is correct we need steps to reproduce this.

Not sure the fix is the right approach as this may be masking a large issue.

There will need to be a test case.

danreb’s picture

Also experiencing this error on Webform submission. Here's the complete stack trace, PHP 8.1 and Drupal 9.5.9 combo

TypeError: htmlspecialchars(): Argument #1 ($string) must be of type string, array given in /code/web/core/lib/Drupal/Component/Utility/Html.php on line 432 #0 /code/web/core/lib/Drupal/Component/Utility/Html.php(432): htmlspecialchars(Array, 11, 'UTF-8')
#1 /code/web/core/lib/Drupal/Component/Render/FormattableMarkup.php(270): Drupal\Component\Utility\Html::escape(Array)
#2 /code/web/core/lib/Drupal/Component/Render/FormattableMarkup.php(216): Drupal\Component\Render\FormattableMarkup::placeholderEscape(Array)
#3 /code/web/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php(195): Drupal\Component\Render\FormattableMarkup::placeholderFormat('Success [@tx_id...', Array)
#4 /code/web/core/lib/Drupal/Component/Utility/ToStringTrait.php(15): Drupal\Core\StringTranslation\TranslatableMarkup->render()
#5 /code/web/modules/contrib/elastic_email/src/Plugin/Mail/ElasticEmailMailSystem.php(315): Drupal\Core\StringTranslation\TranslatableMarkup->__toString()
#6 /code/web/modules/contrib/elastic_email/src/Plugin/Mail/ElasticEmailMailSystem.php(139): Drupal\elastic_email\Plugin\Mail\ElasticEmailMailSystem->send(Array)
#7 /code/web/modules/contrib/mailsystem/src/Adapter.php(50): Drupal\elastic_email\Plugin\Mail\ElasticEmailMailSystem->mail(Array)
#8 /code/web/core/lib/Drupal/Core/Mail/MailManager.php(307): Drupal\mailsystem\Adapter->mail(Array)
#9 /code/web/core/lib/Drupal/Core/Mail/MailManager.php(180): Drupal\Core\Mail\MailManager->doMail('webform', 'contact_email_s...', 'redacted@email.com,...', 'en', Array, 'redacted@email.c...', true)
#10 /code/web/core/lib/Drupal/Core/Render/Renderer.php(580): Drupal\Core\Mail\MailManager->Drupal\Core\Mail\{closure}()
#11 /code/web/core/lib/Drupal/Core/Mail/MailManager.php(181): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#12 /code/web/modules/contrib/mailsystem/src/MailsystemManager.php(70): Drupal\Core\Mail\MailManager->mail('webform', 'contact_email_s...', 'redacted@email.com,...', 'en', Array, 'edacted@email.c...', true)
#13 /code/web/modules/contrib/webform/src/Plugin/WebformHandler/EmailWebformHandler.php(1167): Drupal\mailsystem\MailsystemManager->mail('webform', 'contact_email_s...', 'redacted@email.com,...', 'en', Array, 'redacted@email.c...')
#14 /code/web/modules/contrib/webform/src/Plugin/WebformHandler/EmailWebformHandler.php(859): Drupal\webform\Plugin\WebformHandler\EmailWebformHandler->sendMessage(Object(Drupal\webform\Entity\WebformSubmission), Array)
#15 /code/web/modules/contrib/webform/src/Entity/Webform.php(2758): Drupal\webform\Plugin\WebformHandler\EmailWebformHandler->postSave(Object(Drupal\webform\Entity\WebformSubmission), false, NULL)
#16 /code/web/modules/contrib/webform/src/WebformSubmissionStorage.php(1212): Drupal\webform\Entity\Webform->invokeHandlers('postSave', Object(Drupal\webform\Entity\WebformSubmission), false, NULL)
#17 /code/web/modules/contrib/webform/src/WebformSubmissionStorage.php(1120): Drupal\webform\WebformSubmissionStorage->invokeWebformHandlers('postSave', Object(Drupal\webform\Entity\WebformSubmission), false)
#18 /code/web/core/lib/Drupal/Core/Entity/EntityStorageBase.php(523): Drupal\webform\WebformSubmissionStorage->doPostSave(Object(Drupal\webform\Entity\WebformSubmission), false)
#19 /code/web/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php(804): Drupal\Core\Entity\EntityStorageBase->save(Object(Drupal\webform\Entity\WebformSubmission))
#20 /code/web/modules/contrib/webform/src/WebformSubmissionStorage.php(983): Drupal\Core\Entity\Sql\SqlContentEntityStorage->save(Object(Drupal\webform\Entity\WebformSubmission))
#21 /code/web/core/lib/Drupal/Core/Entity/EntityBase.php(339): Drupal\webform\WebformSubmissionStorage->save(Object(Drupal\webform\Entity\WebformSubmission))
#22 /code/web/modules/contrib/webform/src/Entity/WebformSubmission.php(901): Drupal\Core\Entity\EntityBase->save()
#23 /code/web/modules/contrib/webform/src/WebformSubmissionForm.php(1995): Drupal\webform\Entity\WebformSubmission->save()
#24 [internal function]: Drupal\webform\WebformSubmissionForm->save(Array, Object(Drupal\Core\Form\FormState))
#25 /code/web/core/lib/Drupal/Core/Form/FormSubmitter.php(114): call_user_func_array(Array, Array)
#26 /code/web/core/lib/Drupal/Core/Form/FormSubmitter.php(52): Drupal\Core\Form\FormSubmitter->executeSubmitHandlers(Array, Object(Drupal\Core\Form\FormState))
#27 /code/web/core/lib/Drupal/Core/Form/FormBuilder.php(597): Drupal\Core\Form\FormSubmitter->doSubmitForm(Array, Object(Drupal\Core\Form\FormState))
#28 /code/web/core/lib/Drupal/Core/Form/FormBuilder.php(325): Drupal\Core\Form\FormBuilder->processForm('webform_submiss...', Array, Object(Drupal\Core\Form\FormState))
#29 /code/web/core/lib/Drupal/Core/Entity/EntityFormBuilder.php(48): Drupal\Core\Form\FormBuilder->buildForm(Object(Drupal\webform\WebformSubmissionForm), Object(Drupal\Core\Form\FormState))
#30 /code/web/modules/contrib/webform/src/Entity/Webform.php(1250): Drupal\Core\Entity\EntityFormBuilder->getForm(Object(Drupal\webform\Entity\WebformSubmission), 'add')
#31 /code/web/modules/contrib/webform/src/Element/Webform.php(103): Drupal\webform\Entity\Webform->getSubmissionForm(Array)
#32 [internal function]: Drupal\webform\Element\Webform::preRenderWebformElement(Array)
#33 /code/web/core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(101): call_user_func_array(Array, Array)
#34 /code/web/core/lib/Drupal/Core/Render/Renderer.php(788): Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_ren...', 'exception', 'Drupal\\Core\\Ren...')
#35 /code/web/core/lib/Drupal/Core/Render/Renderer.php(374): Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array)
#36 /code/web/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender(Array, false)
#37 /code/web/core/lib/Drupal/Core/Template/TwigExtension.php(479): Drupal\Core\Render\Renderer->render(Array)
#38 /tmp/rolling/live_162/twig/645308e6acf0e_block--webform-block.html_14Ji2JzKax0tH_cjLXHAP10K2/KTVmtGHDAJmn5DSe0XSwosTZuppZDa9NcxyEfBivnKs.php(83): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true)
#39 /code/vendor/twig/twig/src/Template.php(182): __TwigTemplate_47ebe4508918a9b31dce810a9cd05a22->block_content(Array, Array)
#40 /tmp/rolling/live_162/twig/645308e6acf0e_block--webform-block.html_14Ji2JzKax0tH_cjLXHAP10K2/KTVmtGHDAJmn5DSe0XSwosTZuppZDa9NcxyEfBivnKs.php(71): Twig\Template->displayBlock('content', Array, Array)
#41 /code/vendor/twig/twig/src/Template.php(405): __TwigTemplate_47ebe4508918a9b31dce810a9cd05a22->doDisplay(Array, Array)
#42 /code/vendor/twig/twig/src/Template.php(378): Twig\Template->displayWithErrorHandling(Array, Array)
#43 /code/vendor/twig/twig/src/Template.php(390): Twig\Template->display(Array)
#44 /code/web/core/themes/engines/twig/twig.engine(55): Twig\Template->render(Array)
#45 /code/web/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('themes/custom/r...', Array)
#46 /code/web/core/lib/Drupal/Core/Render/Renderer.php(433): Drupal\Core\Theme\ThemeManager->render('block', Array)
#47 /code/web/core/lib/Drupal/Core/Render/Renderer.php(446): Drupal\Core\Render\Renderer->doRender(Array)
#48 /code/web/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender(Array, false)
#49 /code/web/core/lib/Drupal/Core/Template/TwigExtension.php(479): Drupal\Core\Render\Renderer->render(Array)
#50 /tmp/rolling/live_162/twig/645308e6acf0e_page.html.twig_TaxOXADBnVGcSkC0Q6YxwsyKV/jHnaxx7_zJtSiKxc1karbanVfzFitq7i39O9GCeIdm4.php(203): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true)
#51 /code/vendor/twig/twig/src/Template.php(182): __TwigTemplate_934bfbe79b0c3edfc95e3a9ac498c495->block_layout_content(Array, Array)
#52 /tmp/rolling/live_162/twig/645308e6acf0e_page.html.twig_TaxOXADBnVGcSkC0Q6YxwsyKV/jHnaxx7_zJtSiKxc1karbanVfzFitq7i39O9GCeIdm4.php(149): Twig\Template->displayBlock('layout_content', Array, Array)
#53 /code/vendor/twig/twig/src/Template.php(182): __TwigTemplate_934bfbe79b0c3edfc95e3a9ac498c495->block_replaceable(Array, Array)
#54 /tmp/rolling/live_162/twig/645308e6acf0e_page.html.twig_TaxOXADBnVGcSkC0Q6YxwsyKV/jHnaxx7_zJtSiKxc1karbanVfzFitq7i39O9GCeIdm4.php(78): Twig\Template->displayBlock('replaceable', Array, Array)
#55 /code/vendor/twig/twig/src/Template.php(405): __TwigTemplate_934bfbe79b0c3edfc95e3a9ac498c495->doDisplay(Array, Array)
#56 /code/vendor/twig/twig/src/Template.php(378): Twig\Template->displayWithErrorHandling(Array, Array)
#57 /code/vendor/twig/twig/src/Template.php(390): Twig\Template->display(Array)
#58 /code/web/core/themes/engines/twig/twig.engine(55): Twig\Template->render(Array)
#59 /code/web/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('themes/custom/r...', Array)
#60 /code/web/core/lib/Drupal/Core/Render/Renderer.php(433): Drupal\Core\Theme\ThemeManager->render('page', Array)
#61 /code/web/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender(Array, false)
#62 /code/web/core/lib/Drupal/Core/Template/TwigExtension.php(479): Drupal\Core\Render\Renderer->render(Array)
#63 /tmp/rolling/live_162/twig/645308e6acf0e_html.html.twig_OuTMSG2355Bih5WfMUP7t6tew/7FmXiPU40CpoO33XKL_vTleMn90taEa_Ed6BDuXmwEw.php(114): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true)
#64 /code/vendor/twig/twig/src/Template.php(405): __TwigTemplate_5e5dbdb2ca1560371422b85a63b06877->doDisplay(Array, Array)
#65 /code/vendor/twig/twig/src/Template.php(378): Twig\Template->displayWithErrorHandling(Array, Array)
#66 /code/vendor/twig/twig/src/Template.php(390): Twig\Template->display(Array)
#67 /code/web/core/themes/engines/twig/twig.engine(55): Twig\Template->render(Array)
#68 /code/web/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('themes/custom/r...', Array)
#69 /code/web/core/lib/Drupal/Core/Render/Renderer.php(433): Drupal\Core\Theme\ThemeManager->render('html', Array)
#70 /code/web/core/lib/Drupal/Core/Render/Renderer.php(204): Drupal\Core\Render\Renderer->doRender(Array, false)
#71 /code/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(162): Drupal\Core\Render\Renderer->render(Array)
#72 /code/web/core/lib/Drupal/Core/Render/Renderer.php(580): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
#73 /code/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(163): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#74 /code/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))
#75 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#76 /code/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(142): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#77 /code/vendor/symfony/http-kernel/HttpKernel.php(174): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view')
#78 /code/vendor/symfony/http-kernel/HttpKernel.php(81): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#79 /code/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#80 /code/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#81 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(106): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#82 /code/web/core/modules/page_cache/src/StackMiddleware/PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#83 /code/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#84 /code/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#85 /code/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#86 /code/web/core/lib/Drupal/Core/DrupalKernel.php(718): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#87 /code/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#88 {main}
totten’s picture

Over at CiviCRM.org, we have an E2E test-suite for checking the integration between Civi and D9/D7/BD/et al. Following yesterday's release, some of the D9-Civi tests have been raising a red-flag for this issue. I can give steps-to-reproduce, but they are specific to Civi, so it's probably more useful to describe the situation.

Breadcrumb Scenario - General description

  1. The scenario involves a page-request for /civicrm/dev/fake-error. (Note: Routes are mapped between Civi and D9 via Drupal\civicrm\Routing\Routes.)
  2. The page request fails because "TypeError: htmlspecialchars(): Argument #1 ($string) must be of type string, array given".
  3. Specifically, while rendering this page, D9 attempts to show breadcrumbs ("olivero_breadcrumbs"). Each breadcrumb has a title (instance of "TranslateableMarkup"").
  4. In some breadcrumb titles, the "TranslateableMarkup::$arguments" include array values.
  5. Breadcrumb titles are generated by "TitleResolver", which copies all data from $request->attributes->get("_raw_variables") to t(...$args...).

This seems to be the conflict:

  1. TitleResolver is trying to copy every variable that might potentially be useful for the title-string. (It doesn't seem to care which variables are actually used.)
  2. Html::escape is trying to escape every variable that might potentially be used in the title. (It doesn't seem to care which variables are actually used.)
  3. There are some request-attributes (like "args") which are not intended for page-titles, and they are not referenced by page-titles, and are not simple strings.

In short, invisible metadata is getting copied-around and unnecessarily subjected to escaping-rules that it doesn't pass and doesn't need to pass.

Perhaps the simplest change would be to update FormattableMarkup::placeholderFormat() to apply escaping lazily? e.g. use preg_replace_callback() instead of strtr()?

Breadcrumb Scenario - Specifics

I observed this problem while debugging a failure in CiviCRM's E2E\Core\ErrorTest.

The purpose of the test is to provoke errors and confirm that the Civi-Drupal integration displays those errors in a semi-sensible way. If you have an environment that's configured for running this test-suite, then the way to execute is:

cd vendor/civicrm/civicrm-core
phpunit8 --debug tests/phpunit/E2E/Core/ErrorTest.php

(I'm not sure if this specific test is easy to run from a Drupal POV. Many Civi tests require some setup. OTOH, E2E tests don't require as much setup. If it's necessary/helpful, I can come up with more pointers for running it or provide a temporary VM for running it.)

marvs5’s picture

I am having issues similar to @totten. The D9 pages work fine for me. The CiviCRM pages throw the error.

hansrossel’s picture

Status: Postponed (maintainer needs more info) » Needs review
smustgrave’s picture

Status: Needs review » Needs work
Issue tags: +Needs tests

Now that there are steps to reproduce it will need a test case to show the problem.

totten’s picture

Status: Needs work » Postponed (maintainer needs more info)

It's possible that the "Breadcrumb Scenario (CiviCRM)" is a little different from the original filing on this issue. In particular, the initial description talks of a problem experienced in 9.5.7 with cron jobs. For the Breadcrumb/CiviCRM scenario, 9.5.7 was OK -- problem begain in 9.5.9.

Related discussion: https://www.drupal.org/project/drupal/issues/3277784

jensschuppe’s picture

Priority: Normal » Major
Status: Postponed (maintainer needs more info) » Needs work

The patch in #3 is not really handling the root of the problem, as things ending up in htmlspecialchars() might not be cast-able to a string, because route defaults are not restricted to any set of data types.

The bug seems to be in the TitleResolver class, which just copies all route parameters, and those include all route defaults whose key does not start with an underscore _ since Drupal 9.5.9. At least there's a mismatch of assumptions now that route default arguments automatically become route parameters and route parameters have been considered safe as title translation arguments.

You can reproduce the issue with Drupal 9.5.9 by declaring a new Route object with an array in its default argument, e.g.

in a module's modulename.routing.yml:

route_callbacks:
  - '\Drupal\modulename\Routing\Routes::getRoutes'

in the module's src/Routing/Routes.php:

class Routes {
  public function getRoutes() {
    $route_collection = new \Symfony\Component\Routing\RouteCollection();
    return $route_collection->add('/my-path', [
      '_title' => 'Page Title',
      '_controller' => 'Drupal\modulename\Controller\ModuleController:run',
      'my_default_arg' => ['some' => 'array'],
    ]);
    return $route_collection;
  }
}

TitleResolver will then do this (for routes without a _title_callback and with a _title):

if (($raw_parameters = $request->attributes->get('_raw_variables'))) {
  foreach ($raw_parameters->all() as $key => $value) {
    $args['@' . $key] = $value ?? '';
    $args['%' . $key] = $value ?? '';
  }
}

and consequently:

$route_title = $this->t($title, $args, $options);

And this is the very place the ['some' => 'array'] will eventually be passed into htmlspecialchars() which expects a string, but any type might get passed in, potentially not cast-able to string.

This was not the case prior to Drupal 9.5.9, as defaults from the route with a key not known to Drupal have not been copied as route parameters and would thus not have been inside $request->attributes->get('_raw_variables').

The commit introducing that new behavior is a894a04b.

I would say this is at least Major, as this might be considered a regression, and affected modules end up with no workaround. Also quoting @larowlan in #3277784:

I think default arguments can totally be arrays and as such that automagic '@arg' '%arg' should be checking if $value is a scalar - i.e. that sounds like a bug in TitleResolver in my book

jensschuppe’s picture

Priority: Major » Normal
Status: Needs work » Postponed (maintainer needs more info)

Realised this might be a different bug, so created a new issue for that: #3358402.

chris64’s picture

Just a remark. Before htmlspecialchars(), common to both #0 and #6, line 216 in core/lib/Drupal/Component/Render/FormattableMarkup.php in placeholderFormat() means a key beginning by @, and the problem means an array as placeholder value instead of a string. Some thing like to use map string => array in the php function strtr(). Quite doubtful.

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

chris64’s picture

Question: did the arrays in the pure Drupal problems #0 and #6 are of form 1) '@A' => ['a',] or 2) '@A' => ['a', 'b', ...]? If 1), it should be '@A' => 'a' instead.

dqd’s picture

This issue feels badly cluttered with a "dead end" and many reports came from different scenarios, where it is not finally clear, if they are even connected to each other. The error message is a very general one which can be caused from many corner cases. Can some one who is involved in this issue here please summarize or clear up what's really up?(I did it already.) Otherwise we have another postponed forever issue collecting users all having this error over the years, joining, reporting without any idea what this exact issue is about. I also would recommend to start a new issue convert this issue into a core "Feature request" to get a better error message here to exactly know from where it has been caused since error message can be found in many issues on D.O.

dqd’s picture

Status: Postponed (maintainer needs more info) » Needs review

@totten: are you maintainer of the issue related project part or division here? If not I would strongly recommend - in non contrib scenarios - to leave it up to the maintainers to set "maintainers need more info" because this tag is very opinionated and can lead to maintainers keeping out of this in the belief that they set it by their self and wait until somebody comes up with something to read thru. Since there are many of such errors popping up lately here on D.O. after core updates we maybe need some more opinions how to go forward. It feels to me like it has been caused by a more strict handling of badly formatted template or field markup. We need a quick way out here since some admin areas are not accessible no more because of this error like many reported to us. Maybe a reason to raise a flag.

smustgrave’s picture

Title: TypeError: htmlspecialchars(): Argument #1 ($string) must be of type string, array given in htmlspecialchars() (line 432 of core\lib\Drupal\Component\Utility\Html.php) » TypeError: htmlspecialchars(): Argument #1 ($string) must be of type string, array given in htmlspecialchars() (line 432 of core\lib\Drupal\Component\Utility\Html.php)
Status: Needs review » Needs work

Typically needs to be investigated is this is masking a larger issue. Just putting an isset() or !empty() check doesn't work.

But a test case showing the issue will be needed.

dqd’s picture

Priority: Normal » Major
Issue tags: +WSOD

if this is masking a larger issue.

... Agreed. Thanks for chiming in so quick. As we spoke on Slack we have dozens of such issues regarding this error, obviously coming in from different scenarios, where the changed strict type check all finally leads to this error now. Most of them after updating Drupal, some of them after updating PHP. And we need a point to start at for now to prevent further reports with missing details since non of them show the root of their scenario. Can someone familiar with this type of issue maybe guide us to a way how to track down to the individual cause of this error, so that users can refine their reports?

And - as I sad - some of them lead to WSOD in admin area so the Drupal project isn't maintainable on more. As we spoke and confirmed on Slack we should temporary change prio to Major for now until we have quick workarounds for them for how to access their projects again.

dqd’s picture

@smustgrave came up with a good idea on #Slack for those who humble over this but don't know how to track down the real issue causing this TypeError message:

Something that might help is someone to use a local patch that when an array is passed log it so maybe that can be used to backtrace where it came from

That's a pretty good idea since the error message at least tells us where this TypeError gets initiated, so the code could be placed around that spot and log the array passed and informations about its source.

dqd’s picture

I am not at the dev place at the moment but free from my memory we are around that place?

422    * @see htmlspecialchars()
423    * @see \Drupal\Component\Utility\Html::decodeEntities()
424    *
425    * @ingroup sanitization
426    */
427   public static function escape($text): string {
428     if (is_null($text)) {
429       @trigger_error('Passing NULL to ' . __METHOD__ . ' is deprecated in drupal:9.5.0 and will trigger a PHP error from drupal:11.0.0. Pass a string instead. See https://www.drupal.org/node/3318826', E_USER_DEPRECATED);
430       return '';
431     }
432     return htmlspecialchars($text, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
433   }

The patch in #3 is exactly pointing to that spot, but I am not sure what he wanted to achieve with that (string) implementation before $text. Looks like masking the actual error behind. And now I see that @smustgrave already commented on this. But I think this would be a good place to put a "check if array then log details" kind of thing (patch) to track down the source of evil.

But at least the patch in #3 could be a temporary fix for those who need to get rid of WSOD and reach admin path again. Just do not forget to remove that later...

dqd’s picture

I was able to help one user by adding an if_array() there at first place in the function and a var_dump($text) to find out that in his case the toolbar_language_switcher seem to cause this issue. I am pretty sure if everybody follows smustgrave's suggestion to add a check and print array there we can finally bring all root sources for this error into the proper issue queues. here is the link to the issue I have created to help the maintainers over there fixing this: https://www.drupal.org/project/toolbar_language_switcher/issues/3378536

dqd’s picture

Can anyone of the previous reporters test/confirm that their occurrences of that TypeError is def. caused by a Drupal core code source by using the hints we provided above to check that? Which - if so - would keep this issue relevant in the way it is now. But if not, the reports should be moved to the proper issue queues and this issue here could be maybe changed/converted into a useful FR for Drupal handling of such cases.

My first thought was: maybe like an Exception following https://www.drupal.org/docs/develop/coding-standards/php-exceptions with notice warning message so that code maintainers can solve this without breaking the site?

dqd’s picture

Priority: Major » Normal
Status: Needs work » Needs review
chris64’s picture

May be meditate this issue?:#3169593 (see patch).

namisha jadhav’s picture

Can #3 patch will affect anything else?

dqd’s picture

#26: not sure how this link contributes to this issue.
#27: please read the last comments regarding where this issue goes. #3 is not a fix and just masking the real issues under the hood.

At this state this issue is just an accidentally collecting basin of many different issues showing all the same TypeError. As I sad before: users could really help a lot by checking on their projects which part is causing this error by adding a "var dump in case of array" at the line and then report in the proper issue queues for that so that maintainers can change their codebase to respect the new strict Type handling in their projects.

This issue here should turn into an FR for core (Done!) where we should discuss what to do with all these TypeErrors, which will surely become even more next time. One suggestion discussed in Slack was to add an Exception into core with a notice warning message so that WSOD can be prevented. Feel free to join the discussion on Slack in #contribute https://drupal.slack.com/archives/C1BMUQ9U6/p1690729458145389 or try to contribute to the issue here. Thanks for understanding.

dqd’s picture

For those who need help on this (what I wrote above) here is a small and still very "dirty" patch (click here to get down to the version passing the tests below) (had no more time on the road so forgive me the lousy Drupal coding standards and comments). The patch provides all you need to go on and check by yourself where this error has been caused (by removing the // commenting out chars of the print part of the patch after being applied). If you just need to get rid of WSOD just apply the patch without any other changes. It will make your site accessible again but prints an error message in the message region with more details and creates an error log, so this problem is not masked.

The patch also includes already a raw model of how a future Exception could look like placed in the right order of first checking if array and if then throwing the Exception, then checking if null and if none of them running the default.

dqd’s picture

Since I quickly wrote this at night on the road forgive me the trailing whitespaces (caused by terminal vim), but why it says directory does not exist surprises me. From which root dir the tests run? from web ? web/core/?

... another try.

dqd’s picture

Forgot comments inside functions or classes etc should be // instead of /**/ in the rush. OK, tried to clean it up a bit for tests to pass. (hopefully now)

dqd’s picture

Jesus! OK, it's pretty hard on the road in vim terminal on an external server instead of a local env to get it right. Sorry for the noise.

dqd’s picture

Well I usually would leave indention as it should be even if not commented out, but the parsers wants me to keep only one white space after comment out mark. And I have to add /core manually to the path since the patch has been created in /core/ where we have git HEAD to patch against.

EDIT: Jesus! Finally. Test passed. OK I will link to this one in the first comment where I explain what this patch is good for.

dqd’s picture

Issue summary: View changes
andypost’s picture

  1. +++ b/core/lib/Drupal/Component/Utility/Html.php
    @@ -425,11 +425,32 @@ EOD;
    +    // See https://www.drupal.org/node/3352384 for more.
    ...
    +      @trigger_error('Passing Arguments of Type Array to ' . __METHOD__ . ' will trigger a PHP TypeError in drupal:9.5.0 and higher. Pass a string instead. See https://www.drupal.org/node/3352384', E_USER_DEPRECATED);
    +      \Drupal::messenger()->addMessage('Passing Arguments of Type Array to ' . __METHOD__ . ' will trigger a PHP TypeError in drupal:9.5.0 and higher. Pass a string instead. See <a href="https://www.drupal.org/node/3352384">Drupal core issue 3352384</a> for more details. Enable var_dump() or Devel dpm() by uncommenting the lines 434-439 from this patch added in \Drupal\Component\Utility\Html.php.', 'error', FALSE, $uid = 0);
    

    I think it should be link to change record

  2. +++ b/core/lib/Drupal/Component/Utility/Html.php
    @@ -425,11 +425,32 @@ EOD;
         }
    -    return htmlspecialchars($text, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
    +    else {
    +      return htmlspecialchars($text, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
    +    }
    

    else is superfluous

dqd’s picture

Thanks @andypost!

1.

else is superfluous

Yeah - ifelse is too, actually. Since return already stops further steps. Wasn't sure what we prefer here for this temporary patch its readability, that's why. Which by the way isn't the final route since this issue will be converted soon so do not waste too much spare time for patch reviews yet. But thanks for your quick response!

2.

I think it should be link to change record

We would be happy to have the change record. The reason why it took so long to realize what to do with this issue is that we didn't knew the point things have been changed clearly or if it was maybe PHP only. Than the messages would be clearer too, regarding the Drupal version.

PS: I did it all on the road in the last days because of many user reports popping up on this error message. So please forgive me some quick decisions I made on the rush.

dqd’s picture

Title: TypeError: htmlspecialchars(): Argument #1 ($string) must be of type string, array given in htmlspecialchars() (line 432 of core\lib\Drupal\Component\Utility\Html.php) » Add Exception with better Error handling for TypeError Argument must be of type string array given in htmlspecialchars()
Category: Bug report » Feature request
Issue summary: View changes

Not sure what the initial report tries to tell us with this huge not formatted code pasted, but from the follow up comments further down especially from #6 and below we see that we mainly are discussing the first part of the output provided in the starting post about htmlspecialchars(): Argument #1 ($string) must be of type string, array given

So let's change the starting post to something useful with some context and maybe let's change it to a useful core issue like discussed before here and on Slack.

dqd’s picture

Issue summary: View changes
dqd’s picture

Following point 2. in #35 and respecting logical conclusion in point 1. of #36 so turning if-ifelse-else into if-if-x reduces the patch size and numbers of lines and removes the lines discussed in #35, since last part of public static function escape($text): string { is now like before.

chris64’s picture

To follow an maybe wrong idea (I1).

The new test and warning about array (T1) look like the test and warning about null (T0) in the same function (F0).
This one, T0, refers to an information, #3318826, where this function and few others are evoked.
This information is evoked in an other function, FormattableMarkup::placeholderFormat (F1), in a similar test and warning about null.

Question 1:does the new test and warning T1 should concern these few others functions too?

Question 2:when function F0 is called with warning T1, does the function F1 is called?

dqd’s picture

@all: Updated patch #41

  1. Shorter error message.
  2. Removed $uid = 0 from message array, which I added accidentally from something I mixed up in my head with error message options. Interesting enough that it has passed the test successfully, doah.
  3. Added change record handling if NULL to kindof fulfill suggestion in #35 point 1. Didn't found chang erecord for new Array handling, so I think it is a PHP change only?

@Chris64:

Question 1:does the new test and warning T1 should concern these few others functions too?

.
No, the handling of if NULL is fine like it is IMHO since it doesn't cause issues like if Array does.

Question 2:when function F0 is called with warning T1, does the function F1 is called?

Since all if() parts own a return the other parts won't be passed from my understanding. So if Array is given, if NULL and the other lines below won't be executed no more. if Array is TRUE then we return the string converted Array with the error message and error log to stop WSOD and other issues caused by that to keep sites functional while code contributors are informed that they have to change their Argument given from Array to string in future updates. As explained in the patch code comments.

smustgrave’s picture

Status: Needs review » Needs work

Putting into NW while this is being worked on. Great work!

dqd’s picture

Still trying to make error message better and consistent to similar Drupal error messages in core. And I think I am a step further for now. :)

Apart from that, do we have a better method to convert/pass invalid Array to htmlspecialchars() than to use "string" which simply returns "Array"? Would like to hear thoughts on this (please note this is for an upcoming Exception to keep being executable while informing that it needs to be fixed).

My suggestion for the Exception discussed in Slack and here is:

namespace \Drupal\Component\Utility\Html

InvalidArgumentException extends Exception {}

This way we can use it for other places in Html.php where we maybe run into the same issue.

dqd’s picture

Queued for testing ...

dqd’s picture

Title: Add Exception with better Error handling for TypeError Argument must be of type string array given in htmlspecialchars() » Add Exception for TypeError Argument must be String in \Drupal\Component\Utility\Html escape{}
Issue summary: View changes
Issue tags: -Needs steps to reproduce +Needs change record
dqd’s picture

Issue summary: View changes
dqd’s picture

Issue summary: View changes
chris64’s picture

@diqidoq, to follow idea #40 I1 and answer to #41.

- Q1:

No, the handling of if NULL is fine like it is IMHO since it doesn't cause issues like if Array does.

Not to change the handling of if NULL, but to to mimic handling of if Array on it. May be it doesn't cause issues like if Array does. You you are sure of that. Personally I don't know that, but when I see such a message I think it will be fatal.

- Q2:To be more explicit, in FormattableMarkup::placeholderFormat,

  protected static function placeholderFormat($string, array $args) {
    // Transform arguments before inserting them.
    foreach ($args as $key => $value) {
      if (is_null($value)) {
        // It's probably a bug to provide a null value for the placeholder arg,
        // and in D11 this will no longer be allowed. When this trigger_error
        // is removed, also remove isset $value checks inside the switch{}
        // below.
        @trigger_error(sprintf('Deprecated NULL placeholder value for key (%s) in: "%s". This will throw a PHP error in drupal:11.0.0. See https://www.drupal.org/node/3318826', (string) $key, (string) $string), E_USER_DEPRECATED);
        $value = '';
      }
      switch ($key[0]) {

with no return after the warning message. Hence no stop here. Maybe after, to do it as you said. (But here, the error is corrected, hence no reason to stop the process. Correction could be an other solution to avoid WSOD or other error.)

Yes, there is a big difference between Array and NULL:easy to convert NULL to a valid string ($value = '';), but generally no such a thing exists for an Array.

Your approach sends a message from the place of the fatal error. Upper information could be useful. It is the idea of a similar message from FormattableMarkup::placeholderFormat as done for if NULL (but with no correction and no stop).

To be more explicit, the goal of this other message, i.e. in placeholderFormat, is to get an information upper. If M is a message, indices 0 for placeholderFormat, 1 for escape, warning messages sequences M1, M0 or M0 M1 have not the same meaning. Maybe be wrong, but I believe that M0 M1 will be obtained.

dqd’s picture

Status: Needs work » Needs review

@Chris64: Thanks for trying to explain your thoughts further more. I am still not sure if I got it all 100% on a rush (on the road) here yet, since we both do not talk in native tongue here but ta least your try to point "a level up" before we go down to Html:escape has reeached me :) and makes absolutely sense to consider. Put it on needs review for more thoughts on it.

chris64’s picture

@diqidoq, yes indeed. A problem is the gap between the bug and its source, and a goal is to identify the source.

dqd’s picture

and a goal is to identify the source.

Yes and no, again: Yes because (look at the second commented out part of the patch) and no because: the sources are different for the same error and will not be handled in this issue. This issue here (for now) only tries to cover a new core behaviour/ or "handling" in any case of when the error occures to keep sites functional. F.e. to prevent WSOD and similar.

smustgrave’s picture

Status: Needs review » Needs work

So I don't think we can include that dpm() and devel stuff in code. Maybe could be recommended in the change record.

Would look at other trigger_errors in core for word pattern to sue.

namisha jadhav’s picture

By applying patch #43 I am getting below error

"Passing Argument of Type Array to Drupal\Component\Utility\Html::escape will trigger a PHP TypeError in drupal:9.5.7 and higher. Pass a string instead. See https://www.drupal.org/node/3352384 for more. To find out more about the Array given instead of String, use var_dump() or Devel dpm() by uncommenting line 440-447 in \Drupal\Component\Utility\Html.php."

Also there are multiple warnings displayed in logs as follows:
"Warning: Array to string conversion in Drupal\Component\Utility\Html::escape() (line 451 of /var/www/mis/docroot/core/lib/Drupal/Component/Utility/Html.php)"

chris64’s picture

@Namisha Jadhav is it possible to have
1) the argument? By uncommenting (see patch #43),

      // if (\Drupal::moduleHandler()->moduleExists('devel')) {
      // dpm($text);
      // }
      // else {
      // var_dump($text);
      // }

2) the stack trace? At leat #0 to #10.

namisha jadhav’s picture

Please find below screenshot after uncommenting the given lines above:

array(21) { [0]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(29) "web/AYBYsubmissions/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [1]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(16) "web/OK/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [2]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(22) "web/OKsweeps/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [3]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(23) "web/PoGCovers/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [4]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(26) "web/RollerSweeps/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [5]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(27) "web/albumplayback/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [6]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(33) "web/anniversarygiveaway/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [7]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(27) "web/coloringpages/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [8]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(21) "web/connect/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [9]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(34) "web/flexiPicturesofGirls/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [10]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(23) "web/headcount/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [11]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(18) "web/help/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [12]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(26) "web/mailing-list/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [13]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(19) "web/music/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [14]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(33) "web/nothinghappensgame/index.html" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [15]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(22) "web/playlist/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [16]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(31) "web/playlistgenerator/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [17]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(42) "web/pleaserliveatatlanticstudios/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [18]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(18) "web/tour/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [19]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(20) "web/videos/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [20]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(18) "web/vote/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } } array(21) { [0]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(29) "web/AYBYsubmissions/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [1]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(16) "web/OK/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [2]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(22) "web/OKsweeps/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [3]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(23) "web/PoGCovers/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [4]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(26) "web/RollerSweeps/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [5]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(27) "web/albumplayback/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [6]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(33) "web/anniversarygiveaway/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [7]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(27) "web/coloringpages/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [8]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(21) "web/connect/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [9]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(34) "web/flexiPicturesofGirls/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [10]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(23) "web/headcount/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [11]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(18) "web/help/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [12]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(26) "web/mailing-list/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [13]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(19) "web/music/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [14]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(33) "web/nothinghappensgame/index.html" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [15]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(22) "web/playlist/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [16]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(31) "web/playlistgenerator/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [17]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(42) "web/pleaserliveatatlanticstudios/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [18]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(18) "web/tour/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [19]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(20) "web/videos/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } [20]=> array(2) { [0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(18) "web/vote/index.php" [1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" ["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL ["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } [2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } } array(6) { ["title"]=> object(Drupal\Core\StringTranslation\TranslatableMarkup)#2469 (5) { ["string":protected]=> string(32) "Pushing changes to production..." ["arguments":protected]=> array(0) { } ["translatedMarkup":protected]=> NULL ["options":protected]=> array(0) { } ["stringTranslation":protected]=> NULL } ["operations"]=> array(0) { } ["init_message"]=> object(Drupal\Core\StringTranslation\TranslatableMarkup)#2474 (5) { ["string":protected]=> string(12) "Preparing..." ["arguments":protected]=> array(0) { } ["translatedMarkup":protected]=> NULL ["options":protected]=> array(0) { } ["stringTranslation":protected]=> NULL } ["progress_message"]=> object(Drupal\Core\StringTranslation\TranslatableMarkup)#2384 (5) { ["string":protected]=> string(41) "Processed @current out of @total changes." ["arguments":protected]=> array(0) { } ["translatedMarkup":protected]=> NULL ["options":protected]=> array(0) { } ["stringTranslation":protected]=> NULL } ["error_message"]=> object(Drupal\Core\StringTranslation\TranslatableMarkup)#1845 (5) { ["string":protected]=> string(40) "An error occurred while pushing changes." ["arguments":protected]=> array(0) { } ["translatedMarkup":protected]=> NULL ["options":protected]=> array(0) { } ["stringTranslation":protected]=> NULL } ["finished"]=> string(63) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitCommitChanges" } array(6) { ["title"]=> object(Drupal\Core\StringTranslation\TranslatableMarkup)#2469 (5) { ["string":protected]=> string(32) "Pushing changes to production..." ["arguments":protected]=> array(0) { } ["translatedMarkup":protected]=> NULL ["options":protected]=> array(0) { } ["stringTranslation":protected]=> NULL } ["operations"]=> array(0) { } ["init_message"]=> object(Drupal\Core\StringTranslation\TranslatableMarkup)#2474 (5) { ["string":protected]=> string(12) "Preparing..." ["arguments":protected]=> array(0) { } ["translatedMarkup":protected]=> NULL ["options":protected]=> array(0) { } ["stringTranslation":protected]=> NULL } ["progress_message"]=> object(Drupal\Core\StringTranslation\TranslatableMarkup)#2384 (5) { ["string":protected]=> string(41) "Processed @current out of @total changes." ["arguments":protected]=> array(0) { } ["translatedMarkup":protected]=> NULL ["options":protected]=> array(0) { } ["stringTranslation":protected]=> NULL } ["error_message"]=> object(Drupal\Core\StringTranslation\TranslatableMarkup)#1845 (5) { ["string":protected]=> string(40) "An error occurred while pushing changes." ["arguments":protected]=> array(0) { } ["translatedMarkup":protected]=> NULL ["options":protected]=> array(0) { } ["stringTranslation":protected]=> NULL } ["finished"]=> string(63) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitCommitChanges" } The website encountered an unexpected error. Please try again later.

chris64’s picture

Thank you @Namisha Jadhav for the information. Well. To big. Could you cut your message? I think it is better. Hereafter a summary of the message. In this way your information is preserved. No stack trace? Like in #6.

A look at the message shows some repeats: 2x2 + 2x2 + 1: two double block plus a comment. Arrays of size 21 and 6. For a better reading only 1 element of the first block and the second block are given. The elements are different only by the associate index file.

array(21) { 
[0]=> array(2){ 
[0]=> string(60) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitAddChanges" [1]=> array(4) { [0]=> string(29) "web/AYBYsubmissions/index.php" 
[1]=> object(GitWrapper\GitWorkingCopy)#2283 (3) { ["cloned":"GitWrapper\GitWorkingCopy":private]=> NULL ["directory":"GitWrapper\GitWorkingCopy":private]=> string(21) "/efs/wallowsmusic-com" 
["gitWrapper":"GitWrapper\GitWorkingCopy":private]=> object(GitWrapper\GitWrapper)#2373 (5) { ["gitBinary":"GitWrapper\GitWrapper":private]=> string(12) "/usr/bin/git" ["timeout":"GitWrapper\GitWrapper":private]=> int(700) ["env":"GitWrapper\GitWrapper":private]=> array(3) { ["GIT_SSH"]=> string(63) "/var/www/mis/vendor/cpliakas/git-wrapper/bin/git-ssh-wrapper.sh" ["GIT_SSH_KEY"]=> string(48) "/var/mis/..2023_11_24_05_35_54.2659517321/id_rsa" ["GIT_SSH_PORT"]=> int(22) } ["outputEventSubscriber":"GitWrapper\GitWrapper":private]=> NULL 
["eventDispatcher":"GitWrapper\GitWrapper":private]=> object(Symfony\Component\EventDispatcher\EventDispatcher)#2459 (3) { ["listeners":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["sorted":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } ["optimized":"Symfony\Component\EventDispatcher\EventDispatcher":private]=> array(0) { } } } } 
[2]=> string(16) "wallowsmusic-com" [3]=> string(4) "7722" } } 
...
array(6) { 
["title"]=> object(Drupal\Core\StringTranslation\TranslatableMarkup)#2469 (5) { ["string":protected]=> string(32) "Pushing changes to production..." ["arguments":protected]=> array(0) { } ["translatedMarkup":protected]=> NULL ["options":protected]=> array(0) { } ["stringTranslation":protected]=> NULL } ["operations"]=> array(0) { } 
["init_message"]=> object(Drupal\Core\StringTranslation\TranslatableMarkup)#2474 (5) { ["string":protected]=> string(12) "Preparing..." ["arguments":protected]=> array(0) { } ["translatedMarkup":protected]=> NULL ["options":protected]=> array(0) { } ["stringTranslation":protected]=> NULL } 
["progress_message"]=> object(Drupal\Core\StringTranslation\TranslatableMarkup)#2384 (5) { ["string":protected]=> string(41) "Processed @current out of @total changes." ["arguments":protected]=> array(0) { } ["translatedMarkup":protected]=> NULL ["options":protected]=> array(0) { } ["stringTranslation":protected]=> NULL } 
["error_message"]=> object(Drupal\Core\StringTranslation\TranslatableMarkup)#1845 (5) { ["string":protected]=> string(40) "An error occurred while pushing changes." ["arguments":protected]=> array(0) { } ["translatedMarkup":protected]=> NULL ["options":protected]=> array(0) { } ["stringTranslation":protected]=> NULL } 
["finished"]=> string(63) "\Drupal\mis_git\Form\PushSiteChangesForm::batchGitCommitChanges" } 

The website encountered an unexpected error. Please try again later.
Object exists 63 = 3x21 in the first block and 4 in the second. Their types are,

object(GitWrapper\GitWorkingCopy)
object(GitWrapper\GitWrapper)
object(Symfony\Component\EventDispatcher\EventDispatcher)

object(Drupal\Core\StringTranslation\TranslatableMarkup)

What to said about this? Nothing to do here. The last object type look like a toString() missing. The stack trace is necessary to know what's happened before. There is some thing wrong somewhere. This kind of problem should be prevented and cut off. I think before in the code.

Version: 9.5.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

cosmicdreams’s picture

Hello all, I found this issue while trying to understand the issues I'm having throughout my site's use of text editors and why it is no longer filtering out spaces (&nbsp).

I think most of the issue I'm seeing can be explained by this discovery, documented https://www.drupal.org/project/drupal/issues/3409587#comment-15366524

an excerpt:

Drupal 10.1:

print \Drupal\Component\Utility\Html::normalize("<p>&nbsp;</p>");
<p> </p>

 print \Drupal\Component\Utility\Html::normalize("<p>\xc2\xa0</p>");
<p> </p>

Drupal 10.2:

print \Drupal\Component\Utility\Html::normalize("<p>&nbsp;</p>");
<p>&nbsp;</p>

print \Drupal\Component\Utility\Html::normalize("<p>\xc2\xa0</p>");
<p>&nbsp;</p>

So now I'm looking for any issue that might seek to address this issue in Html::normalize and I found this issue.

Are you aware of this issue?

dqd’s picture

@Chris64 and others: Sorry that I lost track of this issue while being busy and on business travel. Will hopefully get back on it soon. Thanks for the link @cosmicdreams, will take a look.

bbu23’s picture

StatusFileSize
new135.67 KB

Hi,

I'm using Drupal 11.0.0-beta1, I installed only a few modules. Sometimes I get the following error that looks similar:

The website encountered an unexpected error. Try again later.

TypeError: Drupal\Component\Utility\Html::escape(): Argument #1 ($text) must be of type string, null given, called in /var/www/html/web/core/lib/Drupal/Core/Utility/LinkGenerator.php on line 198 in Drupal\Component\Utility\Html::escape() (line 431 of core/lib/Drupal/Component/Utility/Html.php).
Drupal\Core\Utility\LinkGenerator->doGenerate() (Line: 180)
Drupal\Core\Utility\LinkGenerator->generate() (Line: 102)
Drupal\Core\Render\Element\Link::preRenderLink()
call_user_func_array() (Line: 107)
Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 825)
Drupal\Core\Render\Renderer->doCallback() (Line: 387)
Drupal\Core\Render\Renderer->doRender() (Line: 203)
Drupal\Core\Render\Renderer->render() (Line: 970)
Drupal\views\Plugin\views\field\EntityField->render_item() (Line: 259)
Drupal\search_api\Plugin\views\field\SearchApiEntityField->render_item() (Line: 1214)
Drupal\views\Plugin\views\field\FieldPluginBase->advancedRender() (Line: 231)
template_preprocess_views_view_field()
call_user_func_array() (Line: 261)
Drupal\Core\Theme\ThemeManager->render() (Line: 446)
Drupal\Core\Render\Renderer->doRender() (Line: 203)
Drupal\Core\Render\Renderer->render() (Line: 1796)
Drupal\views\Plugin\views\field\FieldPluginBase->theme() (Line: 767)
Drupal\views\Plugin\views\style\StylePluginBase->elementPreRenderRow()
call_user_func_array() (Line: 107)
Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 825)
Drupal\Core\Render\Renderer->doCallback() (Line: 387)
Drupal\Core\Render\Renderer->doRender() (Line: 203)
Drupal\Core\Render\Renderer->render() (Line: 706)
Drupal\views\Plugin\views\style\StylePluginBase->renderFields() (Line: 572)
Drupal\views\Plugin\views\style\StylePluginBase->renderGrouping() (Line: 460)
Drupal\views\Plugin\views\style\StylePluginBase->render() (Line: 2177)
Drupal\views\Plugin\views\display\DisplayPluginBase->render() (Line: 1592)
Drupal\views\ViewExecutable->render() (Line: 201)
Drupal\views\Plugin\views\display\Page->execute() (Line: 1689)
Drupal\views\ViewExecutable->executeDisplay() (Line: 81)
Drupal\views\Element\View::preRenderViewElement()
call_user_func_array() (Line: 107)
Drupal\Core\Render\Renderer->doTrustedCallback() (Line: 825)
Drupal\Core\Render\Renderer->doCallback() (Line: 387)
Drupal\Core\Render\Renderer->doRender() (Line: 203)
Drupal\Core\Render\Renderer->render() (Line: 238)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 593)
Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 231)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare() (Line: 128)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray() (Line: 246)
Symfony\Component\EventDispatcher\EventDispatcher::Symfony\Component\EventDispatcher\{closure}() (Line: 206)
Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (Line: 56)
Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (Line: 188)
Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass() (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 705)
Drupal\Core\DrupalKernel->handle() (Line: 19)

it appeared a bit random initially, but this last time it even blocked me from saving a newly created Views page. After saving the Views page with JS disabled, when trying to access the page, I get the above error.
If I dump the $variables in the Utility/LinkGenerator.php I can see that the link is intended for a taxonomy term, and the text seems to be null:
Screenshot of dumped variables

Update:

It seems that devel generate created some terms with no label. But I'm pretty sure that I was getting this or similar prior to installing devel generate.

joshuautley’s picture

I found this issue with a fresh install of Drupal 11.0.4 running PHP 8.3.8.

When the "Sender name" and/or "Subject" input field(s) are disabled under "Manage Form Display," an error is triggered after submitting a custom Contact form (core module).

Thank you to everyone who's working towards core solutions.

-------- Begin ERROR ---------------------

The website encountered an unexpected error. Try again later.

TypeError: Drupal\Component\Utility\Html::escape(): Argument #1 ($text) must be of type string, null given, called in /chroot/home/plhscentenial/plhs100.com/html/core/lib/Drupal/Component/Render/FormattableMarkup.php on line 256 in Drupal\Component\Utility\Html::escape() (line 431 of core/lib/Drupal/Component/Utility/Html.php).

Drupal\Component\Render\FormattableMarkup::placeholderEscape() (Line: 205)
Drupal\Component\Render\FormattableMarkup::placeholderFormat() (Line: 195)
Drupal\Core\StringTranslation\TranslatableMarkup->render() (Line: 15)
Drupal\Core\StringTranslation\TranslatableMarkup->__toString() (Line: 142)
contact_mail()
call_user_func_array() (Line: 407)
Drupal\Core\Extension\ModuleHandler->invoke() (Line: 273)
Drupal\Core\Mail\MailManager->doMail() (Line: 181)
Drupal\Core\Mail\MailManager->Drupal\Core\Mail\{closure}() (Line: 593)
Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 180)
Drupal\Core\Mail\MailManager->mail() (Line: 114)
Drupal\contact\MailHandler->sendMailMessages() (Line: 223)
Drupal\contact\MessageForm->save()
call_user_func_array() (Line: 105)
Drupal\Core\Form\FormSubmitter->executeSubmitHandlers() (Line: 43)
Drupal\Core\Form\FormSubmitter->doSubmitForm() (Line: 589)
Drupal\Core\Form\FormBuilder->processForm() (Line: 321)
Drupal\Core\Form\FormBuilder->buildForm() (Line: 48)
Drupal\Core\Entity\EntityFormBuilder->getForm() (Line: 92)
Drupal\contact_storage\ContactFormViewBuilder->view() (Line: 45)
Drupal\contact_storage\Controller\ContactStorageController->contactSitePage()
call_user_func_array() (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 593)
Drupal\Core\Render\Renderer->executeInRenderContext() (Line: 121)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext() (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 183)
Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass() (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 709)
Drupal\Core\DrupalKernel->handle() (Line: 19)

------------ End ERROR ----------------

Additional gripe: collecting the first and last names separately for later use as Dear [first_name] is common. Collecting the full sender name as a single input is not required. Additionally, being unable to alter the label of the default "Sender email" within the "Manage fields" display is not ideal, as most people are used to seeing "Email Address" as the label.

Related Issue: https://www.drupal.org/project/drupal/issues/2753253

Regarding sending as HTML under "Contact settings", there are instructions that we need to use Swiftmailer, which is the only module Drupal has tested. However, if a person visits the Swiftmailer module project page, they will find that the module is not supported due to a security issue.

https://www.drupal.org/sa-contrib-2024-006

I realize I'm describing a few issues here and that they should be addressed separately. My apologies. However, with the issue queues showing little to no activity or progress towards solutions on Contact form specific problems, I feel it's good to list these issues here in the hopes that someone can escalate the need for attention regarding a most basic yet complex feature of the Internet (contact forms).

enchufe’s picture

I had a similar error:
[error] TypeError: Drupal\Component\Utility\Html::escape(): Argument #1 ($text) must be of type string, null given, called in /var/www/html/xyz/docroot/core/lib/Drupal/Component/Render/FormattableMarkup.php on line 256 in Drupal\Component\Utility\Html::escape() (line 431 of /var/www/html/xyz/docroot/core/lib/Drupal/Component/Utility/Html.php)
That I solved with this patch, if it helps anyone.

pacproduct’s picture

Hi all.

I faced this issue when trying to display the "Status report" page (/admin/reports/status) on our site.

Turned out, that was because Drupal was failing at displaying the string "%profile_name (%profile-%version)" with the following parameters:

  • %profile_name: <em class="placeholder">Our Custom Installer</em>
  • %profile: <em class="placeholder">custom_installer</em>
  • %version: NULL

It fails because of the NULL value.

Solving it was trivial in the end, we simply added the missing version key to our installation profile custom_installer.info.yml file. But it feels like it should probably behave in a more graceful way :)

guezs’s picture

¡Gracias! enchufe.

This worked for me!

smulvih2’s picture

Patch in #62 fixed my issue using core 11.1.2

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

ressa changed the visibility of the branch 3352384-typeerror-htmlspecialchars-d11 to hidden.

ressa’s picture

Thanks @enchufe your patch in #64 works well. Like bbu23 in #60, I believe I got the error after generating content with Devel Generate, maybe some terms lacked labels? Under a node "Tags" field, I can see this: "Importunus occuro paulatim tation (1), (4), (4)"

PS. I tried making a fresh branch, but I think I still got Drupal 9 ... see https://www.drupal.org/docs/develop/git/using-gitlab-to-contribute-to-dr...

mlncn’s picture

Priority: Normal » Major
Issue summary: View changes

Preventing WSOD's by catching an exception here has become increasingly important with something that changed in Drupal 11.1 or in PHP 8.4. Something that did not used to be a noticeable warning on the status page is now a fatal error on the status page with a "White Screen Of Death", and a stack trace that starts with:

"Drupal\Component\Utility\Html::escape(): Argument #1 () must be of type string, null given, called in /var/www/html/web/core/lib/Drupal/Component/Render/FormattableMarkup.php on line 238"

And then leads the perplexed site maintainer or developer on a journey through TranslatableMarkup and Twig\Template->display() and twig_template_render and Drupal\Core\Render\Renderer->doRender among other less notable stops, with the template and rendering stuff all showing up twice. But not once does the stacktrace give a hint of what code actually started the problem.

Using a debugger one can go a few steps down (up?) the stack to Drupal\Core\StringTranslation\TranslatableMarkup and find the variables passed into it. These made clear that the underlying problem is that a custom profile has no version string. (OK, and looking at this, separate issue from this one, probably status_report_grouped should be taking care not to require information that is not required?)

(OK i must have been wrong about their being no error, i see escape() used to have this code: @trigger_error('Passing NULL to ' . __METHOD__ . ' is deprecated in drupal:9.5.0 and will trigger a PHP error from drupal:11.0.0. Pass a string instead. See https://www.drupal.org/node/3318826', E_USER_DEPRECATED);. But that does not change the fact that Drupal has increased the ways a fatal error can take down a site in ways that can have many sources and be hard to track down.)

Strict typing is great for coding. But there are too many ways a non-string can end up handed to HTML::escape() to take down a site over it.

carma03’s picture

I was facing the same issue as per #63 comment.
I solved this just adding the line version: VERSION into my custom_profile.info.yml file.

Thanks pacproduct!

ressa’s picture

Issue summary: View changes
rovo’s picture

The issue was related to Devel Generate terms for me also. It generated an Article and populated the Tags field with a term that doesn't exist. I cleared the Tags field, saved the node, and the site loaded fine.

onion’s picture

@enchufe's patch in #62 fixed our issue here as well. Beautiful and thank you!

vishal-ydv’s picture

On Drupal 11.1.6 and PHP 8.3.2, I encountered this error on the /admin/reports/dblog page. The patch in #62 fixed it for me.

jrbeeman’s picture

Re-rolled patch from #62 against latest 11.x (Drupal core 11.2.2 as of today) as I was receiving errors from Composer patches due to drift in the line numbers being patched.

dillix’s picture

#76 Fixed my issues in custom entity edit form.

luco’s picture

#76 fixed D11 after creating sample content with Devel Generate.

thank you so much!

joelstein’s picture

In case this helps anyone else, I ran into this issue with custom entity types with base field definitions like this:

$fields['guest_email'] = BaseFieldDefinition::create('email');

We need to set the field label starting with Drupal 11. Without it, Drupal will die when accessing it as part of a translated string parameter.

$fields['guest_email'] = BaseFieldDefinition::create('email')->setLabel(t('Email'));
donquixote’s picture

The main scenario is that FormattableMarkup::__construct() allows ['@placeholder' => NULL] values in $arguments, but FormattableMarkup::__toString() blows up if $this->arguments contains such values.

$v = t('Hello @null', ['@null' => NULL]);  // No error.
$v->__toString();  // Error.

This is a regression. because in older Drupal versions this silently worked (first I think with a notice, later with a deprecation warning).

The problem is that the error is separated from its cause, because the translatable string can travel far before it causes the error.

The cause can be an entity label being NULL. E.g. in MediaForm::form() we have this:

      $form['#title'] = $this->t('Edit %type_label @label', [
        '%type_label' => $media_type->label(),
        '@label' => $this->entity->label(),
      ]);

Where $entity->label() is technically allowed to return NULL, and it is possible to programmatically create a media entity without a title.

---------------

There are two directions where we can take this:

  1. Soften Html::escape() and/or FormattableMarkup::placeholderFormat() to handle NULL values.
    Both FormattableMarkup::placeholderFormat() and Html::escape() are static methods, so we cannot cleanly inject a logger.
    But we could just `@trigger_error(.., E_USER_NOTICE)`. Or we restore the deprecation.
  2. Harden FormattableMarkup::__construct(), to reject NULL values.

In the past we did deprecate NULL for FormattableMarkup::placeholderFormat() and Html::escape(), but we failed to deprecate it for FormattableMarkup::__construct(), so our old deprecation was worthless.

hamza_niazi’s picture

I m using drpal 11.2.5
Try again later.TypeError: Drupal\\Component\\Utility\\Html::escape(): Argument #1 ($text) must be of type ?string, array given, called in /var/www/html/web/core/modules/views/src/Plugin/views/HandlerBase.php on line 226 in Drupal\\Component\\Utility\\Html::escape() (line 433 of core/lib/Drupal/Component/Utility/Html.php).

rajab natshah’s picture

Version: 11.x-dev » main

rajab natshah changed the visibility of the branch 3352384-typeerror-htmlspecialchars-argument to hidden.

rajab natshah changed the visibility of the branch 11.x to hidden.

rajab natshah changed the visibility of the branch main to hidden.

rajab natshah’s picture

Status: Needs work » Needs review
smustgrave’s picture

Status: Needs review » Needs work

Still appears to need test coverage.

Also summery could use an updating

Title too doesn’t match the latest MR.

CR may still be needed not 100%

rajab natshah’s picture

Title: Add Exception for TypeError Argument must be String in \Drupal\Component\Utility\Html escape{} » Add Exception for TypeError Argument must be String in Drupal Component Utility Html escape{}

Noted;
Thanks, Stephen for following up.
Following with your last comment.