Last modified: 2014-09-26 06:20:05 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 T71708, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 69708 - wikidata beta (item pages, etc.) inaccessible with 503 errors
wikidata beta (item pages, etc.) inaccessible with 503 errors
Status: RESOLVED WORKSFORME
Product: Wikimedia Labs
Classification: Unclassified
deployment-prep (beta) (Other open bugs)
unspecified
All All
: Normal normal
: ---
Assigned To: Nobody - You can work on this!
: hhvm
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-08-18 16:53 UTC by Aude
Modified: 2014-09-26 06:20 UTC (History)
11 users (show)

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


Attachments

Description Aude 2014-08-18 16:53:44 UTC
wikidata beta is (and has been inaccessible) with 503 errors.  hhvm is running there.

finally located logs in /var/log/upstart and we have fatal errors:

Fatal error: Argument 1 passed to Wikibase\\EntityContentFactory::getTitleForId() must be an instance of Wikibase\\EntityId, Wikibase\\DataModel\\Entity\\ItemId given in /srv/common-local/php-master/extensions/Wikidata/extensions/Wikibase/repo/includes/content/EntityContentFactory.php on line 83

this is a class alias issue, which i think is resolved in latest hhvm (things work in vagrant and travis no longer has this issue) 

We cen remove the evil class aliases anyway but would be good to know for sure if the bug is gone in hhvm or if we somehow don't have the bug fix in the hhvm version we are using.
Comment 1 Aude 2014-08-18 17:20:25 UTC
mysteriously suddenly it works again. it has off and on, been working occasionally, so I am not yet convinced it is fixed!
Comment 2 Aude 2014-08-18 17:21:10 UTC
the fix for https://github.com/facebook/hhvm/issues/2527 appears to be in the hhvm package deployed on labs
Comment 3 Antoine "hashar" Musso (WMF) 2014-08-19 13:34:40 UTC
Here are the hhvm versions deployed on the two beta cluster instances:


deployment-mediawiki01:~$ hhvm --version
HipHop VM 3.3.0-dev (rel)
Compiler: heads/master-0-g6366fcf6ac4f437c9f16d6d4a468e21c8ba76d40
Repo schema: bf5f5d8158a21a0ea40abdfb3e2422f14d932365
Extension API: 20140727

deployment-mediawiki02:~$ hhvm --version
HipHop VM 3.3.0-dev (dbg)
Compiler: heads/master-0-g3bf9672f95e86742fc67454a389fd7be68653325
Repo schema: 2fcacb410e0d852615f9e06a36b56f26f5dc440a
Extension API: 20140702


Only mediawiki02 (the last above) is pooled currently.  The hhvm package is:

$ apt-cache policy hhvm
hhvm:
  Installed: 3.3-dev+20140728+wmf5
  Candidate: 3.3-dev+20140728+wmf4
  Version table:
 *** 3.3-dev+20140728+wmf5 0
        100 /var/lib/dpkg/status
     3.3-dev+20140728+wmf4 0
       1001 http://apt.wikimedia.org/wikimedia/ trusty-wikimedia/main amd64 Packages
$
Comment 4 Aude 2014-08-22 15:55:03 UTC
broke again...

Fatal error: Argument 3 passed to Wikibase\\EntityContentFactory::getPermissionStatusForEntityId() must be an instance of Wikibase\\EntityId, Wikibase\\DataModel\\Entity\\ItemId given in /srv/common-local/php-master/extensions/Wikidata/extensions/Wikibase/repo/includes/content/EntityContentFactory.php on line 236
Comment 5 Aude 2014-08-27 17:35:43 UTC
now we are getting

Fatal error: Argument 1 passed to Wikibase\\EntityHandler::getTitleForId() must be an instance of Wikibase\\EntityId, Wikibase\\DataModel\\Entity\\ItemId given in /srv/common-local/php-master/extensions/Wikidata/extensions/Wikibase/repo/includes/content/EntityHandler.php on line 426
Comment 6 Aude 2014-09-16 09:31:27 UTC
reproduced these issues in vagrant, which uses hhvm:

Fatal error: Argument 1 passed to Wikibase\\ItemContent::__construct() must be an instance of Wikibase\\Item, Wikibase\\DataModel\\Entity\\Item given in /vagrant/mediawiki/extensions/WikidataBuildResources/extensions/Wikibase/repo/includes/content/ItemContent.php on line 95
Comment 7 Aude 2014-09-16 09:36:37 UTC
i then restarted hhvm and the error is gone!  before restarting, i did composer install of all of wikibase etc., which maybe exceeded some limit or such?
Comment 8 Bryan Davis 2014-09-16 15:57:29 UTC
I wonder if this is related to the hhvm cache issues that Ori has been looking into? I've only been following that via irc eavesdropping, but I think the just is that HHVM has pool sizes for certain types of bytecode and in some circumstances we have more code than can fit in the currently configured pools.
Comment 9 Aude 2014-09-16 17:20:07 UTC
@bryan I think quite certain it is related.

this happens less often on test.wikidata, but I think because hhvm has higher limits in production. (JitAColdSize etc?)

probably resolving the type hints when it involves class aliases + inheritance is an intensive thing, maybe also with memory leak or some bug in hhvm, causing limits to be hit and triggering crash.

btw, we are working to eliminate use of class alias in Wikibase, as not a good idea generally to have them but same time not easy to eliminate completely.
Comment 10 Aude 2014-09-19 16:09:35 UTC
1) restart hhvm
2) maybe do a thing or two (e.g. add a label)
3) click history
4) view a diff and hhvm crashes

viewing a diff in vagrant:

[Tue Sep 16 13:19:28 2014] [hphp] [9179:7f024bbff700:9:000001] [] \nFatal error: Argument 2 passed to Wikibase\\DataModel\\Deserializers\\ClaimDeserializer::setRankFromSerialization() must be an instance of Wikibase\\DataModel\\Claim\\Statement, Wikibase\\DataModel\\Statement\\Statement given in /vagrant/mediawiki/extensions/WikidataBuildResources/vendor/wikibase/data-model-serialization/src/Deserializers/ClaimDeserializer.php on line 138
[Tue Sep 16 13:19:29 2014] [hphp] [9179:7f0248fff700:3:000001] [] \nFatal error: Argument 2 passed to Wikibase\\DataModel\\Deserializers\\ClaimDeserializer::setRankFromSerialization() must be an instance of Wikibase\\DataModel\\Claim\\Statement, Wikibase\\DataModel\\Statement\\Statement given in /vagrant/mediawiki/extensions/WikidataBuildResources/vendor/wikibase/data-model-serialization/src/Deserializers/ClaimDeserializer.php on line 138
[Tue Sep 16 13:19:34 2014] [hphp] [9179:7f02497ff700:4:000001] [] \nFatal error: Argument 2 passed to Wikibase\\DataModel\\Deserializers\\ClaimDeserializer::setRankFromSerialization() must be an instance of Wikibase\\DataModel\\Claim\\Statement, Wikibase\\DataModel\\Statement\\Statement given in /vagrant/mediawiki/extensions/WikidataBuildResources/vendor/wikibase/data-model-serialization/src/Deserializers/ClaimDeserializer.php on line 138
[Tue Sep 16 13:19:39 2014] [hphp] [9302:7f85037ff700:1:000001] [] \nNotice: Cannot find site enwiki in sites table [Called from Wikibase\\Client\\WikibaseClient::newSiteGroup in /vagrant/mediawiki/extensions/WikidataBuildResources/extensions/Wikibase/client/includes/WikibaseClient.php at line 446] in /vagrant/mediawiki/includes/debug/MWDebug.php on line 302
[Fri Sep 19 16:05:36 2014] [hphp] [4697:7fcec1bff700:2:000001] [] \nFatal error: Argument 2 passed to Wikibase\\DataModel\\Deserializers\\ClaimDeserializer::setRankFromSerialization() must be an instance of Wikibase\\DataModel\\Claim\\Statement, Wikibase\\DataModel\\Statement\\Statement given in /vagrant/mediawiki/extensions/WikidataBuildResources/vendor/wikibase/data-model-serialization/src/Deserializers/ClaimDeserializer.php on line 138
[Fri Sep 19 16:05:37 2014] [hphp] [4697:7fcecefff700:7:000001] [] \nFatal error: Argument 2 passed to Wikibase\\DataModel\\Deserializers\\ClaimDeserializer::setRankFromSerialization() must be an instance of Wikibase\\DataModel\\Claim\\Statement, Wikibase\\DataModel\\Statement\\Statement given in /vagrant/mediawiki/extensions/WikidataBuildResources/vendor/wikibase/data-model-serialization/src/Deserializers/ClaimDeserializer.php on line 138
[Fri Sep 19 16:05:42 2014] [hphp] [4697:7fced7bff700:9:000001] [] \nFatal error: Argument 2 passed to Wikibase\\DataModel\\Deserializers\\ClaimDeserializer::setRankFromSerialization() must be an instance of Wikibase\\DataModel\\Claim\\Statement, Wikibase\\DataModel\\Statement\\Statement given in /vagrant/mediawiki/extensions/WikidataBuildResources/vendor/wikibase/data-model-serialization/src/Deserializers/ClaimDeserializer.php on line 138
Comment 11 Greg Grossmeier 2014-09-24 20:42:40 UTC
Is this still an issue? I don't have wikidata going in a vagrant instance, but on beta I can go here without fail:
http://wikidata.beta.wmflabs.org/w/index.php?title=Q30926&curid=33206&diff=56321&oldid=56319

(ie: doing steps in comment 10 (ish), but on beta not vagrant)

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


Navigation
Links