Page MenuHomePhabricator

Mocking abstract objects fails on HHVM
Closed, ResolvedPublic

Description

/vagrant/mediawiki/tests/phpunit$ php phpunit.php
[Sun Apr 12 20:07:41 2015] [hphp] [10053:7f85318b6bc0:0:000001] [834dc6:835050:9ca744:9caa13:9cf12a:9d070f:a6e441:856a5d:7f852952cec5:909e04]
Fatal error: Class SomeJob contains abstract method (run) and must therefore be declared abstract or implement the remaining methods in /srv/vagrant/mediawiki/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php(301) : eval()'d code on line 1

This is an upstream HHVM bug: https://github.com/facebook/hhvm/issues/5170

Related Objects

View Standalone Graph
This task is connected to more than 200 other tasks. Only direct parents and subtasks are shown here. Use View Standalone Graph to show more of the graph.

Event Timeline

JanZerebecki updated the task description. (Show Details)
JanZerebecki raised the priority of this task from to Needs Triage.
JanZerebecki added a subscriber: JanZerebecki.
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptApr 12 2015, 8:16 PM
bd808 added a subscriber: bd808.

Change 205816 had a related patch set uploaded (by BryanDavis):
Fix abstract method error from JobTest

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

Change 205816 abandoned by BryanDavis:
Fix abstract method error from JobTest

Reason:
The error is an upstream HHVM issue https://github.com/facebook/hhvm/issues/5170

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

bd808 renamed this task from running phpunit with hhvm on vagrant fails to Mocking abstract objects fails on HHVM.
bd808 added subscribers: Krinkle, demon.
bd808 updated the task description. (Show Details)Apr 29 2015, 5:26 PM

I'm now getting this while trying to add a new extension to CI: https://integration.wikimedia.org/ci/job/mwext-WikidataQuality-repo-tests-sqlite-hhvm/2/console
Which leads me to the question: Why doesn't the hhvm+phpunit Jenkins job for core fail (or for other extensions)?

The upstream fix was merged, will we cherry-pick that?

bd808 added a subscriber: Joe.May 11 2015, 9:46 PM

I'm now getting this while trying to add a new extension to CI: https://integration.wikimedia.org/ci/job/mwext-WikidataQuality-repo-tests-sqlite-hhvm/2/console
Which leads me to the question: Why doesn't the hhvm+phpunit Jenkins job for core fail (or for other extensions)?

The version of phpunit-mock-objects that Jenkins is using to run the tests is old (1.2.3) and not effected by the change that causes the problem.

The upstream fix was merged, will we cherry-pick that?

@Joe, what's the preferred way to ask for a particular HHVM upstream fix to be included in our custom builds? Do we have a specific tag or tag combination that you look for when you are getting ready to create a new version?

jayvdb moved this task from Backlog to Reported Upstream on the Upstream board.Jul 21 2015, 5:33 AM

Change 237860 had a related patch set uploaded (by BryanDavis):
Backport of D37899: Fix ReflectionClass::getMethods filter

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

Change 237860 merged by Giuseppe Lavagetto:
Backport of D37899: Fix ReflectionClass::getMethods filter

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

Anomie added a subscriber: Anomie.Sep 16 2015, 5:36 PM
Krinkle removed a subscriber: Krinkle.Sep 17 2015, 5:21 AM
Joe added a comment.Oct 5 2015, 2:56 PM

Since the package has been built and deployed, is this resolved?

Anomie added a comment.Oct 5 2015, 3:06 PM

The reproduction given in https://github.com/facebook/hhvm/issues/5170 is now giving the correct result when run on HHVM on mw1017, so I'd assume so.

bd808 closed this task as Resolved.Oct 14 2015, 5:32 PM
bd808 claimed this task.
bd808 moved this task from Backlog to Done on the MediaWiki-Vagrant board.Dec 7 2015, 12:51 AM
Restricted Application added a project: User-bd808. · View Herald TranscriptDec 7 2015, 12:51 AM
Restricted Application added a subscriber: StudiesWorld. · View Herald Transcript
bd808 moved this task from To Do to Archive on the User-bd808 board.Dec 10 2015, 5:09 PM