Crash when collapse project optimize
Shylock-Hg opened this issue · comments
shylock commented
Please check the FAQ documentation before raising an issue
Describe the bug (must be provided)
(lldb) bt
* thread #1, name = 'nebula-graphd', stop reason = signal SIGABRT
* frame #0: 0x00007efde0fe353f libc.so.6`__GI_raise(sig=6) at raise.c:51
frame #1: 0x00007efde0fcd895 libc.so.6`__GI_abort at abort.c:79
frame #2: 0x000000000432228d nebula-graphd`google::LogMessage::Fail() + 13
frame #3: 0x000000000432706e nebula-graphd`google::LogMessage::SendToLog() + 574
frame #4: 0x0000000004321f5e nebula-graphd`google::LogMessage::Flush() + 190
frame #5: 0x00000000043227b9 nebula-graphd`google::LogMessageFatal::~LogMessageFatal() + 9
frame #6: 0x0000000002d78f39 nebula-graphd`nebula::graph::PlanNode::setInputVar(this=0x00007efdc1a31c80, varname="", idx=0) at PlanNode.cpp:336
frame #7: 0x0000000002d27b6d nebula-graphd`nebula::opt::CollapseProjectRule::transform(this=0x00007efde0a08020, octx=0x00007efdc1a0c9f0, matched=0x00007efdc27fbef0) const at CollapseProjectRule.cpp:101
frame #8: 0x0000000002d170ca nebula-graphd`nebula::opt::OptGroup::explore(this=0x00007efdc1a745c0, rule=0x00007efde0a08020) at OptGroup.cpp:80
frame #9: 0x0000000002d175d9 nebula-graphd`nebula::opt::OptGroup::exploreUntilMaxRound(this=0x00007efdc1a745c0, rule=0x00007efde0a08020) at OptGroup.cpp:120
frame #10: 0x0000000002d13265 nebula-graphd`nebula::opt::Optimizer::doExploration(this=0x00007efdd320a280, octx=0x00007efdc1a0c9f0, rootGroup=0x00007efdc1a745c0) at Optimizer.cpp:54
frame #11: 0x0000000002d12e11 nebula-graphd`nebula::opt::Optimizer::findBestPlan(this=0x00007efdd320a280, qctx=0x00007efdc1a276d0) at Optimizer.cpp:38
frame #12: 0x0000000002b6716d nebula-graphd`nebula::graph::QueryInstance::findBestPlan(this=0x00007efdc1a4aa80) at QueryInstance.cpp:192
frame #13: 0x0000000002b6644d nebula-graphd`nebula::graph::QueryInstance::validateAndOptimize(this=0x00007efdc1a4aa80) at QueryInstance.cpp:73
frame #14: 0x0000000002b65f99 nebula-graphd`nebula::graph::QueryInstance::execute(this=0x00007efdc1a4aa80) at QueryInstance.cpp:38
frame #15: 0x0000000002b5ce78 nebula-graphd`nebula::graph::QueryEngine::execute(this=0x00007efde0a96db0, rctx=nullptr) at QueryEngine.cpp:53
frame #16: 0x0000000002b1be8f nebula-graphd`operator(__closure=0x00007efdc2f74bd0, ret=StatusOr<std::shared_ptr<nebula::graph::ClientSession> > @ 0x00007efdc27fc8d0) at GraphService.cpp:159
frame #17: 0x0000000002b1e6e2 nebula-graphd`operator(this=0x00007efdc27fc900) at Future-inl.h:88
frame #18: 0x0000000002b20d1d nebula-graphd`folly::futures::detail::InvokeResultWrapper<void>::wrapResult<folly::futures::detail::wrapInvoke(fn=<lambda()> @ 0x00007efdc27fc900) [with T = nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >; F = nebula::graph::GraphService::future_execute(int64_t, const string&)::<lambda(nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >)>]::<lambda()> >(<lambda()>) at Future-inl.h:80
frame #19: 0x0000000002b1e78e nebula-graphd`folly::futures::detail::wrapInvoke<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >, nebula::graph::GraphService::future_execute(int64_t, const string&)::<lambda(nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >)> >(t=0x00007efdc2f74c50, f=0x00007efdc2f74bd0)> &&) at Future-inl.h:98
frame #20: 0x0000000002b1e7d7 nebula-graphd`operator(this=0x00007efdc2f74bd0, (null)=0x00007efdb1e0c210, t=0x00007efdc2f74c50) at Future-inl.h:1004
frame #21: 0x0000000002b20de8 nebula-graphd`folly::futures::detail::CoreCallbackState<folly::Unit, folly::Future<T>::thenValue(F&&) && [with F = nebula::graph::GraphService::future_execute(int64_t, const string&)::<lambda(nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >)>; T = nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >; typename folly::futures::detail::valueCallableResult<T, F>::value_type = folly::Unit]::<lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> > >&&)> >::invoke<folly::Executor::KeepAlive<folly::Executor>, folly::Try<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> > > >(this=0x00007efdc2f74bd0, (null)=<unavailable>, (null)=<unavailable>, args#0=0x00007efdb1e0c210, args#1=0x00007efdc2f74c50) const at Future-inl.h:134
frame #22: 0x0000000002b20e46 nebula-graphd`folly::futures::detail::detail_msvc_15_7_workaround::invoke<folly::futures::detail::tryExecutorCallableResult<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >, folly::Future<T>::thenValue(F&&) && [with F = nebula::graph::GraphService::future_execute(int64_t, const string&)::<lambda(nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >)>; T = nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >]::<lambda(folly::Executor::KeepAlive<>&&, folly::Try<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> > >&&)>, void>, folly::futures::detail::CoreCallbackState<folly::Unit, folly::Future<T>::thenValue(F&&) && [with F = nebula::graph::GraphService::future_execute(int64_t, const string&)::<lambda(nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >)>; T = nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >]::<lambda(folly::Executor::KeepAlive<>&&, folly::Try<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> > >&&)> >, nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> > >((null)=tryExecutorCallableResult<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >, folly::Future<T>::thenValue(F&&) && [with F = nebula::graph::GraphService::future_execute(int64_t, const string&)::<lambda(nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >)>; T = nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >; typename folly::futures::detail::valueCallableResult<T, F>::value_type = folly::Unit]::<lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> > >&&)>, void> @ 0x00007efdc27fca00, state=0x00007efdc2f74bd0, ka=0x00007efdb1e0c210, t=0x00007efdc2f74c50)> >, folly::futures::detail::CoreCallbackState<folly::Unit, <lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> > >&&)> > &, folly::Executor::KeepAlive<folly::Executor> &&, folly::Try<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> > > &&) at Future-inl.h:327
frame #23: 0x0000000002b20e9d nebula-graphd`operator(this=0x00007efdc27fcae0) at Future-inl.h:403
frame #24: 0x0000000002b2383d nebula-graphd`folly::makeTryWith<folly::futures::detail::FutureBase<T>::thenImplementation(F&&, R, folly::futures::detail::InlineContinuation) [with F = folly::Future<T>::thenValue(F&&) && [with F = nebula::graph::GraphService::future_execute(int64_t, const string&)::<lambda(nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >)>; T = nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >]::<lambda(folly::Executor::KeepAlive<>&&, folly::Try<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> > >&&)>; R = folly::futures::detail::tryExecutorCallableResult<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >, folly::Future<T>::thenValue(F&&) && [with F = nebula::graph::GraphService::future_execute(int64_t, const string&)::<lambda(nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >)>; T = nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >]::<lambda(folly::Executor::KeepAlive<>&&, folly::Try<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> > >&&)>, void>; T = nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >]::<lambda(folly::Executor::KeepAlive<>&&, folly::Try<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> > >&&)> mutable::<lambda()> >(f=0x00007efdc27fcae0)> &&) at Try-inl.h:279
frame #25: 0x0000000002b20f74 nebula-graphd`operator(this=0x00007efdc2f74bd0, ka=0x00007efdb1e0c210, t=0x00007efdc2f74c50) at Future-inl.h:401
frame #26: 0x0000000002b256cc nebula-graphd`operator(this=0x00007efdc2f74bd0, coreBase=0x00007efdc2f74bc0, ka=0x00007efdb1e0c210, ew=0x0000000000000000) at Core.h:583
frame #27: 0x0000000002b289de nebula-graphd`folly::detail::function::FunctionTraits<void(folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*)>::callSmall<folly::futures::detail::Core<T>::setCallback(args#0=0x00007efdc2f74bc0, args#1=0x00007efdb1e0c210, args#2=0x0000000000000000, p=0x00007efdc2f74bd0) [with F = folly::futures::detail::FutureBase<T>::thenImplementation(F&&, R, folly::futures::detail::InlineContinuation) [with F = folly::Future<T>::thenValue(F&&) && [with F = nebula::graph::GraphService::future_execute(int64_t, const string&)::<lambda(nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >)>; T = nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >]::<lambda(folly::Executor::KeepAlive<>&&, folly::Try<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> > >&&)>; R = folly::futures::detail::tryExecutorCallableResult<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >, folly::Future<T>::thenValue(F&&) && [with F = nebula::graph::GraphService::future_execute(int64_t, const string&)::<lambda(nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >)>; T = nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >]::<lambda(folly::Executor::KeepAlive<>&&, folly::Try<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> > >&&)>, void>; T = nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >]::<lambda(folly::Executor::KeepAlive<>&&, folly::Try<nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> > >&&)>; T = nebula::StatusOr<std::shared_ptr<nebula::graph::ClientSession> >]::<lambda(folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<>&&, folly::exception_wrapper*)> >(folly::detail::function::CallArg, folly::detail::function::CallArg, folly::detail::function::CallArg, folly::detail::function::Data &) at Function.h:371
frame #28: 0x0000000004254e8c nebula-graphd`___lldb_unnamed_symbol3946$$nebula-graphd + 60
frame #29: 0x000000000405a7a7 nebula-graphd`virtual thunk to apache::thrift::concurrency::FunctionRunner::run() + 151
frame #30: 0x000000000416e9a3 nebula-graphd`apache::thrift::concurrency::ThreadManager::Impl::Worker::run() + 339
frame #31: 0x00000000041725fd nebula-graphd`apache::thrift::concurrency::PthreadThread::threadMain(void*) + 205
frame #32: 0x00007efde117958e libpthread.so.0`start_thread(arg=<unavailable>) at pthread_create.c:486
frame #33: 0x00007efde10a8513 libc.so.6`__GI___clone at clone.S:95
Your Environments (must be provided)
- OS:
uname -a
- Compliler:
g++ --version
orclang++ --version
- CPU:
lscpu
- Commit id (e.g.
a3ffc7d8
)
How To Reproduce(must be provided)
Steps to reproduce the behavior:
Build master version and run the tests.
Expected behavior
A clear and concise description of what you expected to happen.
Additional context
Provide logs and configs, or any other context to trace the problem.