Page MenuHomePhabricator

action=purge ends up in an Exception
Closed, ResolvedPublic

Description

If i use the purge action for a Flow thraed (e.g. https://www.mediawiki.org/wiki/Topic:Sd3qkquvywwoib5y?action=purge) i get the following exception on a white page:

Exception encountered, of type "InvalidArgumentException"

for both, logged in and logged out state.

Event Timeline

Florian created this task.Mar 7 2015, 7:24 PM
Florian raised the priority of this task from to High.
Florian updated the task description. (Show Details)
Florian added a project: StructuredDiscussions.
Florian added a subscriber: Florian.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptMar 7 2015, 7:24 PM
Krenair added a subscriber: Krenair.Mar 7 2015, 7:35 PM

Wow.

2015-03-07 19:34:41 mw1177 mediawikiwiki: [01752a9a] /wiki/Topic:Sd3qkquvywwoib5y   InvalidArgumentException from line 232 of /srv/mediawiki/php-1.25wmf20/extensions/Flow/vendor/Pimple/Container.php: Identifier "memcache" does not contain an object definition.
#0 /srv/mediawiki/php-1.25wmf20/extensions/Flow/includes/Actions/PurgeAction.php(48): Pimple\Container->extend()
#1 /srv/mediawiki/php-1.25wmf20/includes/htmlform/HTMLForm.php(544): Flow\Actions\PurgeAction->onSubmit()
#2 /srv/mediawiki/php-1.25wmf20/includes/htmlform/HTMLForm.php(467): HTMLForm->trySubmit()
#3 /srv/mediawiki/php-1.25wmf20/includes/htmlform/HTMLForm.php(482): HTMLForm->tryAuthorizedSubmit()
#4 /srv/mediawiki/php-1.25wmf20/includes/actions/PurgeAction.php(80): HTMLForm->show()
#5 /srv/mediawiki/php-1.25wmf20/includes/MediaWiki.php(405): PurgeAction->show()
#6 /srv/mediawiki/php-1.25wmf20/includes/MediaWiki.php(277): MediaWiki->performAction()
#7 /srv/mediawiki/php-1.25wmf20/includes/MediaWiki.php(573): MediaWiki->performRequest()
#8 /srv/mediawiki/php-1.25wmf20/includes/MediaWiki.php(424): MediaWiki->main()
#9 /srv/mediawiki/php-1.25wmf20/index.php(46): MediaWiki->run()
#10 /srv/mediawiki/w/index.php(3): include()
#11 {main}

Doesn't make much sense to me.

krenair@tin:~$ mwscript eval.php mediawikiwiki
> $rc = new ReflectionClass( 'Pimple\Container' );

> $rp = $rc->getProperty( 'values' );

> $rp->setAccessible( true );

> $rp->getValue( Flow\Container::getContainer() );

> $vals = $rp->getValue( Flow\Container::getContainer() );

> var_dump( isset( $vals['memcache'] ) );
bool(true)

> var_dump( !is_object( $vals['memcache'] ) || !method_exists( $vals['memcache'], '__invoke' ) );
bool(false)

> var_dump( $vals['memcache'] );
object(Closure)#118 (1) {
  ["parameter"]=>
  array(1) {
    ["$c"]=>
    string(10) "<required>"
  }
}

Looks like this would've been caused by https://gerrit.wikimedia.org/r/192608 anyway.

Change 195438 had a related patch set uploaded (by EBernhardson):
Reset container prior to running PurgeAction

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

Change 195438 merged by jenkins-bot:
Reset container prior to running PurgeAction

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

Mattflaschen-WMF closed this task as Resolved.Mar 24 2015, 11:38 PM