Page MenuHomePhabricator

TranslateUtils.php: Call to a member function getContent() on null
Closed, ResolvedPublic

Description

This happened when marking a message as rename. Will need to review why this happens and a fix.

Details

Request ID
5c90fb546cd56a71d47b08bc
Stack Trace
#0 /srv/mediawiki/tags/2019-11-14_16:36:48/extensions/Translate/api/ApiManageMessageGroups.php(147): TranslateUtils::getContentForTitle(Object(Title), true)
#1 /srv/mediawiki/tags/2019-11-14_16:36:48/extensions/Translate/api/ApiManageMessageGroups.php(66): ApiManageMessageGroups->handleRename(Object(FileBasedMessageGroup), Object(MediaWiki\\Extensions\\Translate\\MessageSync\\MessageSourceChange), 'wikipedia-libra...', 'wikipedia-libra...', 'en')
#2 /srv/mediawiki/tags/2019-11-14_16:36:48/includes/api/ApiMain.php(1603): ApiManageMessageGroups->execute()
#3 /srv/mediawiki/tags/2019-11-14_16:36:48/includes/api/ApiMain.php(539): ApiMain->executeAction()
#4 /srv/mediawiki/tags/2019-11-14_16:36:48/includes/api/ApiMain.php(510): ApiMain->executeActionWithErrorHandling()
#5 /srv/mediawiki/tags/2019-11-14_16:36:48/api.php(83): ApiMain->execute()
#6 {main}
","exception_id":"5c90fb546cd56a71d47b08bc","exception_url":"/w/api.php","caught_by":"mwe_handler"} []

Event Timeline

abi_ created this task.Nov 18 2019, 6:53 AM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptNov 18 2019, 6:53 AM
abi_ added a comment.Dec 12 2019, 12:05 PM

This happened again today while matching renames for Dissemin website

abi_ added a comment.EditedDec 12 2019, 12:58 PM

Sample request payloads where this is happening,

action=managemessagegroups&format=json&groupId=dissemin-website&
renameMessageKey=27daef-Or_enter_an_URL%3A&          <<
messageKey=ba70cc-Or_enter_a_URL%3A                  <<
&operation=rename&changesetModified=1576154136&assert=user&formatversion=2&changesetName=unattended
action=managemessagegroups&format=json&groupId=dissemin-website&
renameMessageKey=bf372d-No_publisher_found%2E&     <<
messageKey=88258e-No_publishers_found&             <<
operation=rename&changesetModified=1576155059&assert=user&formatversion=2&changesetName=unattended
action=managemessagegroups&format=json&groupId=dissemin-website&
renameMessageKey=3cf64c-Fix_any_of_our_listed_%3D3Ca_href%3D3D&
messageKey=252960-Fix_any_of_our_listed_%3D3Ca_href%3D3D&
operation=rename&changesetModified=1576155678&assert=user&formatversion=2&changesetName=unattended
action=managemessagegroups&format=json&groupId=dissemin-website&
renameMessageKey=399166-Contribute_to_%3D3Ca_href%3D3D%22https%3A%2F&messageKey=673078-Contribute_to_%3D3Ca_href%3D3D%22https%3A%2F&
operation=rename&changesetModified=1576156470&assert=user&formatversion=2&changesetName=unattended

Rename key: 399166-Contribute to =3Ca href=3D"https://en
Message key: 673078-Contribute to =3Ca href=3D"https://en

action=managemessagegroups&format=json&groupId=dissemin-website&renameMessageKey=3cf64c-Fix_any_of_our_listed_%3D3Ca_href%3D3D&
messageKey=252960-Fix_any_of_our_listed_%3D3Ca_href%3D3D&
operation=rename&changesetModified=1576156470&assert=user&formatversion=2&changesetName=unattended

Rename key: 3cf64c-Fix any of our listed =3Ca href=3D/en
Message key: 252960-Fix any of our listed =3Ca href=3D/en

action=managemessagegroups&format=json&groupId=dissemin-website&renameMessageKey=7565f0-%3D3Cspan_class%3D3D%22paperDocType%22%3D3E%3D25(d&
messageKey=ece3c1-%3D25(doctype)s_published_in_%3D25(yea&
operation=rename&changesetModified=1576157380&assert=user&formatversion=2&changesetName=unattended

Rename key: 7565f0-=3Cspan class=3D"paperDocType"=3E=25(d/en
Message key: ece3c1-=25(doctype)s published in =25(yea/en


One of my possible suspicions is with respect to titles that have punctuation in them, they are stored in DB differently, but the request from the UI is different.

Change 571002 had a related patch set uploaded (by Abijeet Patro; owner: Abijeet Patro):
[mediawiki/extensions/Translate@master] Add error handler and logging for ApiManageMessageGroups::execute

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

abi_ claimed this task.Feb 13 2020, 5:44 AM
abi_ triaged this task as Medium priority.
abi_ moved this task from Backlog to group management on the MediaWiki-extensions-Translate board.

Change 571002 merged by jenkins-bot:
[mediawiki/extensions/Translate@master] Handle error thrown when fetching content for unavailable message

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

abi_ added a comment.Mar 2 2020, 4:47 AM

Since there is no accurate way to reproduce this, we'll have to keep this open for sometime and observe the behavior when renames are present in incoming messages.

abi_ closed this task as Resolved.Mar 23 2020, 11:15 AM

Since this was fixed, we've done a few renames, and did not encounter this issue. Marking this as resolved.