Page MenuHomePhabricator

PHP 8.5 CI failure in Wikibase: additional null-as-array-offset/key deprecations
Closed, ResolvedPublic

Description

T420260: PHP 8.5 CI failure in Wikibase: "Using null as an array offset is deprecated, use an empty string instead" didn't fix all of them.

Blocks: ArticlePlaceholder, EntitySchema, Math, MediaSearch, PropertySuggester, WikibaseCirrusSearch, WikibaseLexeme, WikibaseLexemeCirrusSearch, WikibaseManifest, WikibaseMediaInfo, WikibaseQualityConstraints, Wikidata.org, WikidataPageBanner, WikimediaBadges, Wikisource

00:02:30.749 There were 10 errors:
00:02:30.750 
00:02:30.750 1) Wikibase\DataModel\Services\Tests\EntityId\EntityIdComposerTest::testGivenInvalidFragment_buildFails with data set #0 (null, 1)
00:02:30.750 Using null as an array offset is deprecated, use an empty string instead
00:02:30.751 
00:02:30.751 /workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model-services/src/EntityId/EntityIdComposer.php:57
00:02:30.751 /workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model-services/tests/unit/EntityId/EntityIdComposerTest.php:94
00:02:30.752 
00:02:30.752 
00:02:30.753 2) Wikibase\DataModel\Tests\Term\AliasGroupListTest::testGivenInvalidLanguageCode_getByLanguageThrowsException with data set #0 (null)
00:02:30.753 Using null as the key parameter for array_key_exists() is deprecated, use an empty string instead
00:02:30.753 
00:02:30.754 /workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Term/AliasGroupList.php:79
00:02:30.754 /workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/tests/unit/Term/AliasGroupListTest.php:114
00:02:30.755 
00:02:30.755 
00:02:30.756 3) Wikibase\DataModel\Tests\Term\AliasGroupListTest::testGivenInvalidLanguageCode_hasGroupForLanguageReturnsFalse with data set #0 (null)
00:02:30.756 Using null as the key parameter for array_key_exists() is deprecated, use an empty string instead
00:02:30.756 
00:02:30.757 /workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Term/AliasGroupList.php:172
00:02:30.757 /workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/tests/unit/Term/AliasGroupListTest.php:271
00:02:30.757 
00:02:30.758 
00:02:30.758 4) Wikibase\DataModel\Tests\Term\TermListTest::testGivenInvalidLanguageCode_getByLanguageThrowsException with data set #0 (null)
00:02:30.759 Using null as the key parameter for array_key_exists() is deprecated, use an empty string instead
00:02:30.759 
00:02:30.760 /workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Term/TermList.php:74
00:02:30.760 /workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/tests/unit/Term/TermListTest.php:126
00:02:30.760 
00:02:30.761 
00:02:30.761 5) Wikibase\DataModel\Tests\Term\TermListTest::testGivenInvalidLanguageCode_hasTermForLanguageReturnsFalse with data set #0 (null)
00:02:30.761 Using null as the key parameter for array_key_exists() is deprecated, use an empty string instead
00:02:30.762 
00:02:30.762 /workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Term/TermList.php:105
00:02:30.762 /workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/tests/unit/Term/TermListTest.php:157
00:02:30.763 
00:02:30.763 
00:02:30.764 6) Wikibase\Lib\Tests\Formatters\DispatchingEntityIdHtmlLinkFormatterTest::testGivenFormatterMissing_UseDefaultFormatter
00:02:30.764 Using null as an array offset is deprecated, use an empty string instead
00:02:30.764 
00:02:30.765 /workspace/src/extensions/Wikibase/lib/includes/Formatters/DispatchingEntityIdHtmlLinkFormatter.php:45
00:02:30.765 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Formatters/DispatchingEntityIdHtmlLinkFormatterTest.php:35
00:02:30.766 
00:02:30.766 
00:02:30.766 7) Wikibase\Lib\Tests\Modules\CurrentSiteModuleTest::testGetScript_caching
00:02:30.767 Using null as an array offset is deprecated, use an empty string instead
00:02:30.767 
00:02:30.767 /workspace/src/includes/Site/HashSiteStore.php:36
00:02:30.768 /workspace/src/includes/Site/HashSiteStore.php:50
00:02:30.768 /workspace/src/includes/Site/HashSiteStore.php:25
00:02:30.769 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Modules/CurrentSiteModuleTest.php:188
00:02:30.769 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Modules/CurrentSiteModuleTest.php:98
00:02:30.770 
00:02:30.770 
00:02:30.770 8) Wikibase\Lib\Tests\Modules\CurrentSiteModuleTest::testSettings with data set "Repo only" (null, Wikibase\Lib\SettingsArray Object (...), 'wiki1')
00:02:30.771 Using null as an array offset is deprecated, use an empty string instead
00:02:30.771 
00:02:30.771 /workspace/src/includes/Site/HashSiteStore.php:36
00:02:30.772 /workspace/src/includes/Site/HashSiteStore.php:50
00:02:30.772 /workspace/src/includes/Site/HashSiteStore.php:25
00:02:30.773 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Modules/CurrentSiteModuleTest.php:124
00:02:30.773 
00:02:30.774 
00:02:30.774 9) Wikibase\Lib\Tests\Modules\CurrentSiteModuleTest::testSettings with data set "Client only" (Wikibase\Lib\SettingsArray Object (...), null, 'wiki2')
00:02:30.775 Using null as an array offset is deprecated, use an empty string instead
00:02:30.775 
00:02:30.776 /workspace/src/includes/Site/HashSiteStore.php:36
00:02:30.776 /workspace/src/includes/Site/HashSiteStore.php:50
00:02:30.776 /workspace/src/includes/Site/HashSiteStore.php:25
00:02:30.777 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Modules/CurrentSiteModuleTest.php:124
00:02:30.777 
00:02:30.778 
00:02:30.778 10) Wikibase\Lib\Tests\Modules\CurrentSiteModuleTest::testSettings with data set "Repo overrides Client" (Wikibase\Lib\SettingsArray Object (...), Wikibase\Lib\SettingsArray Object (...), 'wiki1')
00:02:30.779 Using null as an array offset is deprecated, use an empty string instead
00:02:30.779 
00:02:30.779 /workspace/src/includes/Site/HashSiteStore.php:36
00:02:30.780 /workspace/src/includes/Site/HashSiteStore.php:50
00:02:30.780 /workspace/src/includes/Site/HashSiteStore.php:25
00:02:30.781 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Modules/CurrentSiteModuleTest.php:124
00:02:30.781 
00:02:30.782 
00:02:30.782 --
00:02:30.782 
00:02:30.782 There was 1 failure:
00:02:30.784 
00:02:30.784 11) Wikibase\Lib\Tests\Modules\SitesModuleTest::testGetScript_caching
00:02:30.784 Using null as an array offset is deprecated, use an empty string instead
00:02:30.785 
00:02:30.785 /workspace/src/includes/Site/HashSiteStore.php:36
00:02:30.786 /workspace/src/includes/Site/HashSiteStore.php:50
00:02:30.786 /workspace/src/includes/Site/HashSiteStore.php:25
00:02:30.787 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Modules/SitesModuleTest.php:273
00:02:30.787 /workspace/src/extensions/Wikibase/lib/tests/phpunit/Modules/SitesModuleTest.php:122
00:02:30.788 
00:02:30.788 
00:02:30.788 Report from `split_group4`:
00:02:30.789 
00:02:30.789 There was 1 error:
00:02:30.790 
00:02:30.790 1) Wikibase\Repo\Tests\ParserOutput\DispatchingEntityViewFactoryTest::testUnknownEntityType
00:02:30.790 Using null as an array offset is deprecated, use an empty string instead
00:02:30.791 
00:02:30.791 /workspace/src/extensions/Wikibase/repo/includes/ParserOutput/DispatchingEntityViewFactory.php:52
00:02:30.792 /workspace/src/extensions/Wikibase/repo/tests/phpunit/includes/ParserOutput/DispatchingEntityViewFactoryTest.php:39
00:02:30.793 
00:02:30.793 --
00:02:30.793 
00:02:30.794 
00:02:30.794 --
00:02:30.794 
00:02:30.795 There was 1 failure:
00:02:30.795 
00:02:30.796 1) Wikibase\Repo\Tests\Domains\Reuse\Infrastructure\GraphQL\ItemQueryTest::testQuery with data set "statement with deleted property" ('{ item(id: "Q1") {\n				state...			} }', array(array(array(array(array(array('deleted value')))))))
00:02:30.796 Failed asserting that two arrays are equal.
00:02:30.796 --- Expected
00:02:30.797 +++ Actual
00:02:30.797 @@ @@
00:02:30.798          'item' => Array (
00:02:30.798              'statements' => Array (
00:02:30.799                  0 => Array (
00:02:30.799 -                    'value' => Array (...)
00:02:30.800 +                    'value' => null
00:02:30.800                  )
00:02:30.800              )
00:02:30.801          )
00:02:30.801      )
00:02:30.802 +    'errors' => Array (...)
00:02:30.803  )
00:02:30.803 
00:02:30.804 /workspace/src/extensions/Wikibase/repo/domains/reuse/tests/phpunit/Infrastructure/GraphQL/ItemQueryTest.php:86

Details

Related Changes in Gerrit:
SubjectRepoBranchLines +/-
mediawiki/extensions/Mathmaster+2 -2
mediawiki/extensions/Wikibasemaster+3 -2
mediawiki/extensions/Wikibasemaster+14 -27
mediawiki/extensions/Wikibasemaster+10 -2
mediawiki/extensions/Wikibasemaster+4 -7
mediawiki/extensions/Wikibasemaster+8 -4
mediawiki/extensions/Wikibasemaster+49 -143
mediawiki/extensions/Wikibasemaster+95 -103
mediawiki/extensions/WikibaseLexemeREL1_43+42 -2
mediawiki/extensions/WikibaseLexemeREL1_44+42 -2
mediawiki/extensions/WikibaseLexemeREL1_45+42 -2
mediawiki/extensions/Mathmaster+1 -1
mediawiki/extensions/WikibaseLexememaster+42 -2
mediawiki/extensions/Wikibasemaster+7 -2
mediawiki/extensions/Wikibasemaster+2 -2
mediawiki/extensions/Wikibasemaster+1 -1
mediawiki/extensions/Wikibasemaster+4 -4
mediawiki/coreREL1_45+17 -4
mediawiki/coreREL1_43+22 -4
mediawiki/coreREL1_44+22 -4
mediawiki/coremaster+17 -4
Show related patches Customize query in gerrit

Event Timeline

Change #1270537 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/core@master] HashSiteStore: Don't trigger PHP 8.5 warnings if the Site has no globalID

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

Change #1270543 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Wikibase@master] data-model: Avoid null in array_key_exists() for PHP 8.5

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

Change #1270544 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Wikibase@master] data-model-services: Avoid null array offset in EntityIdComposer for PHP 8.5

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

Change #1270545 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Wikibase@master] lib/repo: Avoid null array offset in dispatching factories for PHP 8.5

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

Change #1270546 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/Wikibase@master] GraphQL: Avoid null array offset in ValueType resolver for PHP 8.5

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

Jdforrester-WMF changed the task status from Open to In Progress.Apr 13 2026, 7:55 PM
Jdforrester-WMF claimed this task.
Jdforrester-WMF moved this task from Backlog to Wikimedia production on the PHP 8.5 support board.

Change #1270537 merged by jenkins-bot:

[mediawiki/core@master] HashSiteStore: Don't trigger PHP 8.5 warnings if the Site has no globalID

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

Change #1271087 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/core@REL1_45] HashSiteStore: Don't trigger PHP 8.5 warnings if the Site has no globalID

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

Change #1271089 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/core@REL1_44] HashSiteStore: Don't trigger PHP 8.5 warnings if the Site has no globalID

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

Change #1271090 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/core@REL1_43] HashSiteStore: Don't trigger PHP 8.5 warnings if the Site has no globalID

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

Change #1271087 merged by jenkins-bot:

[mediawiki/core@REL1_45] HashSiteStore: Don't trigger PHP 8.5 warnings if the Site has no globalID

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

Change #1271090 merged by jenkins-bot:

[mediawiki/core@REL1_43] HashSiteStore: Don't trigger PHP 8.5 warnings if the Site has no globalID

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

Change #1271089 merged by jenkins-bot:

[mediawiki/core@REL1_44] HashSiteStore: Don't trigger PHP 8.5 warnings if the Site has no globalID

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

Change #1273859 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/Wikibase@master] Use strict types for entity ID parsers

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

Change #1273860 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/Wikibase@master] Use strict types for TermList, AliasGroupList

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

Change #1275900 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/Math@master] Fix MathWikibaseConnectorTest

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

Change #1275902 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/WikibaseLexeme@master] FormIdDeserializer, SenseIdDeserializer: Check ID type

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

Change #1275957 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/Wikibase@master] Use strict types for EntityIdComposer

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

Change #1275958 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/Wikibase@master] Fix two mock entity (ID) types

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

Change #1275959 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/Wikibase@master] GQL: Check if property type is null in ValueType

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

Change #1275968 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/Wikibase@master] Use strict types for DispatchingEntityTypeStatementGrouper

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

Change #1270543 abandoned by Jforrester:

[mediawiki/extensions/Wikibase@master] data-model: Avoid null in array_key_exists() for PHP 8.5

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

Change #1270544 abandoned by Jforrester:

[mediawiki/extensions/Wikibase@master] data-model-services: Avoid null array offset in EntityIdComposer for PHP 8.5

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

Change #1270545 abandoned by Jforrester:

[mediawiki/extensions/Wikibase@master] lib/repo: Avoid null array offset in dispatching factories for PHP 8.5

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

Change #1270546 abandoned by Jforrester:

[mediawiki/extensions/Wikibase@master] GraphQL: Avoid null array offset in ValueType resolver for PHP 8.5

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

Change #1275902 merged by jenkins-bot:

[mediawiki/extensions/WikibaseLexeme@master] FormIdDeserializer, SenseIdDeserializer: Check ID type

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

Change #1275978 had a related patch set uploaded (by Neriah; author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/WikibaseLexeme@REL1_43] FormIdDeserializer, SenseIdDeserializer: Check ID type

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

Change #1275979 had a related patch set uploaded (by Neriah; author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/WikibaseLexeme@REL1_44] FormIdDeserializer, SenseIdDeserializer: Check ID type

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

Change #1275980 had a related patch set uploaded (by Neriah; author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/WikibaseLexeme@REL1_45] FormIdDeserializer, SenseIdDeserializer: Check ID type

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

Change #1275900 merged by jenkins-bot:

[mediawiki/extensions/Math@master] Fix MathWikibaseConnectorTest

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

Change #1275980 merged by jenkins-bot:

[mediawiki/extensions/WikibaseLexeme@REL1_45] FormIdDeserializer, SenseIdDeserializer: Check ID type

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

Change #1275979 merged by jenkins-bot:

[mediawiki/extensions/WikibaseLexeme@REL1_44] FormIdDeserializer, SenseIdDeserializer: Check ID type

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

Change #1275978 merged by jenkins-bot:

[mediawiki/extensions/WikibaseLexeme@REL1_43] FormIdDeserializer, SenseIdDeserializer: Check ID type

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

Change #1273859 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Use strict types for entity ID parsers

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

Change #1273860 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Use strict types for TermList, AliasGroupList

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

Change #1276393 had a related patch set uploaded (by Mahmoud-abdelsattar; author: Mahmoud-abdelsattar):

[mediawiki/extensions/Wikibase@master] Minor refactor the hardcoded values

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

Change #1276393 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Minor refactor the hardcoded values

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

Change #1275957 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Use strict types for EntityIdComposer

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

Change #1275958 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Fix two mock entity (ID) types

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

Change #1275959 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] GQL: Check if property type is null in ValueType

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

Change #1275968 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Use strict types for DispatchingEntityTypeStatementGrouper

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

Should be done, I think? If the check experimental php85 job passes, we’re good, right?

(Edit: php85 job passed in this experimental build.)

Should be done, I think? If the check experimental php85 job passes, we’re good, right?

(Edit: php85 job passed in this experimental build.)

Yes! Thank you so much.

Change #1276778 had a related patch set uploaded (by Umherirrender; author: Umherirrender):

[mediawiki/extensions/Math@master] Remove redundant null comparision in MathWikibaseConnector

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

Change #1276778 merged by jenkins-bot:

[mediawiki/extensions/Math@master] Remove redundant null comparision in MathWikibaseConnector

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