Page MenuHomePhabricator

'Wikibase\DataModel\Services\EntityId\EntityIdComposer' not found in wikibase docker images
Closed, ResolvedPublic

Description

Reported in WIkibase telegram group.

My wikibase instance throws: [5e5fbdd67bad75f7880ce5c3] 2020-02-05 13:18:13: Fatal exception of type "Error"

When @Addshore tried this locally the full stacktrace shows: (for REL1_33)

[77bf49be7604c080797560d0] / Error from line 1040 of /var/www/html/extensions/Wikibase/repo/includes/WikibaseRepo.php: Class 'Wikibase\DataModel\Services\EntityId\EntityIdComposer' not found

Backtrace:

#0 /var/www/html/extensions/Wikibase/repo/includes/WikibaseRepo.php(2262): Wikibase\Repo\WikibaseRepo->getEntityIdComposer()
#1 /var/www/html/extensions/Wikibase/repo/includes/WikibaseRepo.php(2253): Wikibase\Repo\WikibaseRepo->newMultipleRepositoryAwareWikibaseServices()
#2 /var/www/html/extensions/Wikibase/repo/includes/WikibaseRepo.php(1973): Wikibase\Repo\WikibaseRepo->getWikibaseServices()
#3 /var/www/html/extensions/Wikibase/repo/RepoHooks.php(121): Wikibase\Repo\WikibaseRepo->getEntityNamespaceLookup()
#4 /var/www/html/includes/Hooks.php(174): Wikibase\RepoHooks::onSetupAfterCache()
#5 /var/www/html/includes/Hooks.php(202): Hooks::callHook(string, array, array, NULL)
#6 /var/www/html/includes/Setup.php(782): Hooks::run(string)
#7 /var/www/html/includes/WebStart.php(77): require_once(string)
#8 /var/www/html/index.php(39): require(string)
#9 {main}

Prior to this in the install logs for the container things already broke in a similar way:

wikibase_1         | Creating main page with default content
wikibase_1         | Main page already exists, skipping
wikibase_1         | done
wikibase_1         | Database was successfully set up
wikibase_1         | MediaWiki has been successfully installed. You can now visit </wiki> to view your wiki. If you have questions, check out our frequently asked questions list: <https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ> or use one of the support forums linked on that page.
wikibase_1         | Done!
wikibase_1         | [918300def4f7f404996337a2] [no req]   Error from line 1040 of /var/www/html/extensions/Wikibase/repo/includes/WikibaseRepo.php: Class 'Wikibase\DataModel\Services\EntityId\EntityIdComposer' not found
wikibase_1         | Backtrace:
wikibase_1         | #0 /var/www/html/extensions/Wikibase/repo/includes/WikibaseRepo.php(2262): Wikibase\Repo\WikibaseRepo->getEntityIdComposer()
wikibase_1         | #1 /var/www/html/extensions/Wikibase/repo/includes/WikibaseRepo.php(2253): Wikibase\Repo\WikibaseRepo->newMultipleRepositoryAwareWikibaseServices()
wikibase_1         | #2 /var/www/html/extensions/Wikibase/repo/includes/WikibaseRepo.php(1973): Wikibase\Repo\WikibaseRepo->getWikibaseServices()
wikibase_1         | #3 /var/www/html/extensions/Wikibase/repo/RepoHooks.php(121): Wikibase\Repo\WikibaseRepo->getEntityNamespaceLookup()
wikibase_1         | #4 /var/www/html/includes/Hooks.php(174): Wikibase\RepoHooks::onSetupAfterCache()
wikibase_1         | #5 /var/www/html/includes/Hooks.php(202): Hooks::callHook(string, array, array, NULL)
wikibase_1         | #6 /var/www/html/includes/Setup.php(782): Hooks::run(string)
wikibase_1         | #7 /var/www/html/maintenance/doMaintenance.php(81): require_once(string)
wikibase_1         | #8 /var/www/html/maintenance/update.php(275): require_once(string)
wikibase_1         | #9 {main}
wikibase_1         | wait-for-it.sh: waiting 300 seconds for mysql.svc:3306
wikibase_1         | wait-for-it.sh: mysql.svc:3306 is available after 0 seconds

It looks like code that needs composer packages is running before they are ever loaded by mediawiki.

This is fallout from using the composer merge plugin in the images, but should also happen to people using the merge plugin not in the containers..

Event Timeline

Addshore triaged this task as High priority.Feb 5 2020, 4:06 PM

I asked on this error in the telegram group and i can conform it.

When i try to load localhost:8181 in the browser this message appears:

[9d99c27292dec86bc1eaa763] 2020-02-06 08:58:51: Fatal exception of type "Error".

When i go through the logs of wikibase-docker_wikibase_1 i get:

[1f808917581c844bbd15fbfb] [no req] Error from line 1040 of /var/www/html/extensions/Wikibase/repo/includes/WikibaseRepo.php: Class 'Wikibase\DataModel\Services\EntityId\EntityIdComposer' not found
Backtrace:
#0 /var/www/html/extensions/Wikibase/repo/includes/WikibaseRepo.php(2262): Wikibase\Repo\WikibaseRepo->getEntityIdComposer()
#1 /var/www/html/extensions/Wikibase/repo/includes/WikibaseRepo.php(2253): Wikibase\Repo\WikibaseRepo->newMultipleRepositoryAwareWikibaseServices()
#2 /var/www/html/extensions/Wikibase/repo/includes/WikibaseRepo.php(1973): Wikibase\Repo\WikibaseRepo->getWikibaseServices()
#3 /var/www/html/extensions/Wikibase/repo/RepoHooks.php(121): Wikibase\Repo\WikibaseRepo->getEntityNamespaceLookup()
#4 /var/www/html/includes/Hooks.php(174): Wikibase\RepoHooks::onSetupAfterCache()
#5 /var/www/html/includes/Hooks.php(202): Hooks::callHook(string, array, array, NULL)
#6 /var/www/html/includes/Setup.php(782): Hooks::run(string)
#7 /var/www/html/maintenance/doMaintenance.php(81): require_once(string)
#8 /var/www/html/maintenance/update.php(275): require_once(string)
#9 {main}

Which versions / digests & tags of the docker images are you using?

You can find this out with:

docker images | grep wikibase/

Oh sorry my fault, i didn't saw the commit https://github.com/wmde/wikibase-docker/commit/644495b12565717641d342b452cc79a1eaef08ad and had the version before it. I just tested it with the recent version and now its working. So i had and older version where the error occurred.

Addshore claimed this task.