Page MenuHomePhabricator

DiscussionTools: PHP Notice: Trying to get property 'lastChild' of non-object
Closed, ResolvedPublicPRODUCTION ERROR

Description

Error
normalized_message
[{reqId}] {exception_url}   PHP Notice: Trying to get property 'lastChild' of non-object
exception.trace
from /srv/mediawiki/php-1.38.0-wmf.24/extensions/DiscussionTools/includes/CommentItem.php(79)
#0 /srv/mediawiki/php-1.38.0-wmf.24/extensions/DiscussionTools/includes/CommentItem.php(79): MWExceptionHandler::handleError(integer, string, string, integer, array)
#1 /srv/mediawiki/php-1.38.0-wmf.24/extensions/DiscussionTools/includes/CommentItem.php(113): MediaWiki\Extension\DiscussionTools\CommentItem->getBodyFragment(boolean)
#2 /srv/mediawiki/php-1.38.0-wmf.24/extensions/DiscussionTools/includes/Notifications/EventDispatcher.php(262): MediaWiki\Extension\DiscussionTools\CommentItem->getBodyText(boolean)
#3 /srv/mediawiki/php-1.38.0-wmf.24/extensions/DiscussionTools/includes/Notifications/EventDispatcher.php(113): MediaWiki\Extension\DiscussionTools\Notifications\EventDispatcher::generateEventsFromItemSets(array, MediaWiki\Extension\DiscussionTools\ThreadItemSet, MediaWiki\Extension\DiscussionTools\ThreadItemSet, MediaWiki\Revision\RevisionStoreRecord, Title, User)
#4 /srv/mediawiki/php-1.38.0-wmf.24/extensions/DiscussionTools/includes/Hooks/EchoHooks.php(89): MediaWiki\Extension\DiscussionTools\Notifications\EventDispatcher::generateEventsForRevision(array, MediaWiki\Revision\RevisionStoreRecord)
#5 /srv/mediawiki/php-1.38.0-wmf.24/includes/HookContainer/HookContainer.php(338): MediaWiki\Extension\DiscussionTools\Hooks\EchoHooks::onEchoGetEventsForRevision(array, MediaWiki\Revision\RevisionStoreRecord, boolean)
#6 /srv/mediawiki/php-1.38.0-wmf.24/includes/HookContainer/HookContainer.php(137): MediaWiki\HookContainer\HookContainer->callLegacyHook(string, array, array, array)
#7 /srv/mediawiki/php-1.38.0-wmf.24/includes/Hooks.php(137): MediaWiki\HookContainer\HookContainer->run(string, array, array)
#8 /srv/mediawiki/php-1.38.0-wmf.24/extensions/Echo/includes/DiscussionParser.php(165): Hooks::run(string, array)
#9 /srv/mediawiki/php-1.38.0-wmf.24/extensions/Echo/includes/EchoHooks.php(514): EchoDiscussionParser::generateEventsForRevision(MediaWiki\Revision\RevisionStoreRecord, boolean)
#10 /srv/mediawiki/php-1.38.0-wmf.24/includes/deferred/MWCallableUpdate.php(38): EchoHooks::{closure}()
#11 /srv/mediawiki/php-1.38.0-wmf.24/includes/deferred/DeferredUpdates.php(536): MWCallableUpdate->doUpdate()
#12 /srv/mediawiki/php-1.38.0-wmf.24/includes/deferred/DeferredUpdates.php(419): DeferredUpdates::attemptUpdate(MWCallableUpdate, Wikimedia\Rdbms\LBFactoryMulti)
#13 /srv/mediawiki/php-1.38.0-wmf.24/includes/deferred/DeferredUpdates.php(229): DeferredUpdates::run(MWCallableUpdate, Wikimedia\Rdbms\LBFactoryMulti, Monolog\Logger, BufferingStatsdDataFactory, MediaWiki\JobQueue\JobQueueGroupFactory, string)
#14 /srv/mediawiki/php-1.38.0-wmf.24/includes/deferred/DeferredUpdatesScope.php(267): DeferredUpdates::{closure}(MWCallableUpdate, integer)
#15 /srv/mediawiki/php-1.38.0-wmf.24/includes/deferred/DeferredUpdatesScope.php(196): DeferredUpdatesScope->processStageQueue(integer, integer, Closure)
#16 /srv/mediawiki/php-1.38.0-wmf.24/includes/deferred/DeferredUpdates.php(250): DeferredUpdatesScope->processUpdates(integer, Closure)
#17 /srv/mediawiki/php-1.38.0-wmf.24/includes/MediaWiki.php(1121): DeferredUpdates::doUpdates()
#18 /srv/mediawiki/php-1.38.0-wmf.24/includes/MediaWiki.php(846): MediaWiki->restInPeace()
#19 /srv/mediawiki/php-1.38.0-wmf.24/includes/MediaWiki.php(589): MediaWiki->doPostOutputShutdown()
#20 /srv/mediawiki/php-1.38.0-wmf.24/index.php(53): MediaWiki->run()
#21 /srv/mediawiki/php-1.38.0-wmf.24/index.php(46): wfIndexMain()
#22 /srv/mediawiki/w/index.php(3): require(string)
#23 {main}
Impact

Unclear.

Notes

~3 of these since deploy of 1.38.0-wmf.24 (T300200) to group1.

Details

Request URL
https://www.wikidata.org/w/index.php?title=*&action=submit

Event Timeline

Change 767831 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/extensions/DiscussionTools@master] CommentItem: Fix warning when the comment is empty

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

We think this is a coincidence (as a blocker) -- the error happens when someone posts a comment with an empty body, which is very rare. (With the body defined as "whatever's left after we extract the signature".)

In this particular case what was posted was essentially {{Uw-vandalism1/lang|user=Username|item=|2=|icon=}}<!-- Template:uw-vandalism1 -->&nbsp;~~~~ which produces an over-eager signature range that covers the whole comment and leaves nothing as the body, which is less ideal.

Change 767831 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] CommentItem: Fix warning when the comment is empty

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