Nebula 3.2.0 查询异常退出

提问参考模版:

  • nebula 版本:3.2.0
  • 部署方式:分布式
  • 安装方式:RPM
  • 是否为线上版本:Y
  • 硬件信息
    • 磁盘 SSD
    • CPU、内存信息 8核 32G
  • 问题的具体描述
  • 相关的 meta / storage / graph info 日志信息(尽量使用文本形式方便检索)

当查询 match(v) return v limit 3 必现下面

[285062.646779] graph-netio7[34762]: segfault at 0 ip 000000000140ba61 sp 00007f9dec7f50a0 error 4 in nebula-graphd[ef0000+17b1000]

重启服务后还能能稳定复现么?因为我这边版本和你是一样的,查起来没啥问题,这是我们文档上的示例语句,看起来没啥问题:

另外可否再贴一下服务的状态?比如像 show host这样的其他语句正常么?

show spaces 、show hosts都没有问题 ,这样查询报错后,graph进程就挂了

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/local/nebula/bin/nebula-graphd --flagfile /usr/local/nebula/etc/nebula-gra'.
Program terminated with signal 11, Segmentation fault.
#0  0x000000000140ba61 in ?? ()
Missing separate debuginfos, use: debuginfo-install nebula-graph-3.2.0-1.x86_64
(gdb) bt
#0  0x000000000140ba61 in ?? ()
#1  0x0000000001425fa4 in ?? ()
#2  0x000000000208798c in ?? ()
#3  0x00000000020cfddb in folly::EventBase::FunctionLoopCallback::runLoopCallback() ()
#4  0x00000000020c89ca in folly::EventBase::runLoopCallbacks(boost::intrusive::list<folly::EventBase::LoopCallback, boost::intrusive::constant_time_size<false> >&) ()
#5  0x00000000020c8a57 in folly::EventBase::runLoopCallbacks() ()
#6  0x00000000020cad03 in folly::EventBase::loopBody(int, bool) ()
#7  0x00000000020cb88e in folly::EventBase::loop() ()
#8  0x00000000020ce4c8 in folly::EventBase::loopForever() ()
#9  0x0000000002058bd9 in folly::IOThreadPoolExecutor::threadRun(std::shared_ptr<folly::ThreadPoolExecutor::Thread>) ()
#10 0x0000000002067147 in void folly::detail::function::FunctionTraits<void ()>::callBig<std::_Bind<void (folly::ThreadPoolExecutor::*(folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)> >(folly::detail::function::Data&) ()
#11 0x0000000002676210 in ?? ()
#12 0x00007f49da95cea5 in start_thread () from /lib64/libpthread.so.0
#13 0x00007f49da685b0d in clone () from /lib64/libc.so.6

解决了

[root@al-t1-duapp-risk-graph-core-08311122-001 ~]# addr2line 000000000140ba61 -e /usr/local/nebula/bin/nebula-graphd -f -C -s
nebula::storage::StorageClient::getIdFromDelTags[abi:cxx11](int) const
??:?

查看存储日志

I20220906 09:30:24.451346 52948 MetaClient.cpp:137] Waiting for the metad to be ready!
W20220906 09:30:34.451423 52948 FileBasedClusterIdMan.cpp:43] Open file failed, error No such file or directory
E20220906 09:30:37.456985 52948 MetaClient.cpp:112] Heartbeat failed, status:Machine not existed!

重新初始数据解决,但没明白,通过add hosts 怎么加入的

没太懂你这个问题,是这个文档么?https://docs.nebula-graph.com.cn/3.2.0/4.deployment-and-installation/manage-storage-host/

您好,您这个 case 可能确实是有 bug 存在,或者说对异常的处理上应该改进一下。无论如何, segmentation fault 是不应该出现的。

方便讲一下之前添加 storaged host 的过程,还有整体的过程吗?方便我们复现这个问题。

谢谢!

2 个赞

不太记得了,应该也是按官方文档操作的,但其中一台机器在创建space时相没有相关存储目录,按逻辑来说应该直接启动不了,但是可以启动,所有没怀疑到这个上面

对的,是基于这个操作的

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。