Page MenuHomePhabricator

UnexpectedValueException: Invalid version string ""
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   UnexpectedValueException: Invalid version string ""
exception.trace
from /srv/mediawiki/php-1.40.0-wmf.14/vendor/composer/semver/src/VersionParser.php(186)
#0 /srv/mediawiki/php-1.40.0-wmf.14/vendor/composer/semver/src/Semver.php(39): Composer\Semver\VersionParser->normalize(string)
#1 /srv/mediawiki/php-1.40.0-wmf.14/vendor/wikimedia/parsoid/src/Core/PageBundle.php(110): Composer\Semver\Semver::satisfies(NULL, string)
#2 /srv/mediawiki/php-1.40.0-wmf.14/includes/Rest/Handler/ParsoidHandler.php(875): Wikimedia\Parsoid\Core\PageBundle->responseData()
#3 /srv/mediawiki/php-1.40.0-wmf.14/vendor/wikimedia/parsoid/extension/src/Rest/Handler/PageHandler.php(92): MediaWiki\Rest\Handler\ParsoidHandler->wt2html(MediaWiki\Parser\Parsoid\Config\PageConfig, array)
#4 /srv/mediawiki/php-1.40.0-wmf.14/includes/Rest/Router.php(487): MWParsoid\Rest\Handler\PageHandler->execute()
#5 /srv/mediawiki/php-1.40.0-wmf.14/includes/Rest/Router.php(406): MediaWiki\Rest\Router->executeHandler(MWParsoid\Rest\Handler\PageHandler)
#6 /srv/mediawiki/php-1.40.0-wmf.14/includes/Rest/EntryPoint.php(191): MediaWiki\Rest\Router->execute(MediaWiki\Rest\RequestFromGlobals)
#7 /srv/mediawiki/php-1.40.0-wmf.14/includes/Rest/EntryPoint.php(131): MediaWiki\Rest\EntryPoint->execute()
#8 /srv/mediawiki/php-1.40.0-wmf.14/rest.php(31): MediaWiki\Rest\EntryPoint::main()
#9 /srv/mediawiki/w/rest.php(3): require(string)
#10 {main}
Impact

I have no idea!

Notes

I somehow missed the error yesterday. It started happening with 1.40.0-wmf.14 deployment:

mediawiki_errors.png (668×207 px, 12 KB)

Wikimedia\Parsoid\Core\PageBundle->responseData() somehow invokes Composer semantic versioning system and bails out due to an empty version being given.

That is limited to rest queries asking for pagebundle and only occurs on parseXXXX hosts.

Event Timeline

hashar triaged this task as Unbreak Now! priority.

This happens when RESTbase asks parsoid for pagebundle output of a page that isn't wikitext. Which is nonsensical and should result in a 400 or 404 or 406 or whatever. But if we did that, we'd have to fix RESTbase to not try and get parsoid renderings of stuff that parsoid can't render...

This seems conceptually related to T324711. Maybe it was caused by our fix for that, https://gerrit.wikimedia.org/r/c/mediawiki/core/+/866250. Or it needs a similar fix.

The requests in question wouldn't have produced sensible output, so the failure shouldn't have user impact.

Should have a fix ready in about 30 minutes

Change 868066 had a related patch set uploaded (by D3r1ck01; author: Derick Alangi):

[mediawiki/core@master] Parsoid: Default parsoid version to "0.0.0" for unsupported models

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

Change 868066 merged by jenkins-bot:

[mediawiki/core@master] Parsoid: Default parsoid version to "0.0.0" for unsupported models

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

Change 868048 had a related patch set uploaded (by Ladsgroup; author: Derick Alangi):

[mediawiki/core@wmf/1.40.0-wmf.14] Parsoid: Default parsoid version to "0.0.0" for unsupported models

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

Change 868048 merged by jenkins-bot:

[mediawiki/core@wmf/1.40.0-wmf.14] Parsoid: Default parsoid version to "0.0.0" for unsupported models

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

Mentioned in SAL (#wikimedia-operations) [2022-12-14T14:11:52Z] <ladsgroup@deploy1002> Started scap: Backport for [[gerrit:868048|Parsoid: Default parsoid version to "0.0.0" for unsupported models (T325137)]]

Mentioned in SAL (#wikimedia-operations) [2022-12-14T14:13:44Z] <ladsgroup@deploy1002> ladsgroup and ladsgroup: Backport for [[gerrit:868048|Parsoid: Default parsoid version to "0.0.0" for unsupported models (T325137)]] synced to the testservers: mwdebug2001.codfw.wmnet, mwdebug1002.eqiad.wmnet, mwdebug2002.codfw.wmnet, mwdebug1001.eqiad.wmnet

Mentioned in SAL (#wikimedia-operations) [2022-12-14T14:20:04Z] <ladsgroup@deploy1002> Finished scap: Backport for [[gerrit:868048|Parsoid: Default parsoid version to "0.0.0" for unsupported models (T325137)]] (duration: 08m 12s)

hashar assigned this task to xSavitar.
hashar added a subscriber: xSavitar.

Thank you @xSavitar @daniel and @Ladsgroup . The errors are gone after the fixes have been deployed.

Change #1083361 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[mediawiki/services/parsoid@master] PageBundle: use a default content version if none is supplied

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

Change #1083361 merged by jenkins-bot:

[mediawiki/services/parsoid@master] PageBundle: use a default content version if none is supplied

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

Change #1089827 had a related patch set uploaded (by Arlolra; author: Arlolra):

[mediawiki/vendor@master] Bump wikimedia/parsoid to 0.21.0-a4

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

Change #1089827 merged by jenkins-bot:

[mediawiki/vendor@master] Bump wikimedia/parsoid to 0.21.0-a4

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