Page MenuHomePhabricator

RevisionFormatter.php: Unknown content format
Closed, ResolvedPublicPRODUCTION ERROR



Request URL:

[{exception_id}] {exception_url}   Flow\Exception\FlowException from line 179 of /srv/mediawiki/php-1.34.0-wmf.14/extensions/Flow/includes/Formatter/RevisionFormatter.php: Unknown content format: GvgRTzVl
#0 /srv/mediawiki/php-1.34.0-wmf.14/extensions/Flow/includes/Block/Topic.php(731): Flow\Formatter\RevisionFormatter->setContentFormat(string)
#1 /srv/mediawiki/php-1.34.0-wmf.14/extensions/Flow/includes/Block/Topic.php(668): Flow\Block\TopicBlock->getRevisionFormatter(string)
#2 /srv/mediawiki/php-1.34.0-wmf.14/extensions/Flow/includes/Block/Topic.php(562): Flow\Block\TopicBlock->renderPostApi(array)
#3 /srv/mediawiki/php-1.34.0-wmf.14/extensions/Flow/includes/View.php(235): Flow\Block\TopicBlock->renderApi(array)
#4 /srv/mediawiki/php-1.34.0-wmf.14/extensions/Flow/includes/View.php(71): Flow\View->buildApiResponse(Flow\WorkflowLoader, array, string, array)
#5 /srv/mediawiki/php-1.34.0-wmf.14/extensions/Flow/includes/Actions/Action.php(112): Flow\View->show(Flow\WorkflowLoader, string)
#6 /srv/mediawiki/php-1.34.0-wmf.14/extensions/Flow/includes/Actions/Action.php(50): Flow\Actions\FlowAction->showForAction(string)
#7 /srv/mediawiki/php-1.34.0-wmf.14/includes/MediaWiki.php(499): Flow\Actions\FlowAction->show()
#8 /srv/mediawiki/php-1.34.0-wmf.14/includes/MediaWiki.php(294): MediaWiki->performAction(Article, Title)
#9 /srv/mediawiki/php-1.34.0-wmf.14/includes/MediaWiki.php(884): MediaWiki->performRequest()
#10 /srv/mediawiki/php-1.34.0-wmf.14/includes/MediaWiki.php(515): MediaWiki->main()
#11 /srv/mediawiki/php-1.34.0-wmf.14/index.php(42): MediaWiki->run()
#12 /srv/mediawiki/w/index.php(3): include(string)
#13 {main}




I'm afraid I need to treat this as a train blocker unless someone who knows better tells me otherwise.

Event Timeline

LarsWirzenius triaged this task as Unbreak Now! priority.Jul 18 2019, 12:19 PM
SBisson added a subscriber: SBisson.

The request URL above is invalid. I'll investigate whether this is wrongly generated by the UI or if someone or something is sending garbage. In any case, this should be rejected at the API layer and not go this deep into the Flow stack.

Correction: This is not an API call but the GET request to start editing a topic title in the non-javascript experience.

There are two ways to get there from the UI and I have validated that they work fine for this very topic title and a few others. Actual users are probably not affected. It looks like the URL was wrongly crafted by someone or something. I found 4 similar cases in logstash on different topics with different gibberish content format values.

The error handling on this endpoint is insufficient. It should gracefully reject invalid content formats earlier and without logging errors. This is unlikely to have been introduced recently.

I recommend we downgrade its priority to High since the application is not broken for users and remove it as a train blocker since moving the train forward or backward is unlikely to change anything.

I'll work on better error handling so it stops spamming the logs.

Thank you. I'll downgrade and remove as blocker.

LarsWirzenius lowered the priority of this task from Unbreak Now! to High.Jul 18 2019, 1:04 PM

Change 524260 had a related patch set uploaded (by Sbisson; owner: Sbisson):
[mediawiki/extensions/Flow@master] Consider invalid format a user input error

Change 524260 merged by jenkins-bot:
[mediawiki/extensions/Flow@master] Consider invalid format a user input error

Etonkovidova added a subscriber: Etonkovidova.

It's still easy to trigger such an error by adding gibberish in topic_format- e.g. .

Resolved - as far as I could see it was not logged, and I didn't find ways to trigger it via normal workflows, and there are no such errors recorded for wmf15.

mmodell changed the subtype of this task from "Task" to "Production Error".Aug 28 2019, 11:06 PM