https://bugzilla.wikimedia.org/show_bug.cgi?id=65351

            Bug ID: 65351
           Summary: HHBC cache creation fails with SIGSEGV on osmium
           Product: Wikimedia
           Version: wmf-deployment
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: Unprioritized
         Component: Deployment systems
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected], [email protected]
       Web browser: ---
   Mobile Platform: ---

My prototype hhvm hhbc compilation script fails when run on osmium with a seg
fault. This behavior was not seen with a similar testing script on the
core-hhvm.eqiad.wfmlabs labs instance which is using hhvm from our apt
repository.

Steps to reproduce:
* ssh osmium
* /home/bd808/scap-hhvm-compile

An example core file is saved as osmium:/home/bd808/core-hhvm-compile

Using gdb on the core file shows:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00000000015ce57e in HPHP::HHBBC::res::Func
HPHP::HHBBC::Index::resolve_func_helper<boost::iterator_range<std::__detail::_Node_const_iterator<std::pair<HPHP::StringData
const* const, HPHP::HHBBC::php::Func const*>, false, true> >
>(boost::iterator_range<std::__detail::_Node_const_iterator<std::pair<HPHP::StringData
const* const, HPHP::HHBBC::php::Func const*>, false, true> > const&,
HPHP::StringData const*) const ()

gdb> bt
#0  0x00000000015ce57e in HPHP::HHBBC::res::Func
HPHP::HHBBC::Index::resolve_func_helper<boost::iterator_range<std::__detail::_Node_const_iterator<std::pair<HPHP::StringData
const* const, HPHP::HHBBC::php::Func const*>, false, true> >
>(boost::iterator_range<std::__detail::_Node_const_iterator<std::pair<HPHP::StringData
const* const, HPHP::HHBBC::php::Func const*>, false, true> > const&,
HPHP::StringData const*) const ()
#1  0x00000000015c7e5b in
HPHP::HHBBC::Index::resolve_func_fallback(HPHP::HHBBC::Context,
HPHP::StringData const*, HPHP::StringData const*) const ()
#2  0x000000000155981a in HPHP::HHBBC::(anonymous
namespace)::in(HPHP::HHBBC::ISS&, HPHP::HHBBC::bc::FPushFuncU const&) [clone
.isra.636] ()
#3  0x000000000155daa2 in HPHP::HHBBC::(anonymous
namespace)::dispatch(HPHP::HHBBC::ISS&, HPHP::HHBBC::Bytecode const&) ()
#4  0x000000000155f8df in HPHP::HHBBC::run(HPHP::HHBBC::Interp&,
std::function<void (HPHP::HHBBC::php::Block&, HPHP::HHBBC::State const&)>) ()
#5  0x000000000152d514 in HPHP::HHBBC::(anonymous
namespace)::do_analyze(HPHP::HHBBC::Index const&, HPHP::HHBBC::Context,
HPHP::HHBBC::ClassAnalysis*) ()
#6  0x000000000152e57f in HPHP::HHBBC::analyze_class(HPHP::HHBBC::Index const&,
HPHP::HHBBC::Context) ()
#7  0x000000000151c3d5 in folly::Optional<HPHP::HHBBC::(anonymous
namespace)::WorkResult>*
std::transform<__gnu_cxx::__normal_iterator<HPHP::HHBBC::(anonymous
namespace)::WorkItem const*, std::vector<HPHP::HHBBC::(anonymous
namespace)::WorkItem, std::allocator<HPHP::HHBBC::(anonymous
namespace)::WorkItem> > >, folly::Optional<HPHP::HHBBC::(anonymous
namespace)::WorkResult>*, HPHP::HHBBC::(anonymous
namespace)::optimize(HPHP::HHBBC::Index&,
HPHP::HHBBC::php::Program&)::{lambda()#2}::operator()()
const::{lambda(HPHP::HHBBC::(anonymous namespace)::WorkItem
const&)#1}>(__gnu_cxx::__normal_iterator<HPHP::HHBBC::(anonymous
namespace)::WorkItem const*, std::vector<HPHP::HHBBC::(anonymous
namespace)::WorkItem, std::allocator<HPHP::HHBBC::(anonymous
namespace)::WorkItem> > >, HPHP::HHBBC::(anonymous
namespace)::optimize(HPHP::HHBBC::Index&,
HPHP::HHBBC::php::Program&)::{lambda()#2}::operator()()
const::{lambda(HPHP::HHBBC::(anonymous namespace)::WorkItem const&)#1},
{lambda(HPHP::HHBBC::(anonymous namespace)::WorkItem const&)#1},
HPHP::HHBBC::(anonymous namespace)::optimize(HPHP::HHBBC::Index&,
HPHP::HHBBC::php::Program&)::{lambda()#2}::operator()()
const::{lambda(HPHP::HHBBC::(anonymous namespace)::WorkItem const&)#1}) ()
#8  0x000000000151c5a7 in
std::thread::_Impl<std::_Bind_simple<std::vector<std::result_of<HPHP::HHBBC::(anonymous
namespace)::optimize(HPHP::HHBBC::Index&,
HPHP::HHBBC::php::Program&)::{lambda()#2}::operator()()
const::{lambda(HPHP::HHBBC::(anonymous namespace)::WorkItem const&)#1}
({lambda()#2})>::type, std::allocator<HPHP::HHBBC::(anonymous
namespace)::optimize(HPHP::HHBBC::Index&,
HPHP::HHBBC::php::Program&)::{lambda()#2}::operator()()
const::{lambda(HPHP::HHBBC::(anonymous namespace)::WorkItem const&)#1}
({lambda()#2})> > HPHP::HHBBC::parallel::map<HPHP::HHBBC::(anonymous
namespace)::optimize(HPHP::HHBBC::Index&,
HPHP::HHBBC::php::Program&)::{lambda()#2}::operator()()
const::{lambda(HPHP::HHBBC::(anonymous namespace)::WorkItem const&)#1},
{lambda()#2}>({lambda(HPHP::HHBBC::(anonymous namespace)::WorkItem
const&)#1}<std::result_of, std::allocator<std::result_of> > const&,
std::vector)::{lambda()#1} ()> >::_M_run() ()
#9  0x00007f847ef03bf0 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x00007f847f15e182 in start_thread (arg=0x7f826a7e6700) at
pthread_create.c:312
#11 0x00007f847e66b30d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:111

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to