HHVM stuck and use 100% on all cores #6588

Closed
noony opened this Issue Nov 23, 2015 · 5 comments

Comments

Projects
None yet
6 participants
@noony
Contributor

noony commented Nov 23, 2015

HHVM uses 100% on all core and doesn't respond.

HHVM version :

hhvm --version
HipHop VM 3.11.0-dev (rel)
Compiler: heads/master-0-g9d20e62bccfc631c93efc03722886ce81c8e57d7
Repo schema: e770293f1b8e5916851785a525aa76526c9bbd7a

result of thread apply all bt (all thread have this) :

Thread 113 (Thread 0x7f45c8bff700 (LWP 68833)):
#0  0x0000000002e2e24e in HPHP::FixedStringMap<unsigned int, true, unsigned int>::find(HPHP::StringData const*) const ()
#1  0x0000000002e72c31 in HPHP::Func::lookupVarId(HPHP::StringData const*) const ()
#2  0x000000000187c7ef in HPHP::jit::MCGenerator::handleBindCall(unsigned char*, HPHP::ActRec*, bool) ()
#3  0x00000000112001b4 in ?? ()
#4  0x0000000002e38699 in enterTCHelper ()
#5  0x00000000017ca653 in HPHP::jit::x64::enterTCImpl(unsigned char*, HPHP::ActRec*) ()
#6  0x0000000001869779 in HPHP::jit::MCGenerator::enterTC(unsigned char*, HPHP::ActRec*) ()
#7  0x00000000010c006e in HPHP::enterVMAtFunc(HPHP::ActRec*, HPHP::StackArgsState, HPHP::VarEnv*) ()
#8  0x0000000002e37542 in HPHP::ExecutionContext::invokeFunc(HPHP::TypedValue*, HPHP::Func const*, HPHP::Variant const&, HPHP::ObjectData*, HPHP::Class*, HPHP::VarEnv*, HPHP::StringData*, HPHP::ExecutionContext::InvokeFlags) ()
#9  0x0000000002e7fd4d in HPHP::ExecutionContext::invokeUnit(HPHP::TypedValue*, HPHP::Unit const*) ()
#10 0x0000000000c4fd6f in HPHP::include_impl_invoke(HPHP::String const&, bool, char const*) ()
#11 0x0000000000d96d74 in HPHP::hphp_invoke(HPHP::ExecutionContext*, std::string const&, bool, HPHP::Array const&, HPHP::VRefParamValue const&, std::string const&, std::string const&, bool&, std::string&, bool, bool, bool) ()
#12 0x0000000000edff2d in HPHP::HttpRequestHandler::executePHPRequest(HPHP::Transport*, HPHP::RequestURI&, HPHP::SourceRootInfo&, bool) ()
---Type <return> to continue, or q <return> to quit---
#13 0x0000000000ee17de in HPHP::HttpRequestHandler::handleRequest(HPHP::Transport*) ()
#14 0x0000000000f6975a in HPHP::ServerWorker<std::shared_ptr<HPHP::FastCGIJob>, HPHP::FastCGITransportTraits>::doJobImpl(std::shared_ptr<HPHP::FastCGIJob>, bool) ()
#15 0x0000000000f69cce in HPHP::ServerWorker<std::shared_ptr<HPHP::FastCGIJob>, HPHP::FastCGITransportTraits>::doJob(std::shared_ptr<HPHP::FastCGIJob>) ()
#16 0x0000000000f610b6 in HPHP::JobQueueWorker<std::shared_ptr<HPHP::FastCGIJob>, HPHP::Server*, true, false, HPHP::JobQueueDropVMStack>::start() ()
#17 0x00000000023b9c97 in HPHP::AsyncFuncImpl::ThreadFunc(void*) ()
#18 0x0000000000cd3ee7 in HPHP::start_routine_wrapper(void*) ()
#19 0x00007f45dff73182 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#20 0x00007f45df48047d in clone () from /lib/x86_64-linux-gnu/libc.so.6
@aohorodnyk

This comment has been minimized.

Show comment
Hide comment
@aohorodnyk

aohorodnyk Nov 23, 2015

@noony Can you describe your problem (version of hhvm, steps to reproduce this bug)?

@noony Can you describe your problem (version of hhvm, steps to reproduce this bug)?

@noony

This comment has been minimized.

Show comment
Hide comment
@noony

noony Nov 23, 2015

Contributor

I can't have steps to reproduce this bug. This append sometimes, randomly.

Contributor

noony commented Nov 23, 2015

I can't have steps to reproduce this bug. This append sometimes, randomly.

@wjywbs

This comment has been minimized.

Show comment
Hide comment
@wjywbs

wjywbs Nov 24, 2015

Contributor

Looks like the find function had an infinite loop when the issue happened.

for(;;) {
assert(numProbes++ < m_mask + 1);
if (UNLIKELY(nullptr == elm->sd)) return nullptr;
if (FSM::strEqual<CaseSensitive>(elm->sd, sd)) return &elm->data;
if (UNLIKELY(++elm == m_table)) elm -= m_mask + 1;
}

Contributor

wjywbs commented Nov 24, 2015

Looks like the find function had an infinite loop when the issue happened.

for(;;) {
assert(numProbes++ < m_mask + 1);
if (UNLIKELY(nullptr == elm->sd)) return nullptr;
if (FSM::strEqual<CaseSensitive>(elm->sd, sd)) return &elm->data;
if (UNLIKELY(++elm == m_table)) elm -= m_mask + 1;
}

@ksaltik

This comment has been minimized.

Show comment
Hide comment
@ksaltik

ksaltik Nov 26, 2015

Same problem in Magento 1.9.2.2 default installation with sample data.

ksaltik commented Nov 26, 2015

Same problem in Magento 1.9.2.2 default installation with sample data.

@aorenste

This comment has been minimized.

Show comment
Hide comment
@aorenste

aorenste Sep 27, 2016

Contributor

We've been unable to reproduce this bug, and are unable to investigate further. We are closing the issue for now, if you identify a test case we can use to reproduce your bug feel free to re-open.

Contributor

aorenste commented Sep 27, 2016

We've been unable to reproduce this bug, and are unable to investigate further. We are closing the issue for now, if you identify a test case we can use to reproduce your bug feel free to re-open.

@aorenste aorenste closed this Sep 27, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment