Last modified: 2013-04-22 16:15:48 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T48577, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 46577 - [Regression] Fatal error: Call to a member function getFullText() on a non-object in EducationProgram/includes/pagers/ArticleTable.php
[Regression] Fatal error: Call to a member function getFullText() on a non-ob...
Status: RESOLVED FIXED
Product: MediaWiki extensions
Classification: Unclassified
EducationProgram (Other open bugs)
master
All All
: Immediate critical (vote)
: ---
Assigned To: Jeroen De Dauw
: code-update-regression
Depends on:
Blocks: code_quality
  Show dependency treegraph
 
Reported: 2013-03-26 19:35 UTC by Sam Reed (reedy)
Modified: 2013-04-22 16:15 UTC (History)
4 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Sam Reed (reedy) 2013-03-26 19:35:03 UTC
[26-Mar-2013 19:29:47] Fatal error: Call to a member function getFullText() on a non-object at /usr/local/apache/common-local/php-1.21wmf12/extensions/EducationProgram/includes/pagers/ArticleTable.php on line 305
Server: mw1168
Method: GET
URL: http://en.wikipedia.org/wiki/Education_Program:Marquette_University/Neurobiology_(Spring_2013)
Backtrace:
#0 /usr/local/apache/common-local/php-1.21wmf12/extensions/EducationProgram/includes/pagers/ArticleTable.php(305): EducationProgram\ArticleTable::getArticleCell()
#1 /usr/local/apache/common-local/php-1.21wmf12/extensions/EducationProgram/includes/pagers/ArticleTable.php(189): EducationProgram\ArticleTable->getArticleCell(Object(EducationProgram\EPArticle), 1)
#2 /usr/local/apache/common-local/php-1.21wmf12/extensions/EducationProgram/includes/pagers/ArticleTable.php(150): EducationProgram\ArticleTable->addNonStudentHTML('<tr class="ep-a...', Array, false)
#3 /usr/local/apache/common-local/php-1.21wmf12/includes/Pager.php(421): EducationProgram\ArticleTable->formatRow(Object(stdClass))
#4 /usr/local/apache/common-local/php-1.21wmf12/extensions/EducationProgram/includes/pagers/ArticleTable.php(91): IndexPager->getBody()
#5 /usr/local/apache/common-local/php-1.21wmf12/extensions/EducationProgram/includes/actions/ViewCourseAction.php(139): EducationProgram\ArticleTable->getBody()
#6 [internal function]: EducationProgram\ViewCourseAction->getPageHTML(Object(EducationProgram\Course))
#7 /usr/local/apache/common-local/php-1.21wmf12/includes/CacheHelper.php(303): call_user_func_array(Array, Array)
#8 /usr/local/apache/common-local/php-1.21wmf12/includes/actions/CachedAction.php(136): CacheHelper->getCachedValue(Array, Object(EducationProgram\Course), NULL)
#9 /usr/local/apache/common-local/php-1.21wmf12/extensions/EducationProgram/includes/actions/ViewAction.php(125): CachedAction->addCachedHTML(Array, Object(EducationProgram\Course))
#10 /usr/local/apache/common-local/php-1.21wmf12/extensions/EducationProgram/includes/actions/ViewCourseAction.php(105): EducationProgram\ViewAction->onView()
#11 /usr/local/apache/common-local/php-1.21wmf12/includes/Action.php(542): EducationProgram\ViewCourseAction->onView()
#12 /usr/local/apache/common-local/php-1.21wmf12/includes/Wiki.php(439): FormlessAction->show()
#13 /usr/local/apache/common-local/php-1.21wmf12/includes/Wiki.php(305): MediaWiki->performAction(Object(EducationProgram\CoursePage), Object(Title))
#14 /usr/local/apache/common-local/php-1.21wmf12/includes/Wiki.php(565): MediaWiki->performRequest()
#15 /usr/local/apache/common-local/php-1.21wmf12/includes/Wiki.php(458): MediaWiki->main()
#16 /usr/local/apache/common-local/php-1.21wmf12/index.php(59): MediaWiki->run()
#17 /usr/local/apache/common-local/live-1.5/index.php(3): require('/usr/local/apac...')
#18 {main}
Comment 1 Sage Ross 2013-03-26 19:57:10 UTC
Odd... that's the course page that's broken out of about 10 that I spot checked.
Comment 2 Jeroen De Dauw 2013-03-27 17:59:47 UTC
Looks like this code is not handling deleted pages well. Will fix now.
Comment 3 Jeroen De Dauw 2013-03-27 18:26:35 UTC
Step 1: https://gerrit.wikimedia.org/r/#/c/56187/
Comment 4 Jeroen De Dauw 2013-03-28 15:37:17 UTC
Doing a proper refactor + tests in https://gerrit.wikimedia.org/r/#/c/56203/

Exactly how critical is this?
Comment 5 Jeroen De Dauw 2013-03-29 02:25:02 UTC
Sage, there is this special page not linked from anywhere that allows you to browse through all articles that have students working on them. It is at Special:Articles. Given that the headers are messed up on enwiki and I have not heard anything about this, I suspect it is not being used. Can I throw it out for now? (That will make this cleanup easier.)
Comment 6 Jeroen De Dauw 2013-03-29 03:28:25 UTC
Assuming its fine for me to kill Special:Articles I'm done with my changes, apart from doing manual tests of the things I did not add unit test coverage for.
Comment 7 Sage Ross 2013-03-29 15:00:01 UTC
It would be nice to get Special:Articles back at some point, but that's not critical in the short term. A fix for this that disables Special:Articles is fine for now.
Comment 8 Jeroen De Dauw 2013-03-30 23:59:57 UTC
Ok, done now with https://gerrit.wikimedia.org/r/#/c/56203/ and it looks like it does fix the issue described in this bug.
Comment 10 Gerrit Notification Bot 2013-04-15 07:29:30 UTC
Related URL: https://gerrit.wikimedia.org/r/59113 (Gerrit Change I86e8664e357edd47fb0d74f284d3fc3a80ba6108)
Comment 11 Gerrit Notification Bot 2013-04-15 07:29:33 UTC
Related URL: https://gerrit.wikimedia.org/r/59113 (Gerrit Change I86e8664e357edd47fb0d74f284d3fc3a80ba6108)
Comment 12 Ori Livneh 2013-04-15 07:34:15 UTC
As a (horribly hacky) temporary workaround, we could also set the article_page_id for the following rows (in ep_articles) to null:

"article_id","article_page_title","article_page_id"
439,"Electromyoneurography",24107758
442,"Electromyoneurography",24107758
445,"Aicardi–Goutières syndrome",16332401
446,"Aicardi–Goutières syndrome",16332401
448,"Alternating hemiplegia",99177
670,"Roy Baumeister: Self-Esteem",39079953

Query that selects these:

SELECT article_page_title, article_page_id
FROM ep_articles
LEFT JOIN page ON page_id = article_page_id
WHERE article_page_id != 0 AND page_id IS NULL;
Comment 13 Ori Livneh 2013-04-15 08:59:18 UTC
(In reply to comment #12)
> As a (horribly hacky) temporary workaround, we could also set the
> article_page_id for the following rows (in ep_articles) to null:

I did that, to buy a little time for one of the changes above to get reviewed and merged. The articles still refer to the article by article_page_title. I just set article_page_id to '0' (not null, as I said above). This stops the fatal.

I changed only these six rows (439, 442, 445, 446, 448, 670).
Comment 14 Sage Ross 2013-04-15 18:11:37 UTC
(repeating myself from a comment on Ori's commit)

Some kind of atomic fix is critical, because starting now (and for about the next 4 weeks) is the busiest part of the academic term for Wikipedia assignments, and we're likely to see more student articles getting deleted and breaking course pages.

Jeroen, could you pick a good immediate fix and push it forward?
Comment 15 Jeroen De Dauw 2013-04-15 19:07:54 UTC
I merged the fix myself; sigh
Comment 16 Gerrit Notification Bot 2013-04-15 19:35:28 UTC
https://gerrit.wikimedia.org/r/59113 (Gerrit Change I86e8664e357edd47fb0d74f284d3fc3a80ba6108) | change ABANDONED [by Jeroen De Dauw]
Comment 17 Gerrit Notification Bot 2013-04-18 14:25:31 UTC
Related URL: https://gerrit.wikimedia.org/r/59831 (Gerrit Change Ic7fbca8c66f3615da97814025bc6e90e7c4c8fa1)
Comment 18 Gerrit Notification Bot 2013-04-22 14:43:04 UTC
Related URL: https://gerrit.wikimedia.org/r/60279 (Gerrit Change Idd634fc7912cda5841b19c1885823d748b878338)

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links