Page MenuHomePhabricator

Error: Class 'Wikimedia\Parsoid\NodeData\DataBag' not found
Closed, ResolvedPublicBUG REPORT

Description

What is the problem?

On beta, I have just seen a few (~10) errors in the log files like:

2021-10-19 08:30:32 [YW6Af7dFj9pRb7vGZ703ZAAAAE8] deployment-parsoid12 commonswiki 1.38.0-alpha exception ERROR: [YW6Af7dFj9pRb7vGZ703ZAAAAE8] /w/rest.php/commons.wikimedia.beta.wmflabs.org/v3/page/pagebundle/File%3AKjjk.jpg/240365   Error: Class 'Wikimedia\Parsoid\NodeData\DataBag' not found {"exception_url":"/w/rest.php/commons.wikimedia.beta.wmflabs.org/v3/page/pagebundle/File%3AKjjk.jpg/240365","reqId":"YW6Af7dFj9pRb7vGZ703ZAAAAE8","caught_by":"mwe_handler"} 
[Error Error] (/srv/mediawiki/php-master/vendor/wikimedia/parsoid/src/Utils/DOMDataUtils.php:44) Class 'Wikimedia\Parsoid\NodeData\DataBag' not found
  #0 /srv/mediawiki/php-master/vendor/wikimedia/parsoid/src/Config/Env.php(750): Wikimedia\Parsoid\Utils\DOMDataUtils::prepareDoc(Wikimedia\Parsoid\DOM\Compat\Document)
  #1 /srv/mediawiki/php-master/vendor/wikimedia/parsoid/src/Config/Env.php(314): Wikimedia\Parsoid\Config\Env->setupTopLevelDoc(NULL)
  #2 /srv/mediawiki/php-master/vendor/wikimedia/parsoid/src/Parsoid.php(155): Wikimedia\Parsoid\Config\Env->__construct(MWParsoid\Config\SiteConfig, MWParsoid\Config\PageConfig, MWParsoid\Config\DataAccess, array)
  #3 /srv/mediawiki/php-master/vendor/wikimedia/parsoid/src/Parsoid.php(198): Wikimedia\Parsoid\Parsoid->parseWikitext(MWParsoid\Config\PageConfig, array)
  #4 /srv/mediawiki/php-master/vendor/wikimedia/parsoid/extension/src/Rest/Handler/ParsoidHandler.php(589): Wikimedia\Parsoid\Parsoid->wikitext2html(MWParsoid\Config\PageConfig, array, NULL)
  #5 /srv/mediawiki/php-master/vendor/wikimedia/parsoid/extension/src/Rest/Handler/PageHandler.php(88): MWParsoid\Rest\Handler\ParsoidHandler->wt2html(MWParsoid\Config\PageConfig, array)
  #6 /srv/mediawiki/php-master/includes/Rest/Router.php(403): MWParsoid\Rest\Handler\PageHandler->execute()
  #7 /srv/mediawiki/php-master/includes/Rest/Router.php(330): MediaWiki\Rest\Router->executeHandler(MWParsoid\Rest\Handler\PageHandler)
  #8 /srv/mediawiki/php-master/includes/Rest/EntryPoint.php(165): MediaWiki\Rest\Router->execute(MediaWiki\Rest\RequestFromGlobals)
  #9 /srv/mediawiki/php-master/includes/Rest/EntryPoint.php(130): MediaWiki\Rest\EntryPoint->execute()
  #10 /srv/mediawiki/php-master/rest.php(31): MediaWiki\Rest\EntryPoint::main()
  #11 /srv/mediawiki/w/rest.php(3): require(string)
  #12 {main}

@hashar I don't know if this will affect the train.

Steps to reproduce problem

Not sure how to reproduce. It was not related to anything I was doing. I just happened to be watching the log files at the time.

EDIT: It seems to happen everytime I publish an edit on a beta wiki (including commons, enwiki).

Environment

Wiki(s): Seem to be coming from: https://commons.wikimedia.beta.wmflabs.org MediaWiki 1.38.0-alpha (66e58d1) 03:30, 19 October 2021.

Event Timeline

Yes, this will likely affect the train. We'll take a look.

https://gerrit.wikimedia.org/r/c/mediawiki/vendor/+/731792 is missing the NodeData directory. I am not sure if this is a composer bug or something wrong in how I used it ...

No... rookie git mistake. forgot to git status and git add new files and directories!

Change 731942 had a related patch set uploaded (by Subramanya Sastry; author: Subramanya Sastry):

[mediawiki/vendor@master] Unbreak Parsoid: add missing files from f8485f48

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

Change 731948 had a related patch set uploaded (by Hashar; author: Subramanya Sastry):

[mediawiki/vendor@wmf/1.38.0-wmf.5] Unbreak Parsoid: add missing files from f8485f48

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

Change 731948 merged by jenkins-bot:

[mediawiki/vendor@wmf/1.38.0-wmf.5] Unbreak Parsoid: add missing files from f8485f48

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

Patch merged and I am deploying to testwiki. I guess deployment-prep has been updated already. Do we have any way to reproduce to ensure that is fixed?

Patch merged and I am deploying to testwiki. I guess deployment-prep has been updated already. Do we have any way to reproduce to ensure that is fixed?

I could reproduce this issue just by publishing an edit to a page.

Change 731942 merged by jenkins-bot:

[mediawiki/vendor@master] Unbreak Parsoid: add missing files from f8485f48

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

Once the merged vendor (it is still in gate-and-submit) lands on beta, any simple VE edit should be a test. If it succeeds, all good.

Looks like it is working on beta. Testwikis have been updated. I ran out of time for group 0 ones.

ssastry claimed this task.
ssastry triaged this task as Unbreak Now! priority.