Fix the unnamed cron task that intermittently crashed pages, and add a CI debug workflow - #43
Merged
Merged
Conversation
Mirrors the test framework's SQLite/MSSQL job, turns on PHP error logging in php-fpm, runs the functional tests several times, and uploads the PHP, php-fpm and nginx logs. Runs only by hand or when this file changes in a pull request, so normal CI is unaffected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The cron service never called set_name, so the task's name was empty.
phpBB shuffles its cron tasks on each page and triggers the first ready
one from the page footer; whenever it picked this one, building its
cron URL threw InvalidParameterException ("cron_type" ... "" given) and
the whole page died with an empty HTTP 500. That is the intermittent
functional test failure, and it can happen on live boards too.
Also raise the debug workflow to 10 runs per pull request.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes the intermittent functional test failures, and a crash that can hit live boards.
set_name, so its name was empty. On every page phpBB shuffles its cron tasks and triggers the first ready one from the page footer. Whenever it picked this one, building the cron URL threwInvalidParameterException: Parameter "cron_type" for route "phpbb_cron_run" must match "[^/]++" ("" given)and the page died with an empty HTTP 500. The shuffle is why it was intermittent, and why the failures moved between databases and test steps.
config/services.ymlnow callsset_namewithcron.task.phpbbmodders.banhammer.restriction_expiry, the same way every phpBB core cron task is registered..github/workflows/functional-debug.yml, which found the cause:Test plan
services.ymlthe task has an empty name, building its cron URL throws the same exception, and phpBB can't find the task by name. With the fix, the task is named, its URL builds, and phpBB finds it.Investigated and written by Claude on behalf of William Jacoby (bonelifer).