Page MenuHomePhabricator

PHP fatal error at FlaggablePageView::dif()
Closed, DeclinedPublic

Description

A PHP fatal error (with the standard ugly WMF-error screen) happenend while trying to view a diff in the recent changes. It is may be only a race condition because the version was already marked after I checked it again, which worked again.

https://de.wikipedia.org/w/index.php?title=Ponk_%28YouTube%29&diff=118782609&oldid=118778034

PHP fatal error in line 1504:
Argument 1 passed to FlaggablePageView::dif() must be an instance of @X@\x03, instance of FlaggableWikiPage given, called in /usr/local/apache/common-local/php-1.22wmf4/extensions/FlaggedRevs/frontend/FlaggablePageView.php on line 1477 and defined ...


Version: unspecified
Severity: normal

Details

Reference
bz48741

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 1:25 AM
bzimport set Reference to bz48741.
bzimport added a subscriber: Unknown Object (MLST).

There's quite a lot of them seemingly

reedy@fluorine:/a/mw-log$ grep -c "FlaggablePageView::dif" fatal.log
1767

[23-May-2013 20:15:37] Catchable fatal error: Argument 1 passed to FlaggablePageView::dif() must be an instance of @X@, instance of FlaggableWikiPage given, called in /usr/local/apache/common-local/php-1.22wmf4/extensions/FlaggedRevs/frontend/FlaggablePageView.php on line 1477 and defined at on line 1504
Server: mw1162
Method: GET
URL: http://fi.wikipedia.org/w/index.php?title=Luettelo_vuonna_2013_kuolleista_henkil%C3%B6ist%C3%A4&curid=1067006&diff=13276194&oldid=13275346
Backtrace:
#0 (1504): FlaggablePageView::dif()
#1 /usr/local/apache/common-local/php-1.22wmf4/extensions/FlaggedRevs/frontend/FlaggablePageView.php(1477): FlaggablePageView::dif(Object(FlaggableWikiPage), Object(Revision), Object(Revision))
#2 /usr/local/apache/common-local/php-1.22wmf4/extensions/FlaggedRevs/frontend/FlaggedRevsUI.hooks.php(577): FlaggablePageView->addToDiffView(Object(DifferenceEngine), Object(Revision), Object(Revision))
#3 [internal function]: FlaggedRevsUIHooks::onDiffViewHeader(Object(DifferenceEngine), Object(Revision), Object(Revision))
#4 /usr/local/apache/common-local/php-1.22wmf4/includes/Hooks.php(196): call_user_func_array('FlaggedRevsUIHo...', Array)
#5 /usr/local/apache/common-local/php-1.22wmf4/includes/GlobalFunctions.php(3834): Hooks::run('DiffViewHeader', Array)
#6 /usr/local/apache/common-local/php-1.22wmf4/includes/diff/DifferenceEngine.php(253): wfRunHooks('DiffViewHeader', Array)
#7 /usr/local/apache/common-local/php-1.22wmf4/includes/Article.php(815): DifferenceEngine->showDiffPage(false)
#8 /usr/local/apache/common-local/php-1.22wmf4/includes/Article.php(547): Article->showDiffPage()
#9 /usr/local/apache/common-local/php-1.22wmf4/includes/actions/ViewAction.php(44): Article->view()
#10 /usr/local/apache/common-local/php-1.22wmf4/includes/Wiki.php(439): ViewAction->show()
#11 /usr/local/apache/common-local/php-1.22wmf4/includes/Wiki.php(305): MediaWiki->performAction(Object(Article), Object(Title))
#12 /usr/local/apache/common-local/php-1.22wmf4/includes/Wiki.php(565): MediaWiki->performRequest()
#13 /usr/local/apache/common-local/php-1.22wmf4/includes/Wiki.php(458): MediaWiki->main()
#14 /usr/local/apache/common-local/php-1.22wmf4/index.php(55): MediaWiki->run()
#15 /usr/local/apache/common-local/w/index.php(3): require('/usr/local/apac...')
#16 {main}

Catchable fatal error: Argument 1 passed to FlaggablePageView::dif() must be an instance of @X@#003, instance of FlaggableWikiPage given, called in /usr/local/
apache/common-local/php-1.22wmf4/extensions/FlaggedRevs/frontend/FlaggablePageView.php on line 1477 and defined in on line 1504

Aaron, could you take a look at this?

(In reply to comment #2)

Catchable fatal error: Argument 1 passed to FlaggablePageView::dif() must be
an instance of @X@#003, instance of FlaggableWikiPage given, called in
/usr/local/
apache/common-local/php-1.22wmf4/extensions/FlaggedRevs/frontend/
FlaggablePageView.php
on line 1477 and defined in on line 1504

Are you sure this isn't random APC corruption. The functions are misnamed and the error shows a garbage type. I don't see this in the master branch.