Problem/Motivation

Drupal\config\Tests\ConfigFormOverrideTest and Drupal\system\Tests\DrupalKernel\ContainerRebuildWebTest have 5 random failures.

See https://qa.drupal.org/pifr/test/1119568.

#2516918: Prevent mobile browsers from zooming on all form inputs is a CSS-only patch, yet still has these failures. Also seen at #2476407-71: Use CacheableResponseInterface to determine which responses should be cached, and several other places.

Proposed resolution

Remaining tasks

Find the root cause.

User interface changes

None.

API changes

None.

Data model changes

None.

Comments

Wim Leers created an issue. See original summary.

Wim Leers’s picture

Wim Leers’s picture

Wim Leers’s picture

Wim Leers’s picture

TBH, I don't yet see how #2501931: Remove SafeMarkup::set in twig_render_template() and ThemeManager and FieldPluginBase:advancedRender could cause this. The failures in both tests seem related to some container/settings/config override, in any case, "boot stuff". #2501931 didn't touch that at all.

Wim Leers’s picture

Curiously, it seems that only Classic TestBot is failing, not DrupalCI!

alexpott’s picture

alexpott’s picture

olli’s picture

justAChris’s picture

davidhernandez’s picture

Just saw ConfigFormOverrideTest fails on this one #2363423: views-view-fields.html.twig gets escaped.

Wim Leers’s picture

davidhernandez’s picture

I'm not sure how you could bisect this to a commit unless you can reliably trigger the test fails. Is anyone actually able to do that?

The asserts that are failing are right after a call to writeSettings(). Some random environment problem causing a write problem? Those aren't the only tests calling writeSettings() or doing any writing, so that doesn't make sense. \Drupal\config\Tests\ConfigEntityFormOverrideTest is doing some similar things and it isn't failing.

borisson_’s picture

The bisect I did, that @Wim Leers mentioned in #4 is not related to these random failures.
There was a misunderstanding.

Wim Leers’s picture

I've been working with Alex Pott, Mixologic and amateescu to find the root cause of this problem.

Mixologic and I quickly came to suspect PIFR, because of #6. Over the weekend, Mixologic already implemented #2551309: Increase opcache.max_accelerated_files (but had not yet updated that issue). Since MWDS happened, PIFR had built up quite the queue of tests (DrupalCI doesn't suffer from this problem since it has autoscaling). On top of that, there are >=1 patches that caused testbot to enter an endless loop (hence reducing the effective number of testbots). So, to help reduce the queue, Mixologic spawned a whole bunch of additional (PIFR) testbots.

Those new testbots all have the changes from #2551309: Increase opcache.max_accelerated_files. We don't know yet with 100% certainty why those are causing test failures, but we strongly suspect that the failing tests are doing writes in quick succession, which causes the written files' mtime to be the same, which causes PHP 5.5's OpCache to continue to use the old (but modified-in-the-same-second) cached files to be used.

And it's because of that mix of majority-newly-spun-up, minority-already-running PIFR testbots that most (but not all!) PIFR testbots are showing these failures.

Over at #2126447-72: Patch testing, @amateescu did an experiment: he posted patches that reverted all 3 commits of today. That could've indicated that HEAD was broken, but it showed the opposite: that it must have been testbot.

Mixologic is now fixing these newly spun up testbot instances.

Wim Leers’s picture

Title: Random test failures in ConfigFormOverrideTest and ContainerRebuildWebTest » Test failures in ConfigFormOverrideTest and ContainerRebuildWebTest on newly spun up testbot instances
Related issues: +#2552831: Eslint errors in quickedit/js/editors/formEditor.js

More.

Wim Leers’s picture

Status: Active » Fixed

Mixologic has updated the existing classic (PIFR) testbots, and now they're no longer causing these failures. Hurray! :)

Status: Fixed » Closed (fixed)

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