Page MenuHomePhabricator

TypeError: Argument 1 passed to MediaWiki\Linker\LinkRenderer::makeKnownLink() must implement interface MediaWiki\Linker\LinkTarget, null given, called in /srv/mediawiki/php-1.36.0-wmf.37/extensions/Wikibase/client/includes/Specials/SpecialUnconnectedPages.php on line 162
Closed, ResolvedPublic5 Estimated Story PointsPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   TypeError: Argument 1 passed to MediaWiki\Linker\LinkRenderer::makeKnownLink() must implement interface MediaWiki\Linker\LinkTarget, null given, called in /srv/mediawiki/php-1.36.0-wmf.37/extensions/Wikibase/client/includes/Spe
exception.trace
from /srv/mediawiki/php-1.36.0-wmf.37/includes/linker/LinkRenderer.php(225)
#0 /srv/mediawiki/php-1.36.0-wmf.37/extensions/Wikibase/client/includes/Specials/SpecialUnconnectedPages.php(162): MediaWiki\Linker\LinkRenderer->makeKnownLink(NULL)
#1 /srv/mediawiki/php-1.36.0-wmf.37/includes/specialpage/QueryPage.php(796): Wikibase\Client\Specials\SpecialUnconnectedPages->formatResult(SkinVector, stdClass)
#2 /srv/mediawiki/php-1.36.0-wmf.37/includes/specialpage/QueryPage.php(763): QueryPage->outputResults(OutputPage, SkinVector, Wikimedia\Rdbms\DBConnRef, Wikimedia\Rdbms\ResultWrapper, integer, integer)
#3 /srv/mediawiki/php-1.36.0-wmf.37/includes/specialpage/SpecialPage.php(646): QueryPage->execute(NULL)
#4 /srv/mediawiki/php-1.36.0-wmf.37/includes/specialpage/SpecialPageFactory.php(1382): SpecialPage->run(NULL)
#5 /srv/mediawiki/php-1.36.0-wmf.37/includes/MediaWiki.php(309): MediaWiki\SpecialPage\SpecialPageFactory->executePath(Title, RequestContext)
#6 /srv/mediawiki/php-1.36.0-wmf.37/includes/MediaWiki.php(913): MediaWiki->performRequest()
#7 /srv/mediawiki/php-1.36.0-wmf.37/includes/MediaWiki.php(546): MediaWiki->main()
#8 /srv/mediawiki/php-1.36.0-wmf.37/index.php(53): MediaWiki->run()
#9 /srv/mediawiki/php-1.36.0-wmf.37/index.php(46): wfIndexMain()
#10 /srv/mediawiki/w/index.php(3): require(string)
#11 {main}
Impact

Probably not such a big impact. Happened 9 times over the last 4 days:

image.png (136×1 px, 15 KB)

Notes

Details

Request ID
da8f6c73-48e7-4a3c-aed0-52cae8ad4374
Request URL
https://de.wikipedia.org/wiki/Spezial:Nicht_verbundene_Seiten?namespace=*
Stack Trace

from /srv/mediawiki/php-1.36.0-wmf.37/includes/linker/LinkRenderer.php(225)
#0 /srv/mediawiki/php-1.36.0-wmf.37/extensions/Wikibase/client/includes/Specials/SpecialUnconnectedPages.php(162): MediaWiki\Linker\LinkRenderer->makeKnownLink(NULL)
#1 /srv/mediawiki/php-1.36.0-wmf.37/includes/specialpage/QueryPage.php(796): Wikibase\Client\Specials\SpecialUnconnectedPages->formatResult(SkinVector, stdClass)
#2 /srv/mediawiki/php-1.36.0-wmf.37/includes/specialpage/QueryPage.php(763): QueryPage->outputResults(OutputPage, SkinVector, Wikimedia\Rdbms\DBConnRef, Wikimedia\Rdbms\ResultWrapper, integer, integer)
#3 /srv/mediawiki/php-1.36.0-wmf.37/includes/specialpage/SpecialPage.php(646): QueryPage->execute(NULL)
#4 /srv/mediawiki/php-1.36.0-wmf.37/includes/specialpage/SpecialPageFactory.php(1382): SpecialPage->run(NULL)
#5 /srv/mediawiki/php-1.36.0-wmf.37/includes/MediaWiki.php(309): MediaWiki\SpecialPage\SpecialPageFactory->executePath(Title, RequestContext)
#6 /srv/mediawiki/php-1.36.0-wmf.37/includes/MediaWiki.php(913): MediaWiki->performRequest()
#7 /srv/mediawiki/php-1.36.0-wmf.37/includes/MediaWiki.php(546): MediaWiki->main()
#8 /srv/mediawiki/php-1.36.0-wmf.37/index.php(53): MediaWiki->run()
#9 /srv/mediawiki/php-1.36.0-wmf.37/index.php(46): wfIndexMain()
#10 /srv/mediawiki/w/index.php(3): require(string)
#11 {main}

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Error happens here:

public function formatResult( $skin, $result ) {
    $title = $this->titleFactory->newFromID( $result->value );
    $out = $this->getLinkRenderer()->makeKnownLink( $title );
    // ...
}

Looks like a result page went away between the query and formatting the result… not sure how to handle this. Seems like something that QueryPage subclasses might have to deal with in general, so probably worth looking at some other classes.

Untagging the services migration, since we think it’s unlikely to be related.

Error happens here:

public function formatResult( $skin, $result ) {
    $title = $this->titleFactory->newFromID( $result->value );
    $out = $this->getLinkRenderer()->makeKnownLink( $title );
    // ...
}

Looks like a result page went away between the query and formatting the result… not sure how to handle this. Seems like something that QueryPage subclasses might have to deal with in general, so probably worth looking at some other classes.

They do, and they have. Fetching titles at runtime for each result is not something we typically do in such case since that's upto 500 or 5000 db roundtrip queries the page would have to perform (depending on user rights). We usually use a join and LinkCache for this. The UI rendering is typically strike-through, or if there's not enough information for a link, omit.

Change 679744 had a related patch set uploaded (by Bereket teshome; author: Bereket teshome):

[mediawiki/extensions/Wikibase@master] fix type error

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

Change 679744 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Skip trying to format ids that don't exist

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

Addshore claimed this task.

Change 721530 had a related patch set uploaded (by Addshore; author: Bereket teshome):

[mediawiki/extensions/Wikibase@REL1_36] Skip trying to format ids that don't exist

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

Change 721530 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@REL1_36] Skip trying to format ids that don't exist

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