xp-framework/core

HHVM 3.26 issues

thekid opened this issue · 6 comments

With HHVM 3.25:

friebe@vm-gamify:~/devel/core$ ./php -v
HipHop VM 3.25.1 (rel)
Compiler: 1521755894_584615862
Repo schema: 118057063544eca576fc14c2f4181c8005acec43

friebe@vm-gamify:~/devel/core$ XP_RT=./php xp -cp test.xar xp.unittest.Runner \
src/test/config/unittest/core.ini
# ...
♥: 2152/2219 run (67 skipped), 2152 succeeded, 0 failed
Memory used: 12288.00 kB (12288.00 kB peak)
Time taken: 27.136 seconds

With HHVM 3.26

friebe@vm-gamify:~/devel/core$ ./php -v
HipHop VM 3.26.3 (rel)
Compiler: 1527196551_665484780
Repo schema: 5ed0d6795a50e36e6652cd6d0038d702c90ab158

friebe@vm-gamify:~/devel/core$ XP_RT=./php xp -cp test.xar xp.unittest.Runner \
  src/test/config/unittest/core.ini
ExternCompiler Fatal: Failure("int_of_string")

Fatal error: Uncaught Error: Failure("int_of_string") in /.../StringOfTest.class.php:-1

Also, another error spread out over a bunch of classes:

$ XP_RT=./php xp -w 'return new class implements \lang\Value {
  function toString() { return "X"; }
  function hashCode() { return "X"; }
  function compareTo($value) { return 1; }
}'
X

$ XP_RT=./php xp -w 'use lang\Value; return new class implements Value {
  function toString() { return "X"; }
  function hashCode() { return "X"; }
  function compareTo($value) { return 1; }
}'

Uncaught error: Fatal error (Undefined interface: Value)
  at <source> [line 1 of .../Code.class.php(124)... : eval()'d code]

The one above is caused by Value not being resolved to lang\Value as it should, filed facebook/hhvm#8214 for this - occurs with 3.26 and 3.27

The first is caused e.g. by passing a function to an anonymous class constructor, filed facebook/hhvm#8215 for this.

Currently running with HHVM and HHVM nightly set to ignore on Travis CI (see 655a8eb)

Fixed by adding the following line to .travis.yml in 26a409c:

before_script:
  - if [[ $TRAVIS_PHP_VERSION = "hhvm"* ]]; then echo hhvm.hack_compiler_default=false > /etc/hhvm/php.ini; fi

See https://travis-ci.org/xp-framework/core/jobs/384450215

Both issues have been fixed 👍

Travis-CI still uses 3.26:

$ php --version
HipHop VM 3.26.3 (rel)
Compiler: 1527193722_085567627
Repo schema: dc75304c16203f920fb91693cc129f17cf05ee80

See https://travis-ci.org/xp-framework/core/jobs/389488662