Page MenuHomePhabricator

DiscussionTools fails on beta enwiki `Wikipedia:Quick_directory`
Closed, ResolvedPublicBUG REPORT

Description

Steps to reproduce:
Visit https://en.wikipedia.beta.wmflabs.org/wiki/Wikipedia:Quick_directory

Result:
Hidden comment DiscussionTools could not add reply links on this page is added

Checking logstash beta for the relevant request (X6NtcKwQBHcAABxZd80AAAAK) shows 2 errors:

TypeError from line 81 of /srv/mediawiki/php-master/extensions/DiscussionTools/includes/ImmutableRange.php: Argument 4 passed to MediaWiki\Extension\DiscussionTools\ImmutableRange::__construct() must be of the type integer, null given, called in /srv/mediawiki/php-master/extensions/DiscussionTools/includes/CommentParser.php on line 778

#0 /srv/mediawiki/php-master/extensions/DiscussionTools/includes/CommentParser.php(778): MediaWiki\Extension\DiscussionTools\ImmutableRange->__construct(DOMText, integer, DOMText, NULL)
#1 /srv/mediawiki/php-master/extensions/DiscussionTools/includes/CommentParser.php(1098): MediaWiki\Extension\DiscussionTools\CommentParser->buildThreadItems()
#2 /srv/mediawiki/php-master/extensions/DiscussionTools/includes/CommentParser.php(723): MediaWiki\Extension\DiscussionTools\CommentParser->buildThreads()
#3 /srv/mediawiki/php-master/extensions/DiscussionTools/includes/CommentFormatter.php(22): MediaWiki\Extension\DiscussionTools\CommentParser->getThreadItems()
#4 /srv/mediawiki/php-master/extensions/DiscussionTools/includes/Hooks.php(182): MediaWiki\Extension\DiscussionTools\CommentFormatter->addReplyLinks()
#5 /srv/mediawiki/php-master/includes/HookContainer/HookContainer.php(333): MediaWiki\Extension\DiscussionTools\Hooks::onOutputPageBeforeHTML(OutputPage, string)
#6 /srv/mediawiki/php-master/includes/HookContainer/HookContainer.php(140): MediaWiki\HookContainer\HookContainer->callLegacyHook(string, array, array, array)
#7 /srv/mediawiki/php-master/includes/HookContainer/HookRunner.php(2728): MediaWiki\HookContainer\HookContainer->run(string, array)
#8 /srv/mediawiki/php-master/includes/OutputPage.php(2007): MediaWiki\HookContainer\HookRunner->onOutputPageBeforeHTML(OutputPage, string)
#9 /srv/mediawiki/php-master/includes/OutputPage.php(2019): OutputPage->addParserOutputText(ParserOutput, array)
#10 /srv/mediawiki/php-master/includes/page/Article.php(844): OutputPage->addParserOutput(ParserOutput, array)
#11 /srv/mediawiki/php-master/includes/actions/ViewAction.php(74): Article->view()
#12 /srv/mediawiki/php-master/includes/MediaWiki.php(530): ViewAction->show()
#13 /srv/mediawiki/php-master/includes/MediaWiki.php(316): MediaWiki->performAction(Article, Title)
#14 /srv/mediawiki/php-master/includes/MediaWiki.php(943): MediaWiki->performRequest()
#15 /srv/mediawiki/php-master/includes/MediaWiki.php(546): MediaWiki->main()
#16 /srv/mediawiki/php-master/index.php(53): MediaWiki->run()
#17 /srv/mediawiki/php-master/index.php(46): wfIndexMain()
#18 /srv/mediawiki/w/index.php(3): require(string)
#19 {main}
ErrorException from line 778 of /srv/mediawiki/php-master/extensions/DiscussionTools/includes/CommentParser.php: PHP Notice: Trying to get property 'length' of non-object

#0 /srv/mediawiki/php-master/extensions/DiscussionTools/includes/CommentParser.php(778): MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /srv/mediawiki/php-master/extensions/DiscussionTools/includes/CommentParser.php(1098): MediaWiki\Extension\DiscussionTools\CommentParser->buildThreadItems()
#2 /srv/mediawiki/php-master/extensions/DiscussionTools/includes/CommentParser.php(723): MediaWiki\Extension\DiscussionTools\CommentParser->buildThreads()
#3 /srv/mediawiki/php-master/extensions/DiscussionTools/includes/CommentFormatter.php(22): MediaWiki\Extension\DiscussionTools\CommentParser->getThreadItems()
#4 /srv/mediawiki/php-master/extensions/DiscussionTools/includes/Hooks.php(182): MediaWiki\Extension\DiscussionTools\CommentFormatter->addReplyLinks()
#5 /srv/mediawiki/php-master/includes/HookContainer/HookContainer.php(333): MediaWiki\Extension\DiscussionTools\Hooks::onOutputPageBeforeHTML(OutputPage, string)
#6 /srv/mediawiki/php-master/includes/HookContainer/HookContainer.php(140): MediaWiki\HookContainer\HookContainer->callLegacyHook(string, array, array, array)
#7 /srv/mediawiki/php-master/includes/HookContainer/HookRunner.php(2728): MediaWiki\HookContainer\HookContainer->run(string, array)
#8 /srv/mediawiki/php-master/includes/OutputPage.php(2007): MediaWiki\HookContainer\HookRunner->onOutputPageBeforeHTML(OutputPage, string)
#9 /srv/mediawiki/php-master/includes/OutputPage.php(2019): OutputPage->addParserOutputText(ParserOutput, array)
#10 /srv/mediawiki/php-master/includes/page/Article.php(844): OutputPage->addParserOutput(ParserOutput, array)
#11 /srv/mediawiki/php-master/includes/actions/ViewAction.php(74): Article->view()
#12 /srv/mediawiki/php-master/includes/MediaWiki.php(530): ViewAction->show()
#13 /srv/mediawiki/php-master/includes/MediaWiki.php(316): MediaWiki->performAction(Article, Title)
#14 /srv/mediawiki/php-master/includes/MediaWiki.php(943): MediaWiki->performRequest()
#15 /srv/mediawiki/php-master/includes/MediaWiki.php(546): MediaWiki->main()
#16 /srv/mediawiki/php-master/index.php(53): MediaWiki->run()
#17 /srv/mediawiki/php-master/index.php(46): wfIndexMain()
#18 /srv/mediawiki/w/index.php(3): require(string)
#19 {main}

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
DannyS712 changed the subtype of this task from "Task" to "Bug Report".Nov 5 2020, 3:16 AM
DannyS712 moved this task from Unsorted to Reports on the User-DannyS712 board.
DannyS712 added subscribers: Esanders, matmarex.

@Esanders @matmarex is this an issue with new code that should be fixed before the train goes out?

This is caused by an unclosed <h3> tag on the page. Don't think this needs to block the release.

The code producing it was

<h3>[[Wikipedia:Banning policy|Banning policy]]
<h3>
<h3>[[Wikipedia:Blocking policy|Blocking policy]]
</h3>

Change 639542 had a related patch set uploaded (by Bartosz Dziewoński; owner: Bartosz Dziewoński):
[mediawiki/extensions/DiscussionTools@master] Fix getHeadlineNodeAndOffset() returning text nodes

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

Change 639542 merged by jenkins-bot:
[mediawiki/extensions/DiscussionTools@master] Fix getHeadlineNodeAndOffset() returning text nodes

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

The page was edited, but this can still be tested on the old revision: https://en.wikipedia.beta.wmflabs.org/w/index.php?title=Wikipedia:Quick_directory&oldid=38133 and should be fixed in a moment when that patch gets deployed.

Change 640497 had a related patch set uploaded (by Bartosz Dziewoński; owner: Bartosz Dziewoński):
[mediawiki/extensions/DiscussionTools@wmf/1.36.0-wmf.16] Fix getHeadlineNodeAndOffset() returning text nodes

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

Change 640497 merged by jenkins-bot:
[mediawiki/extensions/DiscussionTools@wmf/1.36.0-wmf.16] Fix getHeadlineNodeAndOffset() returning text nodes

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

Mentioned in SAL (#wikimedia-operations) [2020-11-11T12:11:25Z] <lucaswerkmeister-wmde@deploy1001> Synchronized php-1.36.0-wmf.16/extensions/DiscussionTools/includes/CommentParser.php: Backport: [[gerrit:640497|Fix getHeadlineNodeAndOffset() returning text nodes (T267284)]] (duration: 01m 01s)