Page MenuHomePhabricator

MediaWiki\Rest\HttpException: No stashed content found for 0/"5445401
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   MediaWiki\Rest\HttpException: No stashed content found for 0/"5445401
exception.trace
from /srv/mediawiki/php-1.40.0-wmf.14/includes/Rest/Handler/HtmlInputTransformHelper.php(432)
#0 /srv/mediawiki/php-1.40.0-wmf.14/extensions/VisualEditor/includes/DirectParsoidClient.php(131): MediaWiki\Rest\Handler\HtmlInputTransformHelper->setOriginal(integer, MediaWiki\Parser\Parsoid\ParsoidRenderID)
#1 /srv/mediawiki/php-1.40.0-wmf.14/extensions/VisualEditor/includes/DirectParsoidClient.php(231): MediaWiki\Extension\VisualEditor\DirectParsoidClient->getHtmlInputTransformHelper(Title, string, integer, string, LanguageEn)
#2 /srv/mediawiki/php-1.40.0-wmf.14/extensions/VisualEditor/includes/DualParsoidClient.php(150): MediaWiki\Extension\VisualEditor\DirectParsoidClient->transformHTML(Title, LanguageEn, string, integer, string)
#3 /srv/mediawiki/php-1.40.0-wmf.14/extensions/VisualEditor/includes/ApiParsoidTrait.php(132): MediaWiki\Extension\VisualEditor\DualParsoidClient->transformHTML(Title, LanguageEn, string, integer, string)
#4 /srv/mediawiki/php-1.40.0-wmf.14/extensions/VisualEditor/includes/ApiVisualEditorEdit.php(275): MediaWiki\Extension\VisualEditor\ApiVisualEditorEdit->transformHTML(Title, string, integer, string)
#5 /srv/mediawiki/php-1.40.0-wmf.14/extensions/VisualEditor/includes/ApiVisualEditorEdit.php(249): MediaWiki\Extension\VisualEditor\ApiVisualEditorEdit->getWikitextNoCache(Title, array, array)
#6 /srv/mediawiki/php-1.40.0-wmf.14/extensions/VisualEditor/includes/ApiVisualEditorEdit.php(439): MediaWiki\Extension\VisualEditor\ApiVisualEditorEdit->getWikitext(Title, array, array)
#7 /srv/mediawiki/php-1.40.0-wmf.14/includes/api/ApiMain.php(1903): MediaWiki\Extension\VisualEditor\ApiVisualEditorEdit->execute()
#8 /srv/mediawiki/php-1.40.0-wmf.14/includes/api/ApiMain.php(878): ApiMain->executeAction()
#9 /srv/mediawiki/php-1.40.0-wmf.14/includes/api/ApiMain.php(849): ApiMain->executeActionWithErrorHandling()
#10 /srv/mediawiki/php-1.40.0-wmf.14/api.php(90): ApiMain->execute()
#11 /srv/mediawiki/php-1.40.0-wmf.14/api.php(45): wfApiMain()
#12 /srv/mediawiki/w/api.php(3): require(string)
#13 {main}
Impact
Notes

A dozen or more occurrences all having the same referrer https://www.mediawiki.org/wiki/Wikimedia_Product/Program_Management?action=edit

That might be a state issue on the client side?

Details

Request URL
https://www.mediawiki.org/w/api.php

Event Timeline

0/"5445401 doesn't look like anything to me. The expected format looks like W/"1123185682/ba60e830-7a0d-11ed-98dc-2badf7ca24e9". This may be some client-side corruption (or I'm misunderstanding where this value comes from).

I think the only problem is that this ends up as an exception, rather than a user-facing error message. Not a real problem unless it's flooding the logs.

Change 868446 had a related patch set uploaded (by Daniel Kinzler; author: Daniel Kinzler):

[mediawiki/extensions/VisualEditor@master] Catch HttpException early

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

Change 868446 merged by jenkins-bot:

[mediawiki/extensions/VisualEditor@master] Catch HttpException early

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

The explanation by Daniel is the stash times out when someone left the editor open for 24 hours. That then bubbles up an exception cause the stash has expired. End user is then prevented from further editing since VisualEditor shows a Something went wrong with the exception shown.

daniel subscribed.

Side note: We could still save the edit even after the stash has expired. But since we are lacking context for the conversion of HTML to Wikitext, this may produce a dirty diff (in the word case, re-formatting all wikitext). At the moment, we choose to simply fail the edit to prevent dirty diffs. This is easy to change from the technical side, we just need to decide what the desired behavior is.

daniel triaged this task as High priority.Dec 19 2022, 2:49 PM
daniel moved this task from Unsorted to Doing on the RESTBase Sunsetting board.