Page MenuHomePhabricator

quibble-composer-mysql-php72-docker fails in MachineVision
Closed, ResolvedPublic

Description

The patch https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/MachineVision/+/550440/ fails at quibble-composer-mysql-php72-docker.

Console:

10:38:16 MediaWiki has been successfully installed. You can now visit <http://127.0.0.1:9412> 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.
10:38:16 INFO:quibble.util:Copying /workspace/src/LocalSettings.php to /workspace/log/LocalSettings.php
10:38:16 INFO:quibble.util:Copying /workspace/src/LocalSettings-installer.php to /workspace/log/LocalSettings-installer.php
10:38:16 No syntax errors detected in /workspace/src/LocalSettings.php
10:38:16 INFO:mw.maintenance.update:php maintenance/update.php --quick
10:38:16 [8479a17855a39ea3813dd4b9] [no req]   Error from line 35 of /workspace/src/extensions/Wikibase/lib/WikibaseLib.entitytypes.php: Class 'Wikibase\DataModel\Entity\ItemId' not found
10:38:16 Backtrace:
10:38:16 #0 /workspace/src/extensions/Wikibase/repo/includes/WikibaseRepo.php(789): require()
10:38:16 #1 /workspace/src/extensions/Wikibase/repo/includes/WikibaseRepo.php(404): Wikibase\Repo\WikibaseRepo::getDefaultEntityTypes()
10:38:16 #2 /workspace/src/extensions/Wikibase/repo/includes/WikibaseRepo.php(561): Wikibase\Repo\WikibaseRepo::newInstance()
10:38:16 #3 /workspace/src/extensions/Wikibase/repo/RepoHooks.php(107): Wikibase\Repo\WikibaseRepo::getDefaultInstance()
10:38:16 #4 /workspace/src/includes/Hooks.php(174): Wikibase\RepoHooks::onSetupAfterCache()
10:38:16 #5 /workspace/src/includes/Hooks.php(202): Hooks::callHook(string, array, array, NULL)
10:38:16 #6 /workspace/src/includes/Setup.php(772): Hooks::run(string)
10:38:16 #7 /workspace/src/maintenance/doMaintenance.php(83): require_once(string)
10:38:16 #8 /workspace/src/maintenance/update.php(270): require_once(string)
10:38:16 #9 {main}

Event Timeline

Change 550467 had a related patch set uploaded (by Awight; owner: Awight):
[mediawiki/extensions/MachineVision@master] Reconcile dependencies with mediawiki-core

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

Change 550467 abandoned by Awight:
Reconcile dependencies with mediawiki-core

Reason:
That wasn't it.

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

I think the confusion is caused by a late failure. The original error is from composer install, where one dependency requires wikimedia/assert:v0.4.0, and then wikibase-lexeme requires wikimedia/assert ([>= 0.2.2.0-dev < 0.3.0.0-dev]). Composer reports,

14:48:37 [500.2MB/9.66s] Your requirements could not be resolved to an installable set of packages.
14:48:37 [500.2MB/9.66s] 
14:48:37   Problem 1
14:48:37     - The requested package wikimedia/assert ~0.2.2 is satisfiable by wikimedia/assert[v0.2.2] but these conflict with your requirements or minimum-stability.

This should have immediately crashed the build. Instead, we start installing MediaWiki and run into missing classes caused by incomplete PHP libs installation.

Change 550455 had a related patch set uploaded (by Lucas Werkmeister (WMDE); owner: Lucas Werkmeister (WMDE)):
[mediawiki/extensions/WikibaseLexeme@master] Declare compatibility with newer wikimedia/assert

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

Change 550455 merged by jenkins-bot:
[mediawiki/extensions/WikibaseLexeme@master] Declare compatibility with newer wikimedia/assert

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

I think the confusion is caused by a late failure. The original error is from composer install, where one dependency requires wikimedia/assert:v0.4.0, and then wikibase-lexeme requires wikimedia/assert ([>= 0.2.2.0-dev < 0.3.0.0-dev]). Composer reports,

14:48:37 [500.2MB/9.66s] Your requirements could not be resolved to an installable set of packages.
14:48:37 [500.2MB/9.66s] 
14:48:37   Problem 1
14:48:37     - The requested package wikimedia/assert ~0.2.2 is satisfiable by wikimedia/assert[v0.2.2] but these conflict with your requirements or minimum-stability.

This should have immediately crashed the build. Instead, we start installing MediaWiki and run into missing classes caused by incomplete PHP libs installation.

Nice find @awight!

I guess we want a follow up task to make sure the build breaks as soon as the problem is detected?

00:01:18.291 [222.4MB/7.98s] > pre-update-cmd: ComposerHookHandler::onPreUpdate
...

00:01:21.857   Problem 1
00:01:21.857     - The requested package wikimedia/assert ~0.2.2 is satisfiable by wikimedia/assert[v0.2.2] but these conflict with your requirements or minimum-stability.
00:01:21.857 
00:01:21.927 [432.9MB/11.61s] > post-update-cmd: ComposerVendorHtaccessCreator::onEvent
00:01:22.163 [433.0MB/11.85s] Memory usage: 433.05MB (peak: 500.25MB), time: 11.85s
00:01:22.218 INFO:quibble.cmd:Run composer update for mediawiki/core finished in 12.055 s

Seems like the composer merge plugin is somehow swallowing the error :-\

I guess we want a follow up task to make sure the build breaks as soon as the problem is detected?

Thanks, following up in: T238203: Composer-merge-plugin might be suppressing errors