Page MenuHomePhabricator

MT processing error: TypeError: key.trim is not a function
Closed, ResolvedPublic

Description

Observed in cxserver Production log. Looks like coming from commit e9b63e2.

MT processing error: TypeError: key.trim is not a function
    at match.some (/srv/deployment/cxserver/deploy-cache/revs/b30a323cebea00479b63e6ee07d882f101efe667/src/lib/adaptation/TemplateParameterMapper.js:91:30)
    at Array.some (native)
    at TemplateParameterMapper.getParameterMap (/srv/deployment/cxserver/deploy-cache/revs/b30a323cebea00479b63e6ee07d882f101efe667/src/lib/adaptation/TemplateParameterMapper.js:90:46)
    at TemplateParameterMapper.getAdaptedParameters (/srv/deployment/cxserver/deploy-cache/revs/b30a323cebea00479b63e6ee07d882f101efe667/src/lib/adaptation/TemplateParameterMapper.js:16:29)
    at TemplateTransclusion.<anonymous> (/srv/deployment/cxserver/deploy-cache/revs/b30a323cebea00479b63e6ee07d882f101efe667/src/lib/adaptation/TemplateTransclusion.js:57:50)
    at next (native)
    at resume (/srv/deployment/cxserver/deploy-cache/revs/b30a323cebea00479b63e6ee07d882f101efe667/src/lib/util.js:277:21)
    at resumeNext (/srv/deployment/cxserver/deploy-cache/revs/b30a323cebea00479b63e6ee07d882f101efe667/src/lib/util.js:287:30)

Event Timeline

This likely breaks translation of paragraphs containing certain kind of templates. Without content it is hard to say what is the issue.

How frequently are these happening: how many times per day?

How frequently are these happening: how many times per day?

4 occurrence in last 2 days so far.

I double checked with more general query and found that the error has changed slightly:

MT processing error for: en > fr. TypeError: key.trim is not a function
    at match.some (/srv/service/lib/adaptation/TemplateParameterMapper.js:99:32)
    at Array.some (<anonymous>)
    at TemplateParameterMapper.getParameterMap (/srv/service/lib/adaptation/TemplateParameterMapper.js:98:48)
    at TemplateParameterMapper.getAdaptedParameters (/srv/service/lib/adaptation/TemplateParameterMapper.js:17:29)
    at TemplateTransclusion.adapt (/srv/service/lib/adaptation/TemplateTransclusion.js:77:52)

It is infrequent, only 18 instances in last 60 days.

Still seen consistently several times a week, and for multiple language/wiki combinations, so while rare it's not a single or unlikely isolated issue that repeats itself. The code involved seems to have very specific expectations around an array holding only strings over many layers of abstractions. My guess is that this expectation fails tohold up under certain Template wikitext input that users can create, possibly unintentionally. If so, that would mean there's a bug somewhere in the CX JS code where it fails to normalised or reject part of that input, or maybe one of the callbacks is returning undefined instead of a string.

Some increased logging could help narrow down the cause. RIght now it's pretty slim in terms of detail. E.g. knowing the source page, revision, or template name could help.

msg:
    MT processing error for: es > ca. TypeError: key.trim is not a function
    at match.some (/srv/service/lib/adaptation/TemplateParameterMapper.js:100:11)
    at Array.some (<anonymous>)
    at TemplateParameterMapper.getParameterMap (/srv/service/lib/adaptation/TemplateParameterMapper.js:98:48)
    at TemplateParameterMapper.getAdaptedParameters (/srv/service/lib/adaptation/TemplateParameterMapper.js:17:29)
    at TemplateTransclusion.adapt (/srv/service/lib/adaptation/TemplateTransclusion.js:77:52)

kubernetes.host: kubernetes1001.eqiad.wmnet

Change 672585 had a related patch set uploaded (by Santhosh; owner: Santhosh):
[mediawiki/services/cxserver@master] Fix MT error: TypeError: key.trim is not a function

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

Change 672585 merged by jenkins-bot:
[mediawiki/services/cxserver@master] Fix MT error: TypeError: key.trim is not a function

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

Change 672386 had a related patch set uploaded (by KartikMistry; owner: KartikMistry):
[operations/deployment-charts@master] WIP: Update cxserver to 2021-03-15-131520-production

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

Change 672386 merged by jenkins-bot:
[operations/deployment-charts@master] Update cxserver to 2021-03-15-131520-production

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

Change 677557 had a related patch set uploaded (by KartikMistry; author: KartikMistry):

[operations/deployment-charts@master] Update cxserver to 2021-04-07-062518-production

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

Change 677557 merged by jenkins-bot:

[operations/deployment-charts@master] Update cxserver to 2021-04-07-062518-production

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