-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Closed
Description
Describe the bug
I found a coredump of BE when create new tablet:
Core was generated by `/home/work/app/doris/zjyprc-newretail/be/package/be/lib/palo_be'.
Program terminated with signal 11, Segmentation fault.
#0 0x0000000000de6fda in construct<doris::TabletInfo, doris::TabletInfo const&> (this=<optimized out>, __p=<optimized out>) at /usr/include/c++/7.3.0/ext/new_allocator.h:111
111 /usr/include/c++/7.3.0/ext/new_allocator.h: 没有那个文件或目录.
Missing separate debuginfos, use: debuginfo-install glibc-2.17-157.el7_3.1.x86_64 libgcc-4.8.5-28.el7_5.1.x86_64 zlib-1.2.7-17.el7.x86_64
(gdb) bt
#0 0x0000000000de6fda in construct<doris::TabletInfo, doris::TabletInfo const&> (this=<optimized out>, __p=<optimized out>) at /usr/include/c++/7.3.0/ext/new_allocator.h:111
#1 construct<doris::TabletInfo, doris::TabletInfo const&> (__a=..., __p=<optimized out>) at /usr/include/c++/7.3.0/bits/alloc_traits.h:475
#2 _M_construct_node<doris::TabletInfo const&> (this=<optimized out>, __node=<optimized out>) at /usr/include/c++/7.3.0/bits/stl_tree.h:626
#3 _M_create_node<doris::TabletInfo const&> (this=<optimized out>) at /usr/include/c++/7.3.0/bits/stl_tree.h:643
#4 operator()<const doris::TabletInfo&> (this=0x7f338a724a08, __arg=...) at /usr/include/c++/7.3.0/bits/stl_tree.h:556
#5 _M_clone_node<std::_Rb_tree<doris::TabletInfo, doris::TabletInfo, std::_Identity<doris::TabletInfo>, std::less<doris::TabletInfo>, std::allocator<doris::TabletInfo> >::_Alloc_node> (this=0x7f338a724a40, __node_gen=..., __x=0x3330346436346135)
at /usr/include/c++/7.3.0/bits/stl_tree.h:666
#6 std::_Rb_tree<doris::TabletInfo, doris::TabletInfo, std::_Identity<doris::TabletInfo>, std::less<doris::TabletInfo>, std::allocator<doris::TabletInfo> >::_M_copy<std::_Rb_tree<doris::TabletInfo, doris::TabletInfo, std::_Identity<doris::TabletInfo>, std::less<doris::TabletInfo>, std::allocator<doris::TabletInfo> >::_Alloc_node> (this=this@entry=0x7f338a724a40, __x=0x3330346436346135, __p=0x2840ceec0, __p@entry=0x7f338a724a48, __node_gen=...) at /usr/include/c++/7.3.0/bits/stl_tree.h:1830
#7 0x0000000000ddecd1 in _M_copy<std::_Rb_tree<doris::TabletInfo, doris::TabletInfo, std::_Identity<doris::TabletInfo>, std::less<doris::TabletInfo>, std::allocator<doris::TabletInfo> >::_Alloc_node> (__gen=..., __x=..., this=0x7f338a724a40)
at /usr/include/c++/7.3.0/bits/stl_tree.h:875
#8 _M_copy (__x=..., this=0x7f338a724a40) at /usr/include/c++/7.3.0/bits/stl_tree.h:886
#9 _Rb_tree (__x=..., this=0x7f338a724a40) at /usr/include/c++/7.3.0/bits/stl_tree.h:924
#10 set (this=0x7f338a724a40) at /usr/include/c++/7.3.0/bits/stl_set.h:213
#11 tablet_set (this=0x5f22d80) at /builds/olap/doris/be/src/olap/data_dir.h:126
#12 doris::StorageEngine::get_stores_for_create_tablet (this=this@entry=0x5939c00, storage_medium=<optimized out>) at /builds/olap/doris/be/src/olap/storage_engine.cpp:423
#13 0x0000000000ddefa6 in doris::StorageEngine::create_tablet (this=0x5939c00, request=...) at /builds/olap/doris/be/src/olap/storage_engine.cpp:814
#14 0x00000000013f088f in doris::TaskWorkerPool::_create_tablet_worker_thread_callback (arg_this=0x5944a20) at /builds/olap/doris/be/src/agent/task_worker_pool.cpp:338
#15 0x00007f33f62dfdc5 in start_thread () from /lib64/libpthread.so.0
#16 0x00007f33f65eb73d in clone () from /lib64/libc.so.6
(gdb)
It was cause by DataDir::tablet_set, it's out of lock:
std::set<TabletInfo> tablet_set() { return _tablet_set; }
Metadata
Metadata
Assignees
Labels
No labels