Page MenuHomePhabricator

Make MediaWiki compatible with PHP 8
Open, Needs TriagePublic

Description

Details

ProjectBranchLines +/-Subject
mediawiki/coremaster+4 -3
mediawiki/coreREL1_35+3 -2
mediawiki/vendorREL1_35+4 K -4 K
mediawiki/coreREL1_35+1 -1
mediawiki/coremaster+1 -1
mediawiki/coreREL1_35+4 -3
mediawiki/coreREL1_35+1 -1
mediawiki/coremaster+4 -0
mediawiki/coreREL1_35+4 -0
mediawiki/coremaster+1 -1
integration/configmaster+1 -0
mediawiki/coremaster+2 -1
mediawiki/vendormaster+4 K -4 K
mediawiki/services/parsoidREL1_35+1 -1
mediawiki/extensions/GoogleLoginmaster+49 -34
mediawiki/extensions/Translatemaster+14 -14
mediawiki/extensions/Expressionsmaster+21 -20
mediawiki/services/parsoidmaster+1 -1
mediawiki/coreREL1_35+9 -9
mediawiki/coreREL1_35+183 -0
mediawiki/coremaster+2 -2
mediawiki/coremaster+9 -9
mediawiki/coreREL1_35+1 -1
mediawiki/coremaster+1 -1
mediawiki/coremaster+11 -6
mediawiki/coremaster+5 -3
mediawiki/coremaster+2 -3
mediawiki/coremaster+22 -4
mediawiki/coremaster+20 -19
mediawiki/coremaster+1 -1
mediawiki/coremaster+24 -10
Show related patches Customize query in gerrit

Related Objects

StatusSubtypeAssignedTask
OpenNone
OpenNone
ResolvedJdforrester-WMF
ResolvedFlorian
ResolvedReedy
ResolvedTK-999
ResolvedNone
ResolvedJdforrester-WMF
ResolvedAddshore
ResolvedLucas_Werkmeister_WMDE
ResolvedLucas_Werkmeister_WMDE
ResolvedItamarWMDE
ResolvedSilvan_WMDE
Resolved Tonina_Zhelyazkova_WMDE
ResolvedLucas_Werkmeister_WMDE
ResolvedDaimona
ResolvedReedy
ResolvedReedy
OpenNone
OpenNone
ResolvedReedy
ResolvedJdforrester-WMF
ResolvedNone
ResolvedNone
OpenNone
OpenNone
StalledNone
OpenNone
OpenNone
OpenNone
OpenEBernhardson
ResolvedEBernhardson
Resolveddcausse
Resolveddcausse
Resolveddcausse
Resolveddcausse
Resolveddcausse
OpenNone
ResolvedEBernhardson
DuplicateNone
ResolvedEBernhardson
OpenEJoseph
ResolvedEBernhardson
DuplicateNone
ResolvedGehel
ResolvedEJoseph
Resolvedbking
Resolvedbking
ResolvedRKemper
ResolvedRKemper
ResolvedRKemper
OpenRKemper
OpenNone
OpenNone
Openbking
Resolvedbking
Openbking
OpenNone
ResolvedEBernhardson
ResolvedEBernhardson
ResolvedTJones
Resolved Zbyszko
DeclinedNone
DeclinedJenlenfantwright
OpenNone
DeclinedNone
OpenRaymond_Ndibe
DeclinedNone
ResolvedEBernhardson
DeclinedNone
Opendcausse
OpenEBernhardson
OpenEBernhardson
OpenNone

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

monolog/monolog 2.0.2 requires php ^7.2 -> your PHP version (8.0.0) does not satisfy that requirement

Fun.

Exactly. Very "fun". That is my feedback so far: don't pin monolog and other dependencies, especially to something that cannot be installed with the latest PHP version. Or, at the very least, switch the pin to any more recent version than monolog 2.0.2, which all allow installation with PHP 8.

monolog/monolog 2.0.2 requires php ^7.2 -> your PHP version (8.0.0) does not satisfy that requirement

Fun.

Exactly. Very "fun". That is my feedback so far: don't pin monolog and other dependencies, especially to something that cannot be installed with the latest PHP version. Or, at the very least, switch the pin to any more recent version than monolog 2.0.2, which all allow installation with PHP 8.

Doesn’t help when we have code in core that depends on classes in a 3rd party library, and we can’t easily support both versions when signatures change... so no point in letting you install it if it won’t work if you try to use it....

monolog/monolog 2.0.2 requires php ^7.2 -> your PHP version (8.0.0) does not satisfy that requirement

Fun.

Exactly. Very "fun". That is my feedback so far: don't pin monolog and other dependencies, especially to something that cannot be installed with the latest PHP version.

Given that we've found everyone on Earth disagrees as to the exact semantics of SemVer in ways that have broken master and threatened the stability of production, including composer themselves, no.

Or, at the very least, switch the pin to any more recent version than monolog 2.0.2, which all allow installation with PHP 8.

Yes, that's the plan. :-) Unfortunately their support expanse comes at the expense of breaking changes that they don't consider breaking in their output, so we have to re-validate all the security logging etc. again.

Be happy were on 2.0 now too ;)

Change 656593 had a related patch set uploaded (by Jforrester; owner: Jforrester):
[integration/config@master] Zuul: [mediawiki/core] Add composer (not vendor) experimental PHP 8.0 job

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

Change 656593 merged by jenkins-bot:
[integration/config@master] Zuul: [mediawiki/core] Add composer (not vendor) experimental PHP 8.0 job

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

Mentioned in SAL (#wikimedia-releng) [2021-01-17T03:44:33Z] <James_F> Zuul: [mediawiki/core] Add composer (not vendor) experimental PHP 8.0 job T248925

Change 657683 had a related patch set uploaded (by Umherirrender; owner: Umherirrender):
[mediawiki/core@master] Set empty closures in DatabaseTest to fix php8 tests

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

Change 657713 had a related patch set uploaded (by Umherirrender; owner: Umherirrender):
[mediawiki/core@master] Special:Contributions reports negative namespace error on php8

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

Change 657685 had a related patch set uploaded (by Umherirrender; owner: Umherirrender):
[mediawiki/core@master] Fix constructor HashBagOStuff on non-numeric strings for php8

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

Change 657713 merged by jenkins-bot:
[mediawiki/core@master] Special:Contributions reports negative namespace error on php8

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

Change 660527 had a related patch set uploaded (by Reedy; owner: Umherirrender):
[mediawiki/core@REL1_35] Set empty closures in DatabaseTest to fix php8 tests

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

Change 660527 abandoned by Reedy:
[mediawiki/core@REL1_35] Set empty closures in DatabaseTest to fix php8 tests

Reason:

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

Change 660527 restored by Reedy:
[mediawiki/core@REL1_35] Set empty closures in DatabaseTest to fix php8 tests

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

Change 660527 merged by jenkins-bot:
[mediawiki/core@REL1_35] Set empty closures in DatabaseTest to fix php8 tests

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

Change 657683 merged by jenkins-bot:
[mediawiki/core@master] Set empty closures in DatabaseTest to fix php8 tests

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

Change 660530 had a related patch set uploaded (by Umherirrender; owner: Umherirrender):
[mediawiki/core@REL1_35] Special:Contributions reports negative namespace error on php8

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

Change 660530 merged by jenkins-bot:
[mediawiki/core@REL1_35] Special:Contributions reports negative namespace error on php8

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

Change 657685 merged by jenkins-bot:
[mediawiki/core@master] objectcache: Fix non-numeric string check in HashBagOStuff for PHP 8

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

Change 660929 had a related patch set uploaded (by Umherirrender; owner: Umherirrender):
[mediawiki/core@REL1_35] objectcache: Fix non-numeric string check in HashBagOStuff for PHP 8

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

Change 660626 had a related patch set uploaded (by Umherirrender; owner: Umherirrender):
[mediawiki/core@master] Fix CacheTime::getCacheExpiry for php8

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

Change 660929 merged by jenkins-bot:
[mediawiki/core@REL1_35] objectcache: Fix non-numeric string check in HashBagOStuff for PHP 8

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

Change 660626 merged by jenkins-bot:
[mediawiki/core@master] Fix CacheTime::getCacheExpiry for php8

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

Change 661654 had a related patch set uploaded (by Umherirrender; owner: Umherirrender):
[mediawiki/core@REL1_35] Fix CacheTime::getCacheExpiry for php8

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

Change 661654 merged by jenkins-bot:
[mediawiki/core@REL1_35] Fix CacheTime::getCacheExpiry for php8

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

Squashed a patch set together, which now passed for the composer job on master: https://gerrit.wikimedia.org/r/c/mediawiki/core/+/662089

https://integration.wikimedia.org/ci/job/mediawiki-quibble-composer-mysql-php80-docker/16/console

That means: Closing the sub tasks should make it work for mediawiki/core as other failing tests are now passed


elasticsearch/elasticsearch needs update to also work on the vendor job (T271777)

Change 662100 had a related patch set uploaded (by Reedy; owner: Jforrester):
[mediawiki/vendor@REL1_35] Upgrade wikimedia/less.php from 3.0.0 to 3.1.0

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

Change 662055 had a related patch set uploaded (by Reedy; owner: Jforrester):
[mediawiki/core@REL1_35] Upgrade wikimedia/less.php from 3.0.0 to 3.1.0

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

Change 662100 merged by Reedy:
[mediawiki/vendor@REL1_35] Upgrade wikimedia/less.php from 3.0.0 to 3.1.0

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

Change 662055 merged by jenkins-bot:
[mediawiki/core@REL1_35] Upgrade wikimedia/less.php from 3.0.0 to 3.1.0

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

What is blocking now from making master compatible with PHP 8? Only T283275?

What is blocking now from making master compatible with PHP 8? Only T283275?

No, that's what stopping us from testing it to work out the likely dozens of things that are broken, unfortunately.

Any estimation around at what point 1.35 will be compatible with PHP 8.x?

Any estimation around at what point 1.35 will be compatible with PHP 8.x?

Not really... Master isn't yet completely either. Most things should work just fine, AFAIK, the only known issues are related to deprecated debug logspam.

Testing is welcome ;). T274966: Make MW 1.35 tests pass on PHP 8.0 for some known failures

Wikimedia is hopefully moving to PHP 7.4 very soon(TM); see T271736, and then when the Kubernetes stuff is done, will be moving towards PHP 8.0.. So when that happens, fixes will be around to be backported (if needed).

If issues are identified (in master or suppored releases), tasks can be filed, fixed, backported in parallel.

https://integration.wikimedia.org/ci/job/mediawiki-quibble-vendor-mysql-php80-docker/49/console

17:19:25 There were 8 errors:
17:19:25 
17:19:25 1) ApiFormatBaseTest::testHtmlHeader with data set #0 (false, false, '(api-format-prettyprint-heade... MOCK)')
17:19:25 Function libxml_disable_entity_loader() is deprecated
17:19:25 
17:19:25 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:25 /workspace/src/includes/api/ApiHelp.php:193
17:19:25 /workspace/src/includes/api/ApiFormatBase.php:278
17:19:25 /workspace/src/tests/phpunit/includes/api/format/ApiFormatBaseTest.php:394
17:19:25 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:25 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:25 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:25 [localisation] [debug] LocalisationCache::isExpired(qqx): cache missing, need to make one []
17:19:25 ===
17:19:25 
17:19:25 2) ApiFormatBaseTest::testHtmlHeader with data set #1 (true, false, '(api-format-prettyprint-heade... MOCK)')
17:19:25 Function libxml_disable_entity_loader() is deprecated
17:19:25 
17:19:25 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:25 /workspace/src/includes/api/ApiHelp.php:193
17:19:25 /workspace/src/includes/api/ApiFormatBase.php:278
17:19:25 /workspace/src/tests/phpunit/includes/api/format/ApiFormatBaseTest.php:394
17:19:25 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:25 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:25 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:25 [localisation] [debug] LocalisationCache::isExpired(qqx): cache missing, need to make one []
17:19:25 ===
17:19:25 
17:19:25 3) ApiFormatBaseTest::testHtmlHeader with data set #2 (false, true, '(api-format-prettyprint-heade...k</a>)')
17:19:25 Function libxml_disable_entity_loader() is deprecated
17:19:25 
17:19:25 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:25 /workspace/src/includes/api/ApiHelp.php:193
17:19:25 /workspace/src/includes/api/ApiFormatBase.php:278
17:19:25 /workspace/src/tests/phpunit/includes/api/format/ApiFormatBaseTest.php:394
17:19:25 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:25 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:25 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:25 [localisation] [debug] LocalisationCache::isExpired(qqx): cache missing, need to make one []
17:19:25 ===
17:19:25 
17:19:25 4) ApiFormatBaseTest::testHtmlHeader with data set #3 (true, true, '(api-format-prettyprint-heade... mock)')
17:19:25 Function libxml_disable_entity_loader() is deprecated
17:19:25 
17:19:25 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:25 /workspace/src/includes/api/ApiHelp.php:193
17:19:25 /workspace/src/includes/api/ApiFormatBase.php:278
17:19:25 /workspace/src/tests/phpunit/includes/api/format/ApiFormatBaseTest.php:394
17:19:25 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:25 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:25 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:25 [localisation] [debug] LocalisationCache::isExpired(qqx): cache missing, need to make one []
17:19:25 ===
17:19:25 
17:19:25 5) ApiFormatBaseTest::testGeneralEncoding with data set "HTML format" (array(), '<pre class="api-pretty-conten...</pre>', array(), array('mockfm'))
17:19:25 Function libxml_disable_entity_loader() is deprecated
17:19:25 
17:19:25 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:25 /workspace/src/includes/api/ApiHelp.php:193
17:19:25 /workspace/src/includes/api/ApiFormatBase.php:278
17:19:25 /workspace/src/tests/phpunit/includes/api/format/ApiFormatTestBase.php:68
17:19:25 /workspace/src/tests/phpunit/includes/api/format/ApiFormatBaseTest.php:68
17:19:25 /workspace/src/tests/phpunit/includes/api/format/ApiFormatTestBase.php:97
17:19:25 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:25 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:25 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:25 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:25 [objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:interwiki:mw): miss, new value computed []
17:19:25 ===
17:19:25 
17:19:25 6) ApiFormatBaseTest::testGeneralEncoding with data set "HTML format, with set status" (array(), '<pre class="api-pretty-conten...</pre>', array(), array('mockfm', 400))
17:19:25 Function libxml_disable_entity_loader() is deprecated
17:19:25 
17:19:25 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:25 /workspace/src/includes/api/ApiHelp.php:193
17:19:25 /workspace/src/includes/api/ApiFormatBase.php:278
17:19:25 /workspace/src/tests/phpunit/includes/api/format/ApiFormatTestBase.php:68
17:19:25 /workspace/src/tests/phpunit/includes/api/format/ApiFormatBaseTest.php:68
17:19:25 /workspace/src/tests/phpunit/includes/api/format/ApiFormatTestBase.php:97
17:19:25 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:25 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:25 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:25 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:25 ===
17:19:25 
17:19:25 7) WikitextStructureTest::testTexts
17:19:25 Function libxml_disable_entity_loader() is deprecated
17:19:25 
17:19:25 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:25 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:150
17:19:25 /workspace/src/includes/content/WikiTextStructure.php:206
17:19:25 /workspace/src/includes/content/WikiTextStructure.php:164
17:19:25 /workspace/src/includes/content/WikiTextStructure.php:223
17:19:25 /workspace/src/tests/phpunit/includes/content/WikitextStructureTest.php:104
17:19:25 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:25 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:25 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:25 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:25 [GlobalTitleFail] [info] RequestContext::getTitle called with no title set. {"exception":{}}
17:19:25 [GlobalTitleFail] [info] RequestContext::getTitle called with no title set. {"exception":{}}
17:19:25 [GlobalTitleFail] [info] RequestContext::getTitle called with no title set. {"exception":{}}
17:19:25 [GlobalTitleFail] [info] RequestContext::getTitle called with no title set. {"exception":{}}
17:19:25 [GlobalTitleFail] [info] RequestContext::getTitle called with no title set. {"exception":{}}
17:19:25 [GlobalTitleFail] [info] RequestContext::getTitle called with no title set. {"exception":{}}
17:19:25 ===
17:19:25 
17:19:25 8) WikitextStructureTest::testPreservesWordSpacing
17:19:25 Function libxml_disable_entity_loader() is deprecated
17:19:25 
17:19:25 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:25 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:150
17:19:25 /workspace/src/includes/content/WikiTextStructure.php:170
17:19:25 /workspace/src/includes/content/WikiTextStructure.php:232
17:19:25 /workspace/src/tests/phpunit/includes/content/WikitextStructureTest.php:114
17:19:25 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:25 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:25 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:25 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:25 ===
17:19:25 
17:19:25 --
17:19:25 
17:19:25 There were 10 failures:
17:19:25 
17:19:25 1) FileTest::testCanAnimateThumbIfAppropriate with data set #8 ('Soccer_ball_animated.svg', false)
17:19:25 Failed asserting that false matches expected true.
17:19:25 
17:19:25 /workspace/src/tests/phpunit/includes/filerepo/file/FileTest.php:14
17:19:25 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 [Mime] [info] MimeAnalyzer::guessMimeType: WARNING: use of the $ext parameter is deprecated. Use improveTypeFromExtension($mime, $ext) instead.
17:19:25  []
17:19:25 [Mime] [info] MimeAnalyzer::doGuessMimeType: analyzing head and tail of /workspace/src/tests/phpunit/includes/media/../../data/media/Soccer_ball_animated.svg for magic numbers.
17:19:25  []
17:19:25 [Mime] [info] MimeAnalyzer::guessMimeType: guessed mime type of /workspace/src/tests/phpunit/includes/media/../../data/media/Soccer_ball_animated.svg: image/svg+xml
17:19:25  []
17:19:25 [wfDebug] [debug] SvgHandler::getMetadata: Function libxml_disable_entity_loader() is deprecated {"private":false}
17:19:25 [wfDebug] [debug] wfRecursiveRemoveDir( /tmp/MW_PHPUnit_FileTest_LEpOnl ) {"private":false}
17:19:25 ===
17:19:25 
17:19:25 2) DatabaseSQLTest::testUpdateEmptyCondition with data set #0 (array('table', array('text', 'text2'), null))
17:19:25 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:25 
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [deprecated] [info] Use of Wikimedia\Rdbms\Database::update called with empty $conds was deprecated in MediaWiki 1.35. [Called from DatabaseSQLTest::testUpdateEmptyCondition in /workspace/src/tests/phpunit/includes/libs/rdbms/database/DatabaseSQLTest.php at line 524] {"private":false}
17:19:25 ===
17:19:25 
17:19:25 3) DatabaseSQLTest::testUpdateEmptyCondition with data set #1 (array('table', array('field = other', 'text2'), array()))
17:19:25 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:25 
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [deprecated] [info] Use of Wikimedia\Rdbms\Database::update called with empty $conds was deprecated in MediaWiki 1.35. [Called from DatabaseSQLTest::testUpdateEmptyCondition in /workspace/src/tests/phpunit/includes/libs/rdbms/database/DatabaseSQLTest.php at line 524] {"private":false}
17:19:25 ===
17:19:25 
17:19:25 4) DatabaseSQLTest::testUpdateEmptyCondition with data set #2 (array('table', array('field = other', 'text2'), ''))
17:19:25 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:25 
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [deprecated] [info] Use of Wikimedia\Rdbms\Database::update called with empty $conds was deprecated in MediaWiki 1.35. [Called from DatabaseSQLTest::testUpdateEmptyCondition in /workspace/src/tests/phpunit/includes/libs/rdbms/database/DatabaseSQLTest.php at line 524] {"private":false}
17:19:25 ===
17:19:25 
17:19:25 5) ExtensionRegistryTest::testReadFromQueue_nonexistent
17:19:25 Failed asserting that Exception Object &0000000016313eb800000000447a2e90 (
17:19:25     'message' => 'Unable to read /workspace/src/tests/phpunit/includes/registration/doesnotexist.json, does it exist?'
17:19:25     'string' => ''
17:19:25     'code' => 0
17:19:25     'file' => '/workspace/src/includes/registration/ExtensionRegistry.php'
17:19:25     'line' => 345
17:19:25     'previous' => null
17:19:25 ) exception of type "PHPUnit\Framework\Error\Error" or exception of type "Error".
17:19:25 
17:19:25 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:25 ===
17:19:25 
17:19:25 6) MediaWiki\HookContainer\HookContainerTest::testEmitDeprecationWarnings
17:19:25 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:25 
17:19:25 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:110
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [deprecated] [info] Hook FooActionComplete was deprecated in MediaWiki 1.35 but is registered in fake-extension.json {"private":false}
17:19:25 ===
17:19:25 
17:19:25 7) DeprecatablePropertyArrayTest::testDeprecationWarning with data set "get" (Closure Object (...), 'TEST get 'test_property'')
17:19:25 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:25 
17:19:25 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:110
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [deprecated] [info] Use of TEST get 'test_property' was deprecated in MediaWiki DEPRECATED_VERSION. [Called from DeprecatablePropertyArrayTest::{closure} in /workspace/src/tests/phpunit/unit/includes/debug/DeprecatablePropertyArrayTest.php at line 40] {"private":false}
17:19:25 ===
17:19:25 
17:19:25 8) DeprecatablePropertyArrayTest::testDeprecationWarning with data set "get, callback" (Closure Object (...), 'TEST get 'callback'')
17:19:25 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:25 
17:19:25 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:110
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [deprecated] [info] Use of TEST get 'callback' was deprecated in MediaWiki DEPRECATED_VERSION. [Called from DeprecatablePropertyArrayTest::{closure} in /workspace/src/tests/phpunit/unit/includes/debug/DeprecatablePropertyArrayTest.php at line 46] {"private":false}
17:19:25 ===
17:19:25 
17:19:25 9) DeprecatablePropertyArrayTest::testDeprecationWarning with data set "exists" (Closure Object (...), 'TEST exists 'test_property'')
17:19:25 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:25 
17:19:25 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:110
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [deprecated] [info] Use of TEST exists 'test_property' was deprecated in MediaWiki DEPRECATED_VERSION. [Called from DeprecatablePropertyArrayTest::{closure} in /workspace/src/tests/phpunit/unit/includes/debug/DeprecatablePropertyArrayTest.php at line 52] {"private":false}
17:19:25 ===
17:19:25 
17:19:25 10) DeprecatablePropertyArrayTest::testDeprecationWarning with data set "unset" (Closure Object (...), 'TEST unset 'test_property'')
17:19:25 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:25 
17:19:25 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:110
17:19:25 /workspace/src/tests/phpunit/phpunit.php:75
17:19:25 /workspace/src/maintenance/doMaintenance.php:107
17:19:25 /workspace/src/tests/phpunit/phpunit.php:134
17:19:25 === Logs generated by test case
17:19:25 [deprecated] [info] Use of TEST unset 'test_property' was deprecated in MediaWiki DEPRECATED_VERSION. [Called from DeprecatablePropertyArrayTest::{closure} in /workspace/src/tests/phpunit/unit/includes/debug/DeprecatablePropertyArrayTest.php at line 58] {"private":false}
17:19:25 ===
17:19:25 
17:19:25 ERRORS!
17:19:25 Tests: 18502, Assertions: 64634, Errors: 8, Failures: 10, Skipped: 28, Incomplete: 1.

https://integration.wikimedia.org/ci/job/mediawiki-quibble-composer-mysql-php80-docker/37/console

17:19:39 There were 8 errors:
17:19:39 
17:19:39 1) ApiFormatBaseTest::testHtmlHeader with data set #0 (false, false, '(api-format-prettyprint-heade... MOCK)')
17:19:39 Function libxml_disable_entity_loader() is deprecated
17:19:39 
17:19:39 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:39 /workspace/src/includes/api/ApiHelp.php:193
17:19:39 /workspace/src/includes/api/ApiFormatBase.php:278
17:19:39 /workspace/src/tests/phpunit/includes/api/format/ApiFormatBaseTest.php:394
17:19:39 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:39 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:39 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:39 [localisation] [debug] LocalisationCache::isExpired(qqx): cache missing, need to make one []
17:19:39 ===
17:19:39 
17:19:39 2) ApiFormatBaseTest::testHtmlHeader with data set #1 (true, false, '(api-format-prettyprint-heade... MOCK)')
17:19:39 Function libxml_disable_entity_loader() is deprecated
17:19:39 
17:19:39 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:39 /workspace/src/includes/api/ApiHelp.php:193
17:19:39 /workspace/src/includes/api/ApiFormatBase.php:278
17:19:39 /workspace/src/tests/phpunit/includes/api/format/ApiFormatBaseTest.php:394
17:19:39 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:39 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:39 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:39 [localisation] [debug] LocalisationCache::isExpired(qqx): cache missing, need to make one []
17:19:39 ===
17:19:39 
17:19:39 3) ApiFormatBaseTest::testHtmlHeader with data set #2 (false, true, '(api-format-prettyprint-heade...k</a>)')
17:19:39 Function libxml_disable_entity_loader() is deprecated
17:19:39 
17:19:39 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:39 /workspace/src/includes/api/ApiHelp.php:193
17:19:39 /workspace/src/includes/api/ApiFormatBase.php:278
17:19:39 /workspace/src/tests/phpunit/includes/api/format/ApiFormatBaseTest.php:394
17:19:39 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:39 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:39 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:39 [localisation] [debug] LocalisationCache::isExpired(qqx): cache missing, need to make one []
17:19:39 ===
17:19:39 
17:19:39 4) ApiFormatBaseTest::testHtmlHeader with data set #3 (true, true, '(api-format-prettyprint-heade... mock)')
17:19:39 Function libxml_disable_entity_loader() is deprecated
17:19:39 
17:19:39 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:39 /workspace/src/includes/api/ApiHelp.php:193
17:19:39 /workspace/src/includes/api/ApiFormatBase.php:278
17:19:39 /workspace/src/tests/phpunit/includes/api/format/ApiFormatBaseTest.php:394
17:19:39 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:39 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:39 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:39 [localisation] [debug] LocalisationCache::isExpired(qqx): cache missing, need to make one []
17:19:39 ===
17:19:39 
17:19:39 5) ApiFormatBaseTest::testGeneralEncoding with data set "HTML format" (array(), '<pre class="api-pretty-conten...</pre>', array(), array('mockfm'))
17:19:39 Function libxml_disable_entity_loader() is deprecated
17:19:39 
17:19:39 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:39 /workspace/src/includes/api/ApiHelp.php:193
17:19:39 /workspace/src/includes/api/ApiFormatBase.php:278
17:19:39 /workspace/src/tests/phpunit/includes/api/format/ApiFormatTestBase.php:68
17:19:39 /workspace/src/tests/phpunit/includes/api/format/ApiFormatBaseTest.php:68
17:19:39 /workspace/src/tests/phpunit/includes/api/format/ApiFormatTestBase.php:97
17:19:39 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:39 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:39 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:39 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:39 [objectcache] [debug] fetchOrRegenerate(wikidb-unittest_:interwiki:mw): miss, new value computed []
17:19:39 ===
17:19:39 
17:19:39 6) ApiFormatBaseTest::testGeneralEncoding with data set "HTML format, with set status" (array(), '<pre class="api-pretty-conten...</pre>', array(), array('mockfm', 400))
17:19:39 Function libxml_disable_entity_loader() is deprecated
17:19:39 
17:19:39 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:39 /workspace/src/includes/api/ApiHelp.php:193
17:19:39 /workspace/src/includes/api/ApiFormatBase.php:278
17:19:39 /workspace/src/tests/phpunit/includes/api/format/ApiFormatTestBase.php:68
17:19:39 /workspace/src/tests/phpunit/includes/api/format/ApiFormatBaseTest.php:68
17:19:39 /workspace/src/tests/phpunit/includes/api/format/ApiFormatTestBase.php:97
17:19:39 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:39 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:39 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:39 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:39 ===
17:19:39 
17:19:39 7) WikitextStructureTest::testTexts
17:19:39 Function libxml_disable_entity_loader() is deprecated
17:19:39 
17:19:39 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:39 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:150
17:19:39 /workspace/src/includes/content/WikiTextStructure.php:206
17:19:39 /workspace/src/includes/content/WikiTextStructure.php:164
17:19:39 /workspace/src/includes/content/WikiTextStructure.php:223
17:19:39 /workspace/src/tests/phpunit/includes/content/WikitextStructureTest.php:104
17:19:39 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:39 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:39 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:39 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:39 [GlobalTitleFail] [info] RequestContext::getTitle called with no title set. {"exception":{}}
17:19:39 [GlobalTitleFail] [info] RequestContext::getTitle called with no title set. {"exception":{}}
17:19:39 [GlobalTitleFail] [info] RequestContext::getTitle called with no title set. {"exception":{}}
17:19:39 [GlobalTitleFail] [info] RequestContext::getTitle called with no title set. {"exception":{}}
17:19:39 [GlobalTitleFail] [info] RequestContext::getTitle called with no title set. {"exception":{}}
17:19:39 [GlobalTitleFail] [info] RequestContext::getTitle called with no title set. {"exception":{}}
17:19:39 ===
17:19:39 
17:19:39 8) WikitextStructureTest::testPreservesWordSpacing
17:19:39 Function libxml_disable_entity_loader() is deprecated
17:19:39 
17:19:39 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:78
17:19:39 /workspace/src/vendor/wikimedia/html-formatter/src/HtmlFormatter.php:150
17:19:39 /workspace/src/includes/content/WikiTextStructure.php:170
17:19:39 /workspace/src/includes/content/WikiTextStructure.php:232
17:19:39 /workspace/src/tests/phpunit/includes/content/WikitextStructureTest.php:114
17:19:39 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:39 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:39 [MessageCache] [debug] MessageCache using store {class} {"class":"HashBagOStuff"}
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [localisation] [debug] LocalisationCache::isExpired(en): cache missing, need to make one []
17:19:39 [wfDebug] [debug] ParserFactory: using default preprocessor {"private":false}
17:19:39 ===
17:19:39 
17:19:39 --
17:19:39 
17:19:39 There were 10 failures:
17:19:39 
17:19:39 1) FileTest::testCanAnimateThumbIfAppropriate with data set #8 ('Soccer_ball_animated.svg', false)
17:19:39 Failed asserting that false matches expected true.
17:19:39 
17:19:39 /workspace/src/tests/phpunit/includes/filerepo/file/FileTest.php:14
17:19:39 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [localisation] [debug] LocalisationCache using store LCStoreNull []
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 [Mime] [info] MimeAnalyzer::guessMimeType: WARNING: use of the $ext parameter is deprecated. Use improveTypeFromExtension($mime, $ext) instead.
17:19:39  []
17:19:39 [Mime] [info] MimeAnalyzer::doGuessMimeType: analyzing head and tail of /workspace/src/tests/phpunit/includes/media/../../data/media/Soccer_ball_animated.svg for magic numbers.
17:19:39  []
17:19:39 [Mime] [info] MimeAnalyzer::guessMimeType: guessed mime type of /workspace/src/tests/phpunit/includes/media/../../data/media/Soccer_ball_animated.svg: image/svg+xml
17:19:39  []
17:19:39 [wfDebug] [debug] SvgHandler::getMetadata: Function libxml_disable_entity_loader() is deprecated {"private":false}
17:19:39 [wfDebug] [debug] wfRecursiveRemoveDir( /tmp/MW_PHPUnit_FileTest_A4yfi1 ) {"private":false}
17:19:39 ===
17:19:39 
17:19:39 2) DatabaseSQLTest::testUpdateEmptyCondition with data set #0 (array('table', array('text', 'text2'), null))
17:19:39 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:39 
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [deprecated] [info] Use of Wikimedia\Rdbms\Database::update called with empty $conds was deprecated in MediaWiki 1.35. [Called from DatabaseSQLTest::testUpdateEmptyCondition in /workspace/src/tests/phpunit/includes/libs/rdbms/database/DatabaseSQLTest.php at line 524] {"private":false}
17:19:39 ===
17:19:39 
17:19:39 3) DatabaseSQLTest::testUpdateEmptyCondition with data set #1 (array('table', array('field = other', 'text2'), array()))
17:19:39 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:39 
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [deprecated] [info] Use of Wikimedia\Rdbms\Database::update called with empty $conds was deprecated in MediaWiki 1.35. [Called from DatabaseSQLTest::testUpdateEmptyCondition in /workspace/src/tests/phpunit/includes/libs/rdbms/database/DatabaseSQLTest.php at line 524] {"private":false}
17:19:39 ===
17:19:39 
17:19:39 4) DatabaseSQLTest::testUpdateEmptyCondition with data set #2 (array('table', array('field = other', 'text2'), ''))
17:19:39 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:39 
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [deprecated] [info] Use of Wikimedia\Rdbms\Database::update called with empty $conds was deprecated in MediaWiki 1.35. [Called from DatabaseSQLTest::testUpdateEmptyCondition in /workspace/src/tests/phpunit/includes/libs/rdbms/database/DatabaseSQLTest.php at line 524] {"private":false}
17:19:39 ===
17:19:39 
17:19:39 5) ExtensionRegistryTest::testReadFromQueue_nonexistent
17:19:39 Failed asserting that Exception Object &0000000011c5c981000000000bcbb3e0 (
17:19:39     'message' => 'Unable to read /workspace/src/tests/phpunit/includes/registration/doesnotexist.json, does it exist?'
17:19:39     'string' => ''
17:19:39     'code' => 0
17:19:39     'file' => '/workspace/src/includes/registration/ExtensionRegistry.php'
17:19:39     'line' => 345
17:19:39     'previous' => null
17:19:39 ) exception of type "PHPUnit\Framework\Error\Error" or exception of type "Error".
17:19:39 
17:19:39 /workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:446
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [objectcache] [debug] MainWANObjectCache using store {class} {"class":"EmptyBagOStuff"}
17:19:39 ===
17:19:39 
17:19:39 6) MediaWiki\HookContainer\HookContainerTest::testEmitDeprecationWarnings
17:19:39 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:39 
17:19:39 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:110
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [deprecated] [info] Hook FooActionComplete was deprecated in MediaWiki 1.35 but is registered in fake-extension.json {"private":false}
17:19:39 ===
17:19:39 
17:19:39 7) DeprecatablePropertyArrayTest::testDeprecationWarning with data set "get" (Closure Object (...), 'TEST get 'test_property'')
17:19:39 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:39 
17:19:39 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:110
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [deprecated] [info] Use of TEST get 'test_property' was deprecated in MediaWiki DEPRECATED_VERSION. [Called from DeprecatablePropertyArrayTest::{closure} in /workspace/src/tests/phpunit/unit/includes/debug/DeprecatablePropertyArrayTest.php at line 40] {"private":false}
17:19:39 ===
17:19:39 
17:19:39 8) DeprecatablePropertyArrayTest::testDeprecationWarning with data set "get, callback" (Closure Object (...), 'TEST get 'callback'')
17:19:39 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:39 
17:19:39 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:110
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [deprecated] [info] Use of TEST get 'callback' was deprecated in MediaWiki DEPRECATED_VERSION. [Called from DeprecatablePropertyArrayTest::{closure} in /workspace/src/tests/phpunit/unit/includes/debug/DeprecatablePropertyArrayTest.php at line 46] {"private":false}
17:19:39 ===
17:19:39 
17:19:39 9) DeprecatablePropertyArrayTest::testDeprecationWarning with data set "exists" (Closure Object (...), 'TEST exists 'test_property'')
17:19:39 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:39 
17:19:39 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:110
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [deprecated] [info] Use of TEST exists 'test_property' was deprecated in MediaWiki DEPRECATED_VERSION. [Called from DeprecatablePropertyArrayTest::{closure} in /workspace/src/tests/phpunit/unit/includes/debug/DeprecatablePropertyArrayTest.php at line 52] {"private":false}
17:19:39 ===
17:19:39 
17:19:39 10) DeprecatablePropertyArrayTest::testDeprecationWarning with data set "unset" (Closure Object (...), 'TEST unset 'test_property'')
17:19:39 Failed asserting that exception of type "PHPUnit\Framework\Error\Deprecated" is thrown.
17:19:39 
17:19:39 /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:110
17:19:39 /workspace/src/tests/phpunit/phpunit.php:75
17:19:39 /workspace/src/maintenance/doMaintenance.php:107
17:19:39 /workspace/src/tests/phpunit/phpunit.php:134
17:19:39 === Logs generated by test case
17:19:39 [deprecated] [info] Use of TEST unset 'test_property' was deprecated in MediaWiki DEPRECATED_VERSION. [Called from DeprecatablePropertyArrayTest::{closure} in /workspace/src/tests/phpunit/unit/includes/debug/DeprecatablePropertyArrayTest.php at line 58] {"private":false}
17:19:39 ===
17:19:39 
17:19:39 ERRORS!
17:19:39 Tests: 18502, Assertions: 64634, Errors: 8, Failures: 10, Skipped: 28, Incomplete: 1.

Thanks for the info! Was not aware that master is not there yet either.

just wanted to report that i've had my Mediawiki 1.37.1 installation running on Debian Unstable's PHP 8.1.2 for about a week now, and seen zero problems. this has included search, editing, and creating new pages. looking good!

just wanted to report that i've had my Mediawiki 1.37.1 installation running on Debian Unstable's PHP 8.1.2 for about a week now, and seen zero problems. this has included search, editing, and creating new pages. looking good!

I think most of the more recent fixes are potential logspam (for upcoming deprecations)... Most things should work fine otherwise

just wanted to report that i've had my Mediawiki 1.37.1 installation running on Debian Unstable's PHP 8.1.2 for about a week now, and seen zero problems. this has included search, editing, and creating new pages. looking good!

I think most of the more recent fixes are potential logspam (for upcoming deprecations)... Most things should work fine otherwise

Hello,

For us persists a problem on the wf19 when searching with a ": ".
For example "Fallout: " :

[baf8af3c0dc979cc96acd2d3] /index.php?search=Fallout+%3A+&title=Sp%C3%A9cial%3ARecherche&wprov=acrw1&ns0=1&ns1=1&ns2=1&ns3=1&ns4=1&ns5=1&ns6=1&ns7=1&ns8=1&ns9=1&ns10=1&ns11=1&ns12=1&ns13=1&ns14=1&ns15=1&ns274=1&ns275=1&ns710=1&ns711=1&ns828=1&ns829=1&ns2300=1&ns2301=1&ns2302=1&ns2303=1&ns3000=1&ns3001=1 ParseError: syntax error, unexpected token "match"

Backtrace:

from /extensions/Elastica/vendor/ruflin/elastica/lib/Elastica/Query/MatchQuery.php(10)
#0 /vendor/composer/ClassLoader.php(322): Composer\Autoload\includeFile()
#1 /extensions/CirrusSearch/includes/MetaStore/MetaNamespaceStore.php(95): Composer\Autoload\ClassLoader->loadClass()
#2 /extensions/CirrusSearch/includes/MetaStore/MetaNamespaceStore.php(79): CirrusSearch\MetaStore\MetaNamespaceStore->queryFilter()
#3 /extensions/CirrusSearch/includes/Searcher.php(469): CirrusSearch\MetaStore\MetaNamespaceStore->find()
#4 /extensions/CirrusSearch/includes/Util.php(125): CirrusSearch\Searcher->CirrusSearch\{closure}()
#5 /includes/poolcounter/PoolCounterWorkViaCallback.php(74): CirrusSearch\Util::CirrusSearch\{closure}()
#6 /includes/poolcounter/PoolCounterWork.php(162): PoolCounterWorkViaCallback->doWork()
#7 /extensions/CirrusSearch/includes/Util.php(183): PoolCounterWork->execute()
#8 /extensions/CirrusSearch/includes/Searcher.php(475): CirrusSearch\Util::doPoolCounterWork()
#9 /extensions/CirrusSearch/includes/Searcher.php(701): CirrusSearch\Searcher->findNamespace()
#10 /extensions/CirrusSearch/includes/Hooks.php(544): CirrusSearch\Searcher->updateNamespacesFromQuery()
#11 /includes/HookContainer/HookContainer.php(338): CirrusSearch\Hooks::onSearchGetNearMatch()
#12 /includes/HookContainer/HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook()
#13 /includes/HookContainer/HookRunner.php(3234): MediaWiki\HookContainer\HookContainer->run()
#14 /includes/search/SearchNearMatcher.php(168): MediaWiki\HookContainer\HookRunner->onSearchGetNearMatch()
#15 /includes/search/SearchNearMatcher.php(70): SearchNearMatcher->getNearMatchInternal()
#16 /includes/specials/SpecialSearch.php(341): SearchNearMatcher->getNearMatch()
#17 /includes/specials/SpecialSearch.php(200): SpecialSearch->goResult()
#18 /includes/specialpage/SpecialPage.php(671): SpecialSearch->execute()
#19 /includes/specialpage/SpecialPageFactory.php(1378): SpecialPage->run()
#20 /includes/MediaWiki.php(314): MediaWiki\SpecialPage\SpecialPageFactory->executePath()
#21 /includes/MediaWiki.php(903): MediaWiki->performRequest()
#22 /includes/MediaWiki.php(563): MediaWiki->main()
#23 /index.php(53): MediaWiki->run()
#24 /index.php(46): wfIndexMain()
#25 {main}

fallout-wiki.com

Hi and welcome @Falloutgen, please bring this up on https://www.mediawiki.org/wiki/Project:Support_desk (or in a separate ticket, if you know for sure this is related to PHP 8.1). Thanks!

I think this is at least related to T267524.

I think this is at least related to T267524.

Wrong task. T268861: CirrusSearch uses Elastica's Match class and it's tree is probably better. And has people reporting similar issues. The report isn't related to MW core, it's related to CirrusSearch and libraries.

I've no idea what wf19 is.

Hello,

I would say that the problem is related to this task, Elastica does not update its dependencies automatically with compose in the MediaWiki source folder:

https://phabricator.wikimedia.org/T173141

I think this is at least related to T267524.

I've no idea what wf19 is.

Sorry, mediawiki wmf 19 :)

Kims

I would say that the problem is related to this task, Elastica does not update its dependencies automatically with compose in the MediaWiki source folder:

https://phabricator.wikimedia.org/T173141

And that's not a PHP 8 specific issue either.

I can confirm that MediaWiki 1.37.1 has been runing on PHP 8.0 without issues. Some extension dependencies needed to be updated using composer.

I can confirm that MediaWiki 1.37.1 has been runing on PHP 8.0 without issues. Some extension dependencies needed to be updated using composer.

Most of the recent fixes have been targetted towards logspam more than anything.

But good to know!

What about PHP 8.1 for MediaWiki 38? Can we expect it to work as well as MW 37 on PHP 8.0?

What about PHP 8.1 for MediaWiki 38? Can we expect it to work as well as MW 37 on PHP 8.0?

8.1 is not a major release and does not seem to have any breaking changes compared to 8.0.

PHP makes limited breaking changes in minor releases. I already updated two MediaWiki extensions to avoid issues on PHP 8.1.

See also: MediaWiki PHP support history https://www.mediawiki.org/wiki/Compatibility#PHP

What about PHP 8.1 for MediaWiki 38? Can we expect it to work as well as MW 37 on PHP 8.0?

I’m trying to backport 8.1 fixes and such when we make them

I think it mostly works. See the php 8.1 tag and workboard. There is at least one issue that’s waiting on an upstream release of a fix. Somewhat out of our control

Bugs running on 8.1 are definitely accepted. But most of the log spam has been addressed I think

I’m on my phone, so can’t easily link the board..