Exception encountered, of type "BadMethodCallException"
[cbb93f47] / BadMethodCallException from line 80 of /srv/mediawiki/tags/2015-09-08_17:38:19/extensions/Translate/utils/MessageGroupCache.php: Call to a member function get() on a non-object (NULL)
Backtrace:
#0 /srv/mediawiki/tags/2015-09-08_17:38:19/extensions/Translate/messagegroups/MessageGroupBase.php(202): MessageGroupCache->getKeys()
#1 /srv/mediawiki/tags/2015-09-08_17:38:19/extensions/Translate/utils/MessageGroupStats.php(387): MessageGroupBase->initCollection(string)
#2 /srv/mediawiki/tags/2015-09-08_17:38:19/extensions/Translate/utils/MessageGroupStats.php(348): MessageGroupStats::calculateGroup(MediaWikiExtensionMessageGroup, string)
#3 /srv/mediawiki/tags/2015-09-08_17:38:19/extensions/Translate/utils/MessageGroupStats.php(338): MessageGroupStats::forItemInternal(array, MediaWikiExtensionMessageGroup, string)
#4 /srv/mediawiki/tags/2015-09-08_17:38:19/extensions/Translate/utils/MessageGroupStats.php(243): MessageGroupStats::forItemInternal(array, AggregateMessageGroup, string)
#5 /srv/mediawiki/tags/2015-09-08_17:38:19/extensions/Translate/utils/MessageGroupStats.php(99): MessageGroupStats::forLanguageInternal(string)
#6 /srv/mediawiki/tags/2015-09-08_17:38:19/extensions/TwnMainPage/specials/SpecialTwnMainPage.php(-1): MessageGroupStats::forLanguage(string)
#7 /srv/mediawiki/tags/2015-09-08_17:38:19/extensions/TwnMainPage/specials/SpecialTwnMainPage.php(-1): SpecialTwnMainPage->projectSelector()
#8 /srv/mediawiki/tags/2015-09-08_17:38:19/extensions/TwnMainPage/specials/SpecialTwnMainPage.php(-1): SpecialTwnMainPage->makeContent()
#9 /srv/mediawiki/tags/2015-09-08_17:38:19/includes/specialpage/SpecialPage.php(384): SpecialTwnMainPage->execute(NULL)
#10 /srv/mediawiki/tags/2015-09-08_17:38:19/includes/specialpage/SpecialPageFactory.php(553): SpecialPage->run(NULL)
#11 /srv/mediawiki/tags/2015-09-08_17:38:19/includes/MediaWiki.php(249): SpecialPageFactory::executePath(Title, RequestContext)
#12 /srv/mediawiki/tags/2015-09-08_17:38:19/includes/MediaWiki.php(682): MediaWiki->performRequest()
#13 /srv/mediawiki/tags/2015-09-08_17:38:19/includes/MediaWiki.php(476): MediaWiki->main()
#14 /srv/mediawiki/tags/2015-09-05_11:22:53/index.php(41): MediaWiki->run()
#15 {main}
Description
Description
Event Timeline
Comment Actions
Ok it's not open:
var_dump( get_class( $this->cache ), $this->getCacheFileName(), $this->cache->get( '#version' ) ); if ( $this->cache->get( '#version' ) !== '3' ) { $this->close(); unlink( $this->getCacheFileName() );
Outputs
string(14) "Cdb\Reader\PHP" string(94) "/resources/caches/dev.translatewiki.net/groups/translate_groupcache-ext-activitymonitor/en.cdb" bool(false)
On hexdump I see:
00000a60 00 00 00 01 00 00 00 23 76 65 72 73 69 6f 6e 33 |.......#version3|
Comment Actions
Strange:
T111836.php
<?php require_once __DIR__ . "/src/Util.php"; require_once __DIR__ . "/src/Exception.php"; require_once __DIR__ . "/src/Reader.php"; require_once __DIR__ . "/src/Reader/PHP.php"; use Cdb\Reader; $cdb = new Reader\PHP( 'en.cdb' ); var_dump( $cdb->get( '#version' ) );
[osmium:~/cdb-tests/cdb-new] $ php5 T111836.php string(1) "3" [osmium:~/cdb-tests/cdb-new] $ hhvm T111836.php string(1) "3"
Comment Actions
Hmm. It seems it is not specific to any particular file. It happens after opening around 3-15 different files.
Comment Actions
<?php require_once __DIR__ . "/vendor/autoload.php"; use Cdb\Reader; $files = glob( "*.cdb" ); foreach ( $files as $file ) { $cdb = new Reader\PHP( $file ); var_dump( $cdb->get( '#version' ) ); }
php foo.php string(1) "3" bool(false) string(1) "3" string(1) "3" string(1) "3" bool(false) [Tue Sep 8 20:38:27 2015] [hphp] [14263:7fb9cd404a00:0:000001] [] Fatal error: Uncaught exception 'Cdb\Exception' with message 'Error in CDB file "es.cdb", integer too big.' in /home/nike/aewfwef/vendor/wikimedia/cdb/src/Reader/PHP.php:157 Stack trace: #0 /home/nike/aewfwef/vendor/wikimedia/cdb/src/Reader/PHP.php(201): Cdb\Reader\PHP->readInt31() #1 /home/nike/aewfwef/vendor/wikimedia/cdb/src/Reader/PHP.php(80): Cdb\Reader\PHP->find() #2 /home/nike/aewfwef/foo.php(10): Cdb\Reader\PHP->get() #3 {main}
The output is deterministic, not random if the set of files is the same.
Comment Actions
Was resolved by https://gerrit.wikimedia.org/r/#/c/236868/ but this bug was not mentioned.