When hhvm crashes, upstart tries to start it again; we've seen a few cases where hhvm will fail to start correctly; grabbing a couple of quickstack dumps showed HHVM is stuck in a deadlock at startup:
Thread 2 (LWP 26568): #01 0x00007f49f8fbe680 in sem_wait () from /build/eglibc-3GlaMS/eglibc-2.19/nptl/../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:84 #02 0x00000000016a4e58 in HPHP::s_waitThread () from /usr/bin/hhvm #03 0x0000000000ce0ff7 in HPHP::start_routine_wrapper () from /usr/bin/hhvm #04 0x00007f49f8fb8182 in start_thread () from /build/eglibc-3GlaMS/eglibc-2.19/nptl/pthread_create.c:312 Thread 1 (LWP 26560): #01 0x00007f49f8fbef2c in __lll_lock_wait () from /build/eglibc-3GlaMS/eglibc-2.19/nptl/../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:133 #02 0x00000000012bdd00 in HPHP::jit::sortBlocks () from /usr/bin/hhvm #03 0x0000000001297e43 in HPHP::jit::X64Assembler::instrIM8 () from /usr/bin/hhvm #04 0x0000000000c7af05 in std::vector<unsigned long, std::allocator<unsigned long> >::_M_default_append () from /usr/bin/hhvm #05 0x0000000001195030 in HPHP::jit::simplify () from /usr/bin/hhvm #06 0x000000000109cb48 in boost::dynamic_bitset<unsigned long, std::allocator<unsigned long> >::find_next () from /usr/bin/hhvm #07 0x000000000109fb9a in HPHP::jit::allocateRegisters () from /usr/bin/hhvm #08 0x0000000001282241 in HPHP::jit::optimizeX64 () from /usr/bin/hhvm #09 0x0000000001181cc9 in HPHP::jit::Vauto::~Vauto () from /usr/bin/hhvm #10 0x00000000010205a9 in HPHP::jit::Vauto::Vauto () from /usr/bin/hhvm #11 0x000000000102061a in HPHP::jit::Vauto::Vauto () from /usr/bin/hhvm #12 0x00000000010226f6 in HPHP::jit::UniqueStubs::emitAll () from /usr/bin/hhvm #13 0x000000000104f987 in HPHP::jit::MCGenerator::initUniqueStubs () from /usr/bin/hhvm #14 0x0000000000bf1ce5 in HPHP::ProcessInit () from /usr/bin/hhvm #15 0x0000000000ca7fac in HPHP::hphp_process_init () from /usr/bin/hhvm #16 0x0000000000e43aa5 in HPHP::HttpServer::HttpServer () from /usr/bin/hhvm #17 0x0000000000cb4733 in virtual thunk to boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::invalid_option_value> >::rethrow() const () from /usr/bin/hhvm #18 0x0000000000cb58af in HPHP::execute_program () from /usr/bin/hhvm #19 0x0000000000bf19e0 in main () from /usr/bin/hhvm .
while it would also be important to investigate the reason of crashes, this is most worrying tbh.