Page MenuHomePhabricator

ExtDynamicPageList::commonSetup() uses Title::exists() and causes problems in update.php
Closed, ResolvedPublic

Description

That is, when update.php is needed to add contenthandler fields.

Commenting out the following line allows update.php to run to completion:

$wgExtensionFunctions[] = array( 'ExtDynamicPageList', 'setupDPL' );

It would be better to have the exists() skipped if it is going to cause problems.


Version: unspecified
Severity: major

Details

Reference
bz60492

Event Timeline

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

error with backtrace:

A database query error has occurred.
Query: SELECT page_id,page_len,page_is_redirect,page_latest,page_content_model FROM page WHERE page_namespace = '10' AND page_title = 'Extension_DPL' LIMIT 1
Function: LinkCache::addLinkObj
Error: 1054 Unknown column 'page_content_model' in 'field list' (localhost)

Backtrace:
#0 includes/db/Database.php(1039): DatabaseBase->reportQueryError('Unknown column ...', 1054, 'SELECT page_id...', 'LinkCache::addL...', false)
#1 includes/db/Database.php(1496): DatabaseBase->query('SELECT page_id...', 'LinkCache::addL...')
#2 includes/db/Database.php(1585): DatabaseBase->select('page', Array, Array, 'LinkCache::addL...', Array, Array)
#3 includes/cache/LinkCache.php(272): DatabaseBase->selectRow('page', Array, Array, 'LinkCache::addL...', Array)
#4 includes/Title.php(2994): LinkCache->addLinkObj(Object(Title))
#5 includes/Title.php(4450): Title->getArticleID()
#6 extensions/DynamicPageList/DPLSetup.php(1234): Title->exists()
#7 extensions/DynamicPageList/DPLSetup.php(1211): ExtDynamicPageList::commonSetup()
#8 [internal function]: ExtDynamicPageList::setupDPL()
#9 includes/Setup.php(592): call_user_func(Array)
#10 maintenance/doMaintenance.php(106): require_once('/vagrant/mediaw...')
#11 maintenance/update.php(187): require_once('/vagrant/mediaw...')
#12 {main}

Dad gum. Ran into this again, thought I had had dealt with it in the past, found a fix and came here to file a bug so I could submit a patch. Found this already filed bug.

Whee!

Patch incoming.

Change 159658 had a related patch set uploaded by MarkAHershberger:
Don't check for Template:Extension_DPL during update

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

Change 159658 merged by jenkins-bot:
Don't check for Template:Extension_DPL during update

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

  • Bug 71017 has been marked as a duplicate of this bug. ***

Change 161415 had a related patch set uploaded by Brian Wolff:
Don't check for Template:Extension_DPL during update

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

Change 161416 had a related patch set uploaded by Brian Wolff:
Don't check for Template:Extension_DPL during update

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

Change 161416 merged by jenkins-bot:
Don't check for Template:Extension_DPL during update

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

Change 161415 merged by jenkins-bot:
Don't check for Template:Extension_DPL during update

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

This fix is now backported to REL1_23 and REL1_22 branches, so if you're using the version of this extension for MediaWiki 1.22 or higher, it should be fixed.

Apparently not fixed. I am re-running an update with a complete n00b and this came up again even with the patch applied.

Verifying before I do anything else here.