Page MenuHomePhabricator

LogicException: Title not found!
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
labels.normalized_message
[{reqId}] {exception_url}   LogicException: Title not found!
FrameLocationCall
from/srv/mediawiki/php-1.44.0-wmf.28/includes/Rest/Handler/ParsoidHandler.php(516)
#0/srv/mediawiki/php-1.44.0-wmf.28/includes/Rest/Handler/TransformHandler.php(182)MediaWiki\Rest\Handler\ParsoidHandler->tryToCreatePageConfig(array, null)
#1/srv/mediawiki/php-1.44.0-wmf.28/includes/Rest/Module/Module.php(416)MediaWiki\Rest\Handler\TransformHandler->execute()
#2/srv/mediawiki/php-1.44.0-wmf.28/includes/Rest/Module/Module.php(299)MediaWiki\Rest\Module\Module->executeHandler(MediaWiki\Rest\Handler\TransformHandler)
#3/srv/mediawiki/php-1.44.0-wmf.28/includes/Rest/Router.php(485)MediaWiki\Rest\Module\Module->execute(string, MediaWiki\Rest\RequestFromGlobals)
#4/srv/mediawiki/php-1.44.0-wmf.28/includes/Rest/Router.php(444)MediaWiki\Rest\Router->doExecute(string, MediaWiki\Rest\RequestFromGlobals)
#5/srv/mediawiki/php-1.44.0-wmf.28/includes/Rest/EntryPoint.php(209)MediaWiki\Rest\Router->execute(MediaWiki\Rest\RequestFromGlobals)
#6/srv/mediawiki/php-1.44.0-wmf.28/includes/MediaWikiEntryPoint.php(202)MediaWiki\Rest\EntryPoint->execute()
#7/srv/mediawiki/php-1.44.0-wmf.28/rest.php(39)MediaWiki\MediaWikiEntryPoint->run()
#8/srv/mediawiki/w/rest.php(3)require(string)
#9{main}
Notes

First instance of error seen back on Apr 27, 2025 @ 12:45:01 for php-1.44.0-wmf.25. The volume started increasing significantly on May 13 at around 4am UTC.

Tentatively guessing parsoid for tagging, but I'm really not sure who should be pinged here.

Details

Request URL
https://pcm.wikipedia.org/w/rest.php/v1/transform/wikitext/to/html/editPreview'%7C%7CDBMS_PIPE.RECEIVE_MESSAGE(CHR(98)%7C%7CCHR(98)%7C%7CCHR(98)%2C15)%7C%7C'
Related Changes in Gerrit:

Event Timeline

Change #1145853 had a related patch set uploaded (by Máté Szabó; author: Máté Szabó):

[mediawiki/core@master] TransformHandler: Return 400 for invalid titles

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

Change #1145853 merged by jenkins-bot:

[mediawiki/core@master] TransformHandler: Return 400 for invalid titles

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

Change #1145867 had a related patch set uploaded (by Máté Szabó; author: Máté Szabó):

[mediawiki/core@wmf/1.45.0-wmf.1] TransformHandler: Return 400 for invalid titles

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

Change #1145913 had a related patch set uploaded (by Jforrester; author: Máté Szabó):

[mediawiki/core@wmf/1.44.0-wmf.28] TransformHandler: Return 400 for invalid titles

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

Change #1145913 abandoned by Jforrester:

[mediawiki/core@wmf/1.44.0-wmf.28] TransformHandler: Return 400 for invalid titles

Reason:

wmf.1 is everywhere.

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

In an attempt to verify and close this task, I ran into this. This is not from @mszabo's change but this response should not have been HTTP 403.

$ curl "https://en.wikipedia.org/w/rest.php/v1/page/||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98)%2C15)||/html"
{"errorKey":"rest-permission-denied-title","messageTranslations":{"en":"The user does not have rights to read title (||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||)"},"httpCode":403,"httpReason":"Forbidden"}% 

While this patch isn't yet deployed everywhere on wmf.1 (I see that the backport to wmf.1 is scheduled for a late backport window today), I can confirm the old failure on enwiki where this change isn't yet live.

$ curl -X POST -H "Content-Type: application/json" --data '{ "wikitext": "== Hello Jupiter ==" }' 'https://en.wikipedia.org/w/rest.php/v1/transform/wikitext/to/html/||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98)%2C15)||' 
{"message":"Error: exception of type LogicException","httpCode":500,"httpReason":"Internal Server Error"}%  

But, on mediawiki.org, where this change is live, I see this:

$ curl -X POST -H "Content-Type: application/json" --data '{ "wikitext": "== Hello Jupiter ==" }' 'https://www.mediawiki.org/w/rest.php/v1/transform/wikitext/to/html/||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98)%2C15)||'
{"errorKey":"rest-invalid-title","messageTranslations":{"en":"The specified title (pageName) does not refer to a wiki page."},"httpCode":400,"httpReason":"Bad Request"}%   

So, once the backport is live, this task can be closed as resolved.

Change #1145867 merged by jenkins-bot:

[mediawiki/core@wmf/1.45.0-wmf.1] TransformHandler: Return 400 for invalid titles

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

Mentioned in SAL (#wikimedia-operations) [2025-05-20T20:55:02Z] <jforrester@deploy1003> Started scap sync-world: Backport for [[gerrit:1145867|TransformHandler: Return 400 for invalid titles (T394270)]], [[gerrit:1146631|Merge remote-tracking branch 'origin/master' into wmf_deploy (T341775 T373017 T393122 T394404)]], [[gerrit:1146654|Xml::input, label: Replace usage with Html::input, label (T394025)]]

Confirmed also with the code on k8s-mwdebug:

$ curl -H 'X-Wikimedia-Debug: backend=k8s-mwdebug' -X POST -H "Content-Type: application/json" --data '{ "wikitext": "== Hello Jupiter ==" }' 'https://en.wikipedia.org/w/rest.php/v1/transform/wikitext/to/html/||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98)%2C15)||'

{"errorKey":"rest-invalid-title","messageTranslations":{"en":"The specified title (pageName) does not refer to a wiki page."},"httpCode":400,"httpReason":"Bad Request"}%

Mentioned in SAL (#wikimedia-operations) [2025-05-20T20:57:41Z] <jforrester@deploy1003> mszabo, jforrester: Backport for [[gerrit:1145867|TransformHandler: Return 400 for invalid titles (T394270)]], [[gerrit:1146631|Merge remote-tracking branch 'origin/master' into wmf_deploy (T341775 T373017 T393122 T394404)]], [[gerrit:1146654|Xml::input, label: Replace usage with Html::input, label (T394025)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes c

Mentioned in SAL (#wikimedia-operations) [2025-05-20T21:06:31Z] <jforrester@deploy1003> Finished scap sync-world: Backport for [[gerrit:1145867|TransformHandler: Return 400 for invalid titles (T394270)]], [[gerrit:1146631|Merge remote-tracking branch 'origin/master' into wmf_deploy (T341775 T373017 T393122 T394404)]], [[gerrit:1146654|Xml::input, label: Replace usage with Html::input, label (T394025)]] (duration: 11m 28s)