Page MenuHomePhabricator

Error: Cannot use object of type ContentTranslation\DTO\TranslationUnitDTO as array
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   Error: Cannot use object of type ContentTranslation\DTO\TranslationUnitDTO as array
exception.trace
from /srv/mediawiki/php-1.40.0-wmf.17/extensions/ContentTranslation/includes/CorporaLookup.php(87)
#0 /srv/mediawiki/php-1.40.0-wmf.17/extensions/ContentTranslation/includes/CorporaLookup.php(51): ContentTranslation\CorporaLookup::format(Wikimedia\Rdbms\MysqliResultWrapper)
#1 /srv/mediawiki/php-1.40.0-wmf.17/extensions/ContentTranslation/includes/ActionApi/ApiQueryContentTranslation.php(113): ContentTranslation\CorporaLookup->getByTranslationId(integer)
#2 /srv/mediawiki/php-1.40.0-wmf.17/extensions/ContentTranslation/includes/ActionApi/ApiQueryContentTranslation.php(56): ContentTranslation\ActionApi\ApiQueryContentTranslation->run()
#3 /srv/mediawiki/php-1.40.0-wmf.17/includes/api/ApiQuery.php(677): ContentTranslation\ActionApi\ApiQueryContentTranslation->execute()
#4 /srv/mediawiki/php-1.40.0-wmf.17/includes/api/ApiMain.php(1901): ApiQuery->execute()
#5 /srv/mediawiki/php-1.40.0-wmf.17/includes/api/ApiMain.php(878): ApiMain->executeAction()
#6 /srv/mediawiki/php-1.40.0-wmf.17/includes/api/ApiMain.php(849): ApiMain->executeActionWithErrorHandling()
#7 /srv/mediawiki/php-1.40.0-wmf.17/api.php(90): ApiMain->execute()
#8 /srv/mediawiki/php-1.40.0-wmf.17/api.php(45): wfApiMain()
#9 /srv/mediawiki/w/api.php(3): require(string)
#10 {main}
Impact
Notes

Seems to have been caused by https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ContentTranslation/+/865034.

Event Timeline

Change 876798 had a related patch set uploaded (by Nik Gkountas; author: Nik Gkountas):

[mediawiki/extensions/ContentTranslation@master] CX: Fix usage of categories translation unit as array

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

Change 877105 had a related patch set uploaded (by Nik Gkountas; author: Nik Gkountas):

[mediawiki/extensions/ContentTranslation@master] CX: Fix usage of categories translation unit as array

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

Change 877107 had a related patch set uploaded (by Nik Gkountas; author: Nik Gkountas):

[mediawiki/extensions/ContentTranslation@master] CX: Fix transformation of TranslationUnitDTO to custom array

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

Change 877105 abandoned by Nik Gkountas:

[mediawiki/extensions/ContentTranslation@master] CX: Fix usage of categories translation unit as array

Reason:

Duplicate of Iec3473ebf41e63c7b0fbd023a5289d69987322bd

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

Change 877138 had a related patch set uploaded (by KartikMistry; author: Nik Gkountas):

[mediawiki/extensions/ContentTranslation@wmf/1.40.0-wmf.17] CX: Fix usage of categories translation unit as array

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

Change 876798 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] CX: Fix usage of categories translation unit as array

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

Change 877107 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@master] CX: Fix transformation of TranslationUnitDTO to custom array

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

Change 877219 had a related patch set uploaded (by KartikMistry; author: Nik Gkountas):

[mediawiki/extensions/ContentTranslation@wmf/1.40.0-wmf.17] CX: Fix transformation of TranslationUnitDTO to custom array

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

Change 877138 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@wmf/1.40.0-wmf.17] CX: Fix usage of categories translation unit as array

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

Mentioned in SAL (#wikimedia-operations) [2023-01-10T08:37:07Z] <kartik@deploy1002> Started scap: Backport for [[gerrit:877138|CX: Fix usage of categories translation unit as array (T326278)]]

Mentioned in SAL (#wikimedia-operations) [2023-01-10T08:38:56Z] <kartik@deploy1002> kartik and kartik: Backport for [[gerrit:877138|CX: Fix usage of categories translation unit as array (T326278)]] synced to the testservers: mwdebug2002.codfw.wmnet, mwdebug1002.eqiad.wmnet, mwdebug1001.eqiad.wmnet, mwdebug2001.codfw.wmnet

Mentioned in SAL (#wikimedia-operations) [2023-01-10T08:49:15Z] <kartik@deploy1002> Finished scap: Backport for [[gerrit:877138|CX: Fix usage of categories translation unit as array (T326278)]] (duration: 12m 08s)

Change 877223 had a related patch set uploaded (by KartikMistry; author: Nik Gkountas):

[mediawiki/extensions/ContentTranslation@wmf/1.40.0-wmf.18] CX: Fix transformation of TranslationUnitDTO to custom array

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

Change 877219 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@wmf/1.40.0-wmf.17] CX: Fix transformation of TranslationUnitDTO to custom array

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

Mentioned in SAL (#wikimedia-operations) [2023-01-10T09:05:32Z] <kartik@deploy1002> Started scap: Backport for [[gerrit:877219|CX: Fix transformation of TranslationUnitDTO to custom array (T326278)]]

Mentioned in SAL (#wikimedia-operations) [2023-01-10T09:07:17Z] <kartik@deploy1002> kartik and kartik: Backport for [[gerrit:877219|CX: Fix transformation of TranslationUnitDTO to custom array (T326278)]] synced to the testservers: mwdebug1002.eqiad.wmnet, mwdebug2001.codfw.wmnet, mwdebug1001.eqiad.wmnet, mwdebug2002.codfw.wmnet

Mentioned in SAL (#wikimedia-operations) [2023-01-10T09:14:52Z] <kartik@deploy1002> Finished scap: Backport for [[gerrit:877219|CX: Fix transformation of TranslationUnitDTO to custom array (T326278)]] (duration: 09m 20s)

The weekly content translation dumps were also impacted by this, sample stack trace:

[e2d5d9d71060942e3def717f] [no req]   Error: Cannot use object of type ContentTranslation\DTO\TranslationUnitDTO as array
Backtrace:
from /srv/mediawiki/php-1.40.0-wmf.17/extensions/ContentTranslation/includes/CorporaLookup.php(87)
#0 /srv/mediawiki/php-1.40.0-wmf.17/extensions/ContentTranslation/includes/CorporaLookup.php(51): ContentTranslation\CorporaLookup::format(Wikimedia\Rdbms\MysqliResultWrapper)
#1 /srv/mediawiki/php-1.40.0-wmf.17/extensions/ContentTranslation/scripts/dump-corpora.php(140): ContentTranslation\CorporaLookup->getByTranslationId(integer)
#2 /srv/mediawiki/php-1.40.0-wmf.17/maintenance/includes/MaintenanceRunner.php(496): CXCorporaDump->execute()
#3 /srv/mediawiki/php-1.40.0-wmf.17/maintenance/doMaintenance.php(85): MediaWiki\Maintenance\MaintenanceRunner->run()
#4 /srv/mediawiki/php-1.40.0-wmf.17/extensions/ContentTranslation/scripts/dump-corpora.php(316): require_once(string)
#5 /srv/mediawiki/multiversion/MWScript.php(120): require_once(string)
#6 {main}

I expect if the merged fix takes care of the reported issue, it will fix this as well.

I expect if the merged fix takes care of the reported issue, it will fix this as well.

Yes. I have planned to backport deployment in wmf.18 too.

Change 877223 merged by jenkins-bot:

[mediawiki/extensions/ContentTranslation@wmf/1.40.0-wmf.18] CX: Fix transformation of TranslationUnitDTO to custom array

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

Mentioned in SAL (#wikimedia-operations) [2023-01-11T08:19:59Z] <kartik@deploy1002> Started scap: Backport for [[gerrit:877223|CX: Fix transformation of TranslationUnitDTO to custom array (T326278)]]

Mentioned in SAL (#wikimedia-operations) [2023-01-11T08:21:48Z] <kartik@deploy1002> kartik and kartik: Backport for [[gerrit:877223|CX: Fix transformation of TranslationUnitDTO to custom array (T326278)]] synced to the testservers: mwdebug1001.eqiad.wmnet, mwdebug2001.codfw.wmnet, mwdebug1002.eqiad.wmnet, mwdebug2002.codfw.wmnet

Mentioned in SAL (#wikimedia-operations) [2023-01-11T08:31:44Z] <kartik@deploy1002> Finished scap: Backport for [[gerrit:877223|CX: Fix transformation of TranslationUnitDTO to custom array (T326278)]] (duration: 11m 45s)

TEST Status: QA PASS

Able to complete a translation en -> ig without any issues and not able to reproduce the above error

Just noting that we haven't seen this error for the last two weeks so it looks like the issue is resolved for us (Content Translation dumps) as well.