Page MenuHomePhabricator

☂ PHP 8.3 issues found during WMF rollout
Closed, ResolvedPublic

Description

  • Monitor and fix deprecation warnings as found in Logstash. Create a tracking task and routinely monitor Logstash for production errors that are PHP deprecations, create tasks for them, tag with #php_8.3_support, and attach them as child tasks under this tracking task.
  • Review existing tasks on the #php_8.3_support Phabricator board and make progress on those (either directly or by escalating to someone in/outside the team).

Tools:

On duty:

Related Objects

StatusSubtypeAssignedTask
OpenNone
OpenNone
ResolvedReedy
OpenNone
OpenNone
OpenNone
OpenNone
DeclinedNone
ResolvedReedy
ResolvedKrinkle
ResolvedKrinkle
Resolvedcscott
ResolvedScott_French
DuplicatePRODUCTION ERRORNone
ResolvedPRODUCTION ERRORMichael
ResolvedPRODUCTION ERRORMichael
ResolvedMichael
DuplicatePRODUCTION ERRORNone

Event Timeline

Krinkle updated the task description. (Show Details)

Handing the baton to @ArielGlenn.

matmarex and I swapped duty weeks so he has it now and I'll get it next week.

I reviewed the dashboard filters to phpversion: 8.3.26, looked at top errors, and then checked whether they also occurred on PHP 8.1. Many errors related to Parsoid seem to occur only on PHP 8.3, but I think that's because all of Parsoid traffic is served by PHP 8.3 servers now (per T405955#11346217). After excluding them (-parsoid in the search field), I haven't noticed anything that would be unique to PHP 8.3.

Be aware of the Parsoid anomaly next week :) (and any other anomalies that could be caused by switching specific things to PHP 8.3 – T405955 has a list of "milestones", Wikifunctions is another notable one).

I wonder if for future upgrades we should reserve one machine running the 'old version', rather than upgrade all of the parsoid traffic at once, just to make it easier to distinguish 8.3-related issues from general issues.

@cscott - That's a good point, yeah. Unlike the 8.1 migration, where we spread the mw-parsoid service migration over a couple of steps, we decided to switch more quickly this time.

This was mainly due to (1) the very small amount of traffic it now receives (i.e., low confidence that a fractional pilot would provide useful signal) and (2) the fact that it was unexpected (for me at least) that we would encounter a Parsoid 8.3 compatibility issue only in code exercised in mw-parsoid.

What's curious is that we appear to have got rather unlucky w.r.t. #2, in that T409345 is seemingly only(?) tickled on the Parsoid REST API path (so only seen on mw-parsoid - edit: thus having no 8.1-served traffic at that point to provide counter-examples) and 1.46.0-wmf.1 landed for enwiki (seemingly the only wiki affected based on the logs), shortly after the change, which together presented a spurious correlation with 8.3.

For future reference, do you anticipate that the Parsoid REST API will still need to exist in ~ 1 year when the next migration happens?

(2) the fact that it was unexpected (for me at least) that we would encounter a Parsoid 8.3 compatibility issue only in code exercised in mw-parsoid.

T409345 isn't a compatibility issue though

@ABreault-WMF - Indeed, what I mean is that a set of circumstances arose that presented a spurious correlation with the switch to 8.3, so that the influx of assertion failures in T409345 could easily be mistaken with a compatibility issue initially.

Sorry, I misunderstood.

The wikitext/to/lint endpoint that's raising T409345 looks like it'll be migrating fairly soon in T384216 or T385066

BPirkle updated the task description. (Show Details)
BPirkle subscribed.
aaron triaged this task as High priority.Nov 25 2025, 2:19 AM
aaron moved this task from Incoming (Needs Triage) to Bugs & Chores on the MW-Interfaces-Team board.
aaron updated the task description. (Show Details)

Sorry, I misunderstood.

The wikitext/to/lint endpoint that's raising T409345 looks like it'll be migrating fairly soon in T384216 or T385066

The wikitext/to/lint migration is done already. The page/lint migration also finished today.

HCoplin-WMF added a subscriber: aaron.

Reassigning to CScott (randomly selected from listed CTT subscribers; feel free to reassign @MSantos or @SLopes-WMF ), given the schedule.

All stated weeks have passed and the rollout task is closed. Should this task be closed?

Krinkle updated the task description. (Show Details)