Page MenuHomePhabricator

Create an HHVM 3.6.0 package, adding Tim's streaming patch
Closed, ResolvedPublic

Description

This is needed for including Tim's patch in T91468, which is in itself needed for the imagescalers HHVM migration.

Event Timeline

Joe created this task.Mar 19 2015, 12:09 PM
Joe updated the task description. (Show Details)
Joe raised the priority of this task from to High.
Joe claimed this task.
Joe added subscribers: Matanya, Ricordisamoa, bd808 and 17 others.
gpaumier set Security to None.

This has been added to Roadmap, per roadmap policy please move it to the appropriate column in the roadmap within the next couple of weeks. Thanks!

Joe moved this task from Unscheduled to March 16-20 on the Roadmap board.Mar 20 2015, 8:18 AM
Joe moved this task from March 16-20 to March 23-27 on the Roadmap board.
Steinsplitter moved this task from Incoming to Backlog on the Commons board.Mar 20 2015, 12:34 PM

(Tag was inherited and not intentionally added, removing.)

Joe added a comment.EditedApr 1 2015, 4:56 PM

@tstarling, hhvm segfaults with your patch (which applies cleanly btw on HHVM 3.6.1) when running any test, example:

Host: hhvm-test
ProcessID: 17358
ThreadID: 7f454ec3bd00
ThreadPID: 17358
Name: unknown program
Type: Segmentation fault
Runtime: hhvm
Version: heads/master_build-0-ga0458e4ffffb78c0ad5f1d5052275473f5fbc35c
DebuggerCount: 0

Arguments: hphp/test/quick/cgetm_hee.php
ThreadType: CLI

# 0  bt_handler at /usr/src/oblivian/debs/hhvm/hphp/runtime/base/crash-reporter.cpp:82
# 1  HPHP::vm_decode_function(HPHP::Variant const&, HPHP::ActRec*, bool, HPHP::ObjectData*&, HPHP::Class*&, HPHP::StringData*&, bool) at /usr/src/oblivian/debs/hhvm/hphp/util/low-ptr.h:77
# 2  HPHP::vm_call_user_func(HPHP::Variant const&, HPHP::Variant const&, bool) at /usr/src/oblivian/debs/hhvm/hphp/runtime/base/builtin-functions.cpp:351
# 3  HPHP::ExecutionContext::obFlush() at /usr/src/oblivian/debs/hhvm/hphp/runtime/base/type-variant.h:264
# 4  HPHP::ExecutionContext::onShutdownPreSend() at /usr/include/c++/4.8/bits/stl_list.h:873
# 5  HPHP::hphp_invoke(HPHP::ExecutionContext*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, HPHP::Array const&, HPHP::VRefParamValue const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool, bool, bool) at /usr/src/oblivian/debs/hhvm/hphp/runtime/base/program-functions.cpp:1947
# 6  HPHP::hphp_invoke_simple(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) at /usr/src/oblivian/debs/hhvm/hphp/runtime/base/type-variant.h:1087
# 7  execute_program_impl at /usr/src/oblivian/debs/hhvm/hphp/runtime/base/program-functions.cpp:1621
# 8  HPHP::execute_program(int, char**) at /usr/src/oblivian/debs/hhvm/hphp/runtime/base/program-functions.cpp:1021
# 9  main at /usr/src/oblivian/debs/hhvm/hphp/hhvm/main.cpp:60
# 10 __libc_start_main at /build/buildd/eglibc-2.19/csu/libc-start.c:321
# 11 _start at ./hphp/hhvm/hhvm:0

Maybe this is related to being run from the cli?

Joe added a comment.Apr 27 2015, 7:27 AM

the package is created and running since friday in beta on one host.

If I don't see any really worrying sign of problems, I'll install it across all of beta today, then to the HHVM imagescaler tomorrow. We can get it to the canary clusters after that.

Joe added a comment.Apr 27 2015, 8:00 AM

In deployment-mediawiki01 logs I find a few occurrences of core dumps, and inspecting those I find

message: Attempted to emit 6 byte(s) into a 9 byte DataBlock with 0 bytes available. This almost certainly means the TC is full. If this is the case, increasing Eval.JitASize, Eval.JitAColdSize, Eval.JitAFrozenSize and Eval.JitGlobalDataSize in the configuration file when running this script or application should fix this problem.

so it's probably needed to raise the TC sizes with HHVM 3.6

Change 207737 had a related patch set uploaded (by Giuseppe Lavagetto):
hhvm: make base_jit_size configurable

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

Change 207737 merged by Giuseppe Lavagetto:
hhvm: make base_jit_size configurable

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

Joe added a comment.May 4 2015, 10:29 AM

The change in jit size had a positive effect in beta, where it prevented hhvm from crashing.

Joe closed this task as Resolved.May 6 2015, 3:10 PM