Page MenuHomePhabricator

APC: 1.23 not compatible with MediaWiki 1.23/1.22 branches
Closed, DeclinedPublic

Description

Author: bheussler

Description:
getPageTitle() does not exist

[8178f5e8] /matonto/index.php/Special:APC Exception from line 376 of /var/www/html/mediawiki-1.22.3/includes/SpecialPage.php: Call to undefined method SpecialAPC::getPageTitle

Backtrace:

#0 /var/www/html/mediawiki-1.22.3/extensions/APC/SpecialAPC.php(20): SpecialPage->call(string, array)
#1 /var/www/html/mediawiki-1.22.3/extensions/APC/SpecialAPC.php(20): SpecialAPC->getPageTitle()
#2 /var/www/html/mediawiki-1.22.3/includes/SpecialPageFactory.php(337): SpecialAPC->
construct()
#3 /var/www/html/mediawiki-1.22.3/includes/SpecialPageFactory.php(441): SpecialPageFactory::getPage(string)
#4 /var/www/html/mediawiki-1.22.3/includes/Wiki.php(298): SpecialPageFactory::executePath(Title, RequestContext)
#5 /var/www/html/mediawiki-1.22.3/includes/Wiki.php(602): MediaWiki->performRequest()
#6 /var/www/html/mediawiki-1.22.3/includes/Wiki.php(467): MediaWiki->main()
#7 /var/www/html/mediawiki-1.22.3/index.php(49): MediaWiki->run()
#8 {main}


Version: REL1_23-branch
Severity: major

Details

Reference
bz62568

Event Timeline

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

Can't reproduce using master of core and the extension (although I am getting A LOT of unrelated warnings and notices...), I'll look into it a bit further with a clone of 1.22.3.

Thanks for taking the time to report this!

Is "this" APC part of the 1.22.3 tarball?
In that case I bet it's bug 62101.

bheussler wrote:

No. I got APC from cloning the source code repository listed on the Extension:APC wiki page

https://gerrit.wikimedia.org/r/p/mediawiki/extensions/APC.git

bheussler wrote:

Whoops, I thought you were talking about the extension. I am using APC (3.1.13). I installed it using pecl

(In reply to Brendan Heussler from comment #3)

No. I got APC from cloning the source code repository listed on the
Extension:APC wiki page

https://gerrit.wikimedia.org/r/p/mediawiki/extensions/APC.git

In that case, the problem is mixing versions.

If you use latest master of an extension, you should use latest master of MediaWiki. Neither is recommended to use in a production environment, only for testing / development.

So assuming you're using v1.22.3, make sure download[1] the 1.22.x version of that extension, or alternatively, "git checkout REL1_22" in the extension directory you cloned from git.

The error you got is because of a change made in MediaWiki core to the SpecialPage interface (new in MediaWiki v1.23alpha, not yet released), and the APC extension made adjustments accordingly to remain compatible with the latest version of MediaWiki (https://gerrit.wikimedia.org/r/#/c/103901/).

Closing as it is not a bug in the software from what I can see.

[1] https://www.mediawiki.org/wiki/Special:ExtensionDistributor/APC

info wrote:

REL1_23 of MediaWik and REL1_23 produces the same bug - so it should not be closed. Reverting https://git.wikimedia.org/commit/mediawiki%2Fextensions%2FAPC/42ed5a5e85020ca9f617fa3e8f4c2b4f8e5e8a72 solve that for me (Second part)

function __construct() {
        parent::__construct( 'APC' );
        $this->title = $this->getTitle();
}

Work

function __construct() {
        parent::__construct( 'APC' );
        $this->title = $this->getPageTitle();
}

Work not.

[Fixing bug summary and version field]

Confirmed for REL1_22 as well (the current release). Fixing the two lines mentioning getPageTitle to getTitle fixes the problem.

Same fixing for mediawiki V1.19 & php-apc 3.13 for raspberry. Thank you!

hashar subscribed.

1.23 is end of life. I guess the APC extension REL1_23 was not compatible.