Page MenuHomePhabricator

Error: Typed property MediaWiki\Rest\RequestBase::$parsedBody must not be accessed before initialization
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
labels.normalized_message
[{reqId}] {exception_url}   Error: Typed property MediaWiki\Rest\RequestBase::$parsedBody must not be accessed before initialization
error.stack_trace
from /srv/mediawiki/php-1.42.0-wmf.25/includes/Rest/RequestBase.php(115)
#0 /srv/mediawiki/php-1.42.0-wmf.25/includes/Rest/Handler.php(251): MediaWiki\Rest\RequestBase->getParsedBody()
#1 /srv/mediawiki/php-1.42.0-wmf.25/includes/Rest/Handler.php(234): MediaWiki\Rest\Handler->detectExtraneousBodyFields(MediaWiki\Rest\Validator\Validator)
#2 /srv/mediawiki/php-1.42.0-wmf.25/includes/Rest/Router.php(556): MediaWiki\Rest\Handler->validate(MediaWiki\Rest\Validator\Validator)
#3 /srv/mediawiki/php-1.42.0-wmf.25/includes/Rest/Router.php(455): MediaWiki\Rest\Router->executeHandler(MWParsoid\Rest\Handler\PageHandler)
#4 /srv/mediawiki/php-1.42.0-wmf.25/includes/Rest/EntryPoint.php(216): MediaWiki\Rest\Router->execute(MediaWiki\Rest\RequestFromGlobals)
#5 /srv/mediawiki/php-1.42.0-wmf.25/includes/MediaWikiEntryPoint.php(199): MediaWiki\Rest\EntryPoint->execute()
#6 /srv/mediawiki/php-1.42.0-wmf.25/rest.php(38): MediaWiki\MediaWikiEntryPoint->run()
#7 /srv/mediawiki/w/rest.php(3): require(string)
#8 {main}
Impact

Error is already pretty noisy in group0 wikis, it will presumably create a big spike if moved to group1. Triaging this as a blocker.

Notes

Seen already in testwiki and mediawiki. Following change modified the affected code recently: https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1010511. Task T358850

Details

Request URL
https://test.wikipedia.org/w/rest.php/test.wikipedia.org/v3/page/pagebundle/Template%3ATemplatesnotice

Event Timeline

jnuche triaged this task as Unbreak Now! priority.Tue, Apr 2, 11:19 AM
jnuche created this task.

Change #1016347 had a related patch set uploaded (by Ammarpad; author: Ammarpad):

[mediawiki/core@master] rest: add default null to nullable typed prop

https://gerrit.wikimedia.org/r/1016347

Looks like new breakage from https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1012690 that exposed the unitialized field ... and seems like Ammarpad's fix should do it. Added @BPirkle and @daniel as reviewers.

Change #1016347 merged by jenkins-bot:

[mediawiki/core@master] rest: add default null to nullable typed prop

https://gerrit.wikimedia.org/r/1016347

Change #1016043 had a related patch set uploaded (by Samtar; author: Ammarpad):

[mediawiki/core@wmf/1.42.0-wmf.25] rest: add default null to nullable typed prop

https://gerrit.wikimedia.org/r/1016043

Change #1016043 merged by jenkins-bot:

[mediawiki/core@wmf/1.42.0-wmf.25] rest: add default null to nullable typed prop

https://gerrit.wikimedia.org/r/1016043

Mentioned in SAL (#wikimedia-operations) [2024-04-02T15:47:38Z] <jnuche@deploy1002> Started scap: Backport for [[gerrit:1016043|rest: add default null to nullable typed prop (T361577)]]

Mentioned in SAL (#wikimedia-operations) [2024-04-02T15:50:04Z] <jnuche@deploy1002> samtar and jnuche: Backport for [[gerrit:1016043|rest: add default null to nullable typed prop (T361577)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Looks like new breakage from https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1012690 that exposed the unitialized field ... and seems like Ammarpad's fix should do it. Added @BPirkle and @daniel as reviewers.

Huh, I wonder why this issue didn't show up in CI.

Mentioned in SAL (#wikimedia-operations) [2024-04-02T16:02:18Z] <jnuche@deploy1002> Finished scap: Backport for [[gerrit:1016043|rest: add default null to nullable typed prop (T361577)]] (duration: 14m 39s)

TheresNoTime lowered the priority of this task from Unbreak Now! to Needs Triage.EditedTue, Apr 2, 4:07 PM

Appears resolved (no new errors since 15:56 UTC), removing the blocking parent task :-)

@TheresNoTime I was just about to reduce the priority, thx :)

Looks like new breakage from https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1012690 that exposed the unitialized field ... and seems like Ammarpad's fix should do it. Added @BPirkle and @daniel as reviewers.

Huh, I wonder why this issue didn't show up in CI.

See also T360558: REST API tests in OAuth failing, which did (and still does) break CI.