Page MenuHomePhabricator

Specific wikitext causes Cite to fatal on the beta cluster
Closed, DuplicatePublic

Description

I haven't been able to reproduce this locally or on production, and although yesterday the error was 100% reproducible on the beta cluster, now it has gone away.

Steps to maybe reproduce:

A stack trace is shown when the error occurs. However, I'm unable to reproduce it today, didn't think to take screenshots yesterday, and couldn't find anything in the deployment-prep error logs. All I remember is something about a storage backend, so it's possible that the error was transient and not directly related to Cite.

Event Timeline

Okay, here's the error.

Winning text:

== foo ==

<ref name="a" group="b">argh</ref>

== References ==
<references group="b"><ref name="a" group="b" /></references>
[Xcv4pawQBHcAACLxWSYAAAAW] /w/index.php?title=User:Adamw/sandbox&action=submit MediaWiki\Storage\BlobAccessException from line 261 of /srv/mediawiki/php-master/includes/Storage/SqlBlobStore.php: Unable to store text to external storage

Backtrace:

#0 /srv/mediawiki/php-master/includes/Revision/RevisionStore.php(926): MediaWiki\Storage\SqlBlobStore->storeBlob(string, array)
#1 /srv/mediawiki/php-master/includes/Revision/RevisionStore.php(665): MediaWiki\Revision\RevisionStore->storeContentBlob(MediaWiki\Revision\SlotRecord, Title, array)
#2 /srv/mediawiki/php-master/includes/Revision/RevisionStore.php(600): MediaWiki\Revision\RevisionStore->insertSlotOn(Wikimedia\Rdbms\DatabaseMysqli, integer, MediaWiki\Revision\SlotRecord, Title, array)
#3 /srv/mediawiki/php-master/includes/Revision/RevisionStore.php(497): MediaWiki\Revision\RevisionStore->insertRevisionInternal(MediaWiki\Revision\MutableRevisionRecord, Wikimedia\Rdbms\DatabaseMysqli, User, CommentStoreComment, Title, integer, integer)
#4 /srv/mediawiki/php-master/includes/libs/rdbms/database/Database.php(3990): MediaWiki\Revision\RevisionStore->MediaWiki\Revision\{closure}(Wikimedia\Rdbms\DatabaseMysqli, string)
#5 /srv/mediawiki/php-master/includes/libs/rdbms/database/DBConnRef.php(68): Wikimedia\Rdbms\Database->doAtomicSection(string, Closure)
#6 /srv/mediawiki/php-master/includes/libs/rdbms/database/DBConnRef.php(638): Wikimedia\Rdbms\DBConnRef->__call(string, array)
#7 /srv/mediawiki/php-master/includes/Revision/RevisionStore.php(499): Wikimedia\Rdbms\DBConnRef->doAtomicSection(string, Closure)
#8 /srv/mediawiki/php-master/includes/Storage/PageUpdater.php(987): MediaWiki\Revision\RevisionStore->insertRevisionOn(MediaWiki\Revision\MutableRevisionRecord, Wikimedia\Rdbms\DBConnRef)
#9 /srv/mediawiki/php-master/includes/Storage/PageUpdater.php(757): MediaWiki\Storage\PageUpdater->doModify(CommentStoreComment, User, integer)
#10 /srv/mediawiki/php-master/includes/page/WikiPage.php(1931): MediaWiki\Storage\PageUpdater->saveRevision(CommentStoreComment, integer)
#11 /srv/mediawiki/php-master/includes/EditPage.php(2349): WikiPage->doEditContent(WikitextContent, CommentStoreComment, integer, boolean, User, string, array, integer)
#12 /srv/mediawiki/php-master/includes/EditPage.php(1620): EditPage->internalAttemptSave(array, boolean)
#13 /srv/mediawiki/php-master/includes/EditPage.php(678): EditPage->attemptSave(array)
#14 /srv/mediawiki/php-master/includes/actions/EditAction.php(60): EditPage->edit()
#15 /srv/mediawiki/php-master/includes/actions/SubmitAction.php(38): EditAction->show()
#16 /srv/mediawiki/php-master/includes/MediaWiki.php(514): SubmitAction->show()
#17 /srv/mediawiki/php-master/includes/MediaWiki.php(304): MediaWiki->performAction(Article, Title)
#18 /srv/mediawiki/php-master/includes/MediaWiki.php(967): MediaWiki->performRequest()
#19 /srv/mediawiki/php-master/includes/MediaWiki.php(530): MediaWiki->main()
#20 /srv/mediawiki/php-master/index.php(46): MediaWiki->run()
#21 /srv/mediawiki/w/index.php(3): require(string)
#22 {main}

This edit also sometimes triggers the error, so I'm thinking it's not caused by Cite.

We traced the error to ExternalStoreAccess#insert, but don't understand why the logger did not record anything in logstash or deployment-fluorine02.deployment-prep.eqiad.wmflabs