Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect server shutdown #10550

Closed
qoega opened this issue Apr 28, 2020 · 0 comments · Fixed by #10609
Closed

Incorrect server shutdown #10550

qoega opened this issue Apr 28, 2020 · 0 comments · Fixed by #10609
Labels
bug Confirmed user-visible misbehaviour in official release crash Crash / segfault / abort

Comments

@qoega
Copy link
Member

qoega commented Apr 28, 2020

Describe the bug
Found two bugs. First one is about bloom filter parameters in table meta #10551. This one is after corresponding exception during shutdown.

Segmentation fault after shutdown_on_exception in

(gdb) bt full
#0  __GI___pthread_mutex_lock (mutex=mutex@entry=0x60 <boost::exception_detail::error_info_injector<boost::program_options::validation_error>::~error_info_injector()>) at ../nptl/pthread_mutex_lock.c:65
        type = <optimized out>
        __PRETTY_FUNCTION__ = "__pthread_mutex_lock"
        id = <optimized out>
#1  0x0000000004ff6f8e in DB::pthread_mutex_lock (arg=arg@entry=0x60 <boost::exception_detail::error_info_injector<boost::program_options::validation_error>::~error_info_injector()>) at ../src/Common/ThreadFuzzer.cpp:269
        ret = <optimized out>
#2  0x000000000c746e79 in std::__1::__libcpp_mutex_lock (__m=__m@entry=0x60 <boost::exception_detail::error_info_injector<boost::program_options::validation_error>::~error_info_injector()>) at ../contrib/libcxx/include/__threading_support:322
No locals.
#3  std::__1::mutex::lock (this=this@entry=0x60 <boost::exception_detail::error_info_injector<boost::program_options::validation_error>::~error_info_injector()>) at ../contrib/libcxx/src/mutex.cpp:33
        ec = <optimized out>
#4  0x00000000093d6d58 in std::__1::lock_guard<std::__1::mutex>::lock_guard (__m=..., this=<synthetic pointer>) at ../contrib/libcxx/include/__mutex_base:90
No locals.
#5  DB::BackgroundSchedulePoolTaskInfo::deactivate() () at ../src/Core/BackgroundSchedulePool.cpp:57
        lock_exec = {__m_ = @0x60}
        lock_schedule = {__m_ = @0x7fffafe1e400}
#6  0x000000000967f834 in DB::StorageBuffer::shutdown() () at ../contrib/libcxx/include/memory:3821
        __PRETTY_FUNCTION__ = "virtual void DB::StorageBuffer::shutdown()"
#7  0x0000000008af2502 in DB::DatabaseWithOwnTablesBase::shutdown() () at ../contrib/libcxx/include/new:340
        table_id = {database_name = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 212339618824, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 8 '\b', __lx = 8 '\b'}, __data_ = "tmp1", '\000' <repeats 18 times>}, __r = {__words = {212339618824, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}, table_name = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 7022342668439088412, __size_ = 13849664812313698, __data_ = 0x0}, __s = {{__size_ = 28 '\034', __lx = 28 '\034'}, __data_ = "mass_table_241\000\000\000\000\000\000\000\000"}, __r = {__words = {7022342668439088412, 13849664812313698, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}, uuid = {t = {low = 0, high = 0}}}
        kv = @0x7ffff41d8fb0: {first = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 7022342668439088412, __size_ = 13849664812313698, __data_ = 0x0}, __s = {{__size_ = 28 '\034', __lx = 28 '\034'}, __data_ = "mass_table_241\000\000\000\000\000\000\000\000"}, __r = {__words = {7022342668439088412, 13849664812313698, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}, second = {__ptr_ = 0x7fffb604b000, __cntrl_ = 0x7fffb61a5160}}
        __for_range = @0x7fffffffb5f0: {__tree_ = {__begin_node_ = 0x7ffff41d75f0, __pair1_ = {<std::__1::__compressed_pair_elem<std::__1::__tree_end_node<std::__1::__tree_node_base<void*>*>, 0, false>> = {__value_ = {__left_ = 0x7ffff3ba3ec0}}, <std::__1::__compressed_pair_elem<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<DB::IStorage> >, void*> >, 1, true>> = {<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<DB::IStorage> >, void*> >> = {<No data fields>}, <No data fields>}, <No data fields>}, __pair3_ = {<std::__1::__compressed_pair_elem<unsigned long, 0, false>> = {__value_ = 357}, <std::__1::__compressed_pair_elem<std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<DB::IStorage> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, 1, true>> = {<std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<DB::IStorage> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>> = {<std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >> = {<std::__1::binary_function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}}
        __for_begin = <optimized out>
        __for_end = <optimized out>
        tables_snapshot = {__tree_ = {__begin_node_ = 0x7ffff41d75f0, __pair1_ = {<std::__1::__compressed_pair_elem<std::__1::__tree_end_node<std::__1::__tree_node_base<void*>*>, 0, false>> = {__value_ = {__left_ = 0x7ffff3ba3ec0}}, <std::__1::__compressed_pair_elem<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<DB::IStorage> >, void*> >, 1, true>> = {<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<DB::IStorage> >, void*> >> = {<No data fields>}, <No data fields>}, <No data fields>}, __pair3_ = {<std::__1::__compressed_pair_elem<unsigned long, 0, false>> = {__value_ = 357}, <std::__1::__compressed_pair_elem<std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<DB::IStorage> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, 1, true>> = {<std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::shared_ptr<DB::IStorage> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>> = {<std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >> = {<std::__1::binary_function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}}
        lock = <optimized out>
#8  0x0000000008b4e449 in DB::DatabaseCatalog::detachDatabase(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool) () at ../contrib/libcxx/include/memory:3826
        db = {__ptr_ = 0x7ffff6c3c3a0, __cntrl_ = 0x7ffff6c3c380}
#9  0x0000000004c080c7 in DB::InterpreterCreateQuery::createDatabase (this=0x7fffffffbba0, create=...) at ../src/Interpreters/InterpreterCreateQuery.cpp:174
        database_name = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 212339618824, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 8 '\b', __lx = 8 '\b'}, __data_ = "tmp1", '\000' <repeats 18 times>}, __r = {__words = {212339618824, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}
        guard = {__ptr_ = {<std::__1::__compressed_pair_elem<DB::DDLGuard*, 0, false>> = {__value_ = 0x7ffff41e2e90}, <std::__1::__compressed_pair_elem<std::__1::default_delete<DB::DDLGuard>, 1, true>> = {<std::__1::default_delete<DB::DDLGuard>> = {<No data fields>}, <No data fields>}, <No data fields>}}
        database_name_escaped = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 212339618824, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 8 '\b', __lx = 8 '\b'}, __data_ = "tmp1", '\000' <repeats 18 times>}, __r = {__words = {212339618824, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}
        path = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 49, __size_ = 35, __data_ = 0x7ffff41e2fe0 "/home/qoega/clickhouse-server/data/"}, __s = {{__size_ = 49 '1', __lx = 49 '1'}, __data_ = "\000\000\000\000\000\000\000#\000\000\000\000\000\000\000\340/\036\364\377\177\000"}, __r = {__words = {49, 35, 140737289007072}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}
        metadata_path = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 97, __size_ = 49, __data_ = 0x7ffff6d09400 "/home/qoega/clickhouse-server/data/metadata/tmp1/"}, __s = {{__size_ = 97 'a', __lx = 97 'a'}, __data_ = "\000\000\000\000\000\000\000\061\000\000\000\000\000\000\000\000\224\320\366\377\177\000"}, __r = {__words = {97, 49, 140737334252544}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}
        database = {__ptr_ = 0x7ffff6c3c3a0, __cntrl_ = 0x7ffff6c3c380}
        metadata_file_tmp_path = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 97, __size_ = 56, __data_ = 0x7ffff6d09460 "/home/qoega/clickhouse-server/data/metadata/tmp1.sql.tmp"}, __s = {{__size_ = 97 'a', __lx = 97 'a'}, __data_ = "\000\000\000\000\000\000\000\070\000\000\000\000\000\000\000`\224\320\366\377\177\000"}, __r = {__words = {97, 56, 140737334252640}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}
        metadata_file_path = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 97, __size_ = 52, __data_ = 0x7ffff6d094c0 "/home/qoega/clickhouse-server/data/metadata/tmp1.sql"}, __s = {{__size_ = 97 'a', __lx = 97 'a'}, __data_ = "\000\000\000\000\000\000\000\064\000\000\000\000\000\000\000\300\224\320\366\377\177\000"}, __r = {__words = {97, 52, 140737334252736}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}
        need_write_metadata = false
        added = true
        renamed = <optimized out>
#10 0x0000000008c723c7 in DB::InterpreterCreateQuery::execute() () at ../src/Interpreters/InterpreterCreateQuery.cpp:752
        create = @0x7ffff6c7c718: {<DB::ASTQueryWithTableAndOutput> = {<DB::ASTQueryWithOutput> = {<DB::IAST> = {<std::__1::enable_shared_from_this<DB::IAST>> = {__weak_this_ = {__ptr_ = 0x7ffff6c7c718, __cntrl_ = 0x7ffff6c7c700}}, <DB::TypePromotion<DB::IAST>> = {<No data fields>}, _vptr.IAST = 0xd88a750 <vtable for DB::ASTCreateQuery+16>, children = {<std::__1::__vector_base<std::__1::shared_ptr<DB::IAST>, std::__1::allocator<std::__1::shared_ptr<DB::IAST> > >> = {<std::__1::__vector_base_common<true>> = {<No data fields>}, __begin_ = 0x7ffff6c61ac0, __end_ = 0x7ffff6c61ad0, __end_cap_ = {<std::__1::__compressed_pair_elem<std::__1::shared_ptr<DB::IAST>*, 0, false>> = {__value_ = 0x7ffff6c61ad0}, <std::__1::__compressed_pair_elem<std::__1::allocator<std::__1::shared_ptr<DB::IAST> >, 1, true>> = {<std::__1::allocator<std::__1::shared_ptr<DB::IAST> >> = {<No data fields>}, <No data fields>}, <No data fields>}}, <No data fields>}, static hilite_keyword = 0xc794cdb "\033[1m", static hilite_identifier = 0xc799f62 "\033[0;36m", static hilite_function = 0xc799f5a "\033[0;33m", static hilite_operator = 0xc799f52 "\033[1;33m", static hilite_alias = 0xc7763f8 "\033[0;32m", static hilite_substitution = 0xc799f4a "\033[1;36m", static hilite_none = 0xc776400 "\033[0m"}, out_file = {__ptr_ = 0x0, __cntrl_ = 0x0}, format = {__ptr_ = 0x0, __cntrl_ = 0x0}, settings_ast = {__ptr_ = 0x0, __cntrl_ = 0x0}}, database = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 212339618824, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 8 '\b', __lx = 8 '\b'}, __data_ = "tmp1", '\000' <repeats 18 times>}, __r = {__words = {212339618824, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}, table = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 0, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 0 '\000', __lx = 0 '\000'}, __data_ = '\000' <repeats 22 times>}, __r = {__words = {0, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}, uuid = {t = {low = 0, high = 0}}, temporary = false}, <DB::ASTQueryWithOnCluster> = {_vptr.ASTQueryWithOnCluster = 0xd88a7c8 <vtable for DB::ASTCreateQuery+136>, cluster = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 0, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 0 '\000', __lx = 0 '\000'}, __data_ = '\000' <repeats 22 times>}, __r = {__words = {0, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}}, attach = true, if_not_exists = false, is_view = false, is_materialized_view = false, is_live_view = false, is_populate = false, is_dictionary = false, replace_view = false, columns_list = 0x0, dictionary_attributes_list = 0x0, tables = 0x0, to_table_id = {database_name = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 0, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 0 '\000', __lx = 0 '\000'}, __data_ = '\000' <repeats 22 times>}, __r = {__words = {0, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}, table_name = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 0, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 0 '\000', __lx = 0 '\000'}, __data_ = '\000' <repeats 22 times>}, __r = {__words = {0, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}, uuid = {t = {low = 0, high = 0}}}, storage = 0x7ffff6ca7218, as_database = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 0, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 0 '\000', __lx = 0 '\000'}, __data_ = '\000' <repeats 22 times>}, __r = {__words = {0, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}, as_table = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 0, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 0 '\000', __lx = 0 '\000'}, __data_ = '\000' <repeats 22 times>}, __r = {__words = {0, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}, as_table_function = {__ptr_ = 0x0, __cntrl_ = 0x0}, select = 0x0, dictionary = 0x0, live_view_timeout = {<std::__1::__optional_move_assign_base<unsigned long, true>> = {<std::__1::__optional_copy_assign_base<unsigned long, true>> = {<std::__1::__optional_move_base<unsigned long, true>> = {<std::__1::__optional_copy_base<unsigned long, true>> = {<std::__1::__optional_storage_base<unsigned long, false>> = {<std::__1::__optional_destruct_base<unsigned long, true>> = {{__null_state_ = 0 '\000', __val_ = 0}, __engaged_ = false}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <std::__1::__sfinae_ctor_base<true, true>> = {<No data fields>}, <std::__1::__sfinae_assign_base<true, true>> = {<No data fields>}, <No data fields>}, attach_short_syntax = false}
#11 0x0000000008dc0dea in DB::executeCreateQuery (has_force_restore_data_flag=false, file_name=..., database=..., context=..., query=...) at ../src/Interpreters/loadMetadata.cpp:41
        parser = {<DB::IParserBase> = {<DB::IParser> = {_vptr.IParser = 0xd892010 <vtable for DB::ParserCreateQuery+16>}, <No data fields>}, <No data fields>}
        ast = {__ptr_ = 0x7ffff6c7c718, __cntrl_ = 0x7ffff6c7c700}
        ast_create_query = <optimized out>
        interpreter = {<DB::IInterpreter> = {_vptr.IInterpreter = 0xd7e5740 <vtable for DB::InterpreterCreateQuery+16>}, query_ptr = {__ptr_ = 0x7ffff6c7c718, __cntrl_ = 0x7ffff6c7c700}, context = @0x7ffff6c5c400, has_force_restore_data_flag = false, internal = true}
        parser = <optimized out>
        ast = <optimized out>
        ast_create_query = <optimized out>
        interpreter = <optimized out>
#12 DB::loadDatabase(DB::Context&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) () at ../src/Interpreters/loadMetadata.cpp:73
        database_attach_query = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 49, __size_ = 39, __data_ = 0x7ffff41e2620 "ATTACH DATABASE tmp1\nENGINE = Ordinary\n"}, __s = {{__size_ = 49 '1', __lx = 49 '1'}, __data_ = "\000\000\000\000\000\000\000'\000\000\000\000\000\000\000 &\036\364\377\177\000"}, __r = {__words = {49, 39, 140737289004576}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}
        database_metadata_file = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 65, __size_ = 52, __data_ = 0x7ffff6ddfd00 "/home/qoega/clickhouse-server/data/metadata/tmp1.sql"}, __s = {{__size_ = 65 'A', __lx = 65 'A'}, __data_ = "\000\000\000\000\000\000\000\064\000\000\000\000\000\000\000\000\375\335\366\377\177\000"}, __r = {__words = {65, 52, 140737335131392}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}
#13 0x0000000008dc173b in DB::loadMetadata(DB::Context&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) () at ../src/Interpreters/loadMetadata.cpp:119
        __for_range = @0x7fffffffbe70: {__tree_ = {__begin_node_ = 0x7ffff41d7460, __pair1_ = {<std::__1::__compressed_pair_elem<std::__1::__tree_end_node<std::__1::__tree_node_base<void*>*>, 0, false>> = {__value_ = {__left_ = 0x7ffff41d7500}}, <std::__1::__compressed_pair_elem<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*> >, 1, true>> = {<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*> >> = {<No data fields>}, <No data fields>}, <No data fields>}, __pair3_ = {<std::__1::__compressed_pair_elem<unsigned long, 0, false>> = {__value_ = 3}, <std::__1::__compressed_pair_elem<std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, 1, true>> = {<std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>> = {<std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >> = {<std::__1::binary_function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}}
        __for_begin = <optimized out>
        __for_end = <optimized out>
        name = @0x7ffff41d7520: {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 212339618824, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 8 '\b', __lx = 8 '\b'}, __data_ = "tmp1", '\000' <repeats 18 times>}, __r = {__words = {212339618824, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}
        db_path = @0x7ffff41d7538: {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 97, __size_ = 48, __data_ = 0x7ffff41d5ce0 "/home/qoega/clickhouse-server/data/metadata/tmp1"}, __s = {{__size_ = 97 'a', __lx = 97 'a'}, __data_ = "\000\000\000\000\000\000\000\060\000\000\000\000\000\000\000\340\\\035\364\377\177\000"}, __r = {__words = {97, 48, 140737288953056}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}
        path = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 49, __size_ = 43, __data_ = 0x7ffff41e25f0 "/home/qoega/clickhouse-server/data/metadata"}, __s = {{__size_ = 49 '1', __lx = 49 '1'}, __data_ = "\000\000\000\000\000\000\000+\000\000\000\000\000\000\000\360%\036\364\377\177\000"}, __r = {__words = {49, 43, 140737289004528}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}
        force_restore_data_flag_file = {<Poco::FileImpl> = {_vptr.FileImpl = 0xfa3a570 <vtable for Poco::File+16>, _path = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 65, __size_ = 59, __data_ = 0x7ffff6ddfd40 "/home/qoega/clickhouse-server/data/flags/force_restore_data"}, __s = {{__size_ = 65 'A', __lx = 65 'A'}, __data_ = "\000\000\000\000\000\000\000;\000\000\000\000\000\000\000@\375\335\366\377\177\000"}, __r = {__words = {65, 59, 140737335131456}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}}, <No data fields>}
        has_force_restore_data_flag = false
        databases = {__tree_ = {__begin_node_ = 0x7ffff41d7460, __pair1_ = {<std::__1::__compressed_pair_elem<std::__1::__tree_end_node<std::__1::__tree_node_base<void*>*>, 0, false>> = {__value_ = {__left_ = 0x7ffff41d7500}}, <std::__1::__compressed_pair_elem<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*> >, 1, true>> = {<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*> >> = {<No data fields>}, <No data fields>}, <No data fields>}, __pair3_ = {<std::__1::__compressed_pair_elem<unsigned long, 0, false>> = {__value_ = 3}, <std::__1::__compressed_pair_elem<std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, 1, true>> = {<std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>> = {<std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >> = {<std::__1::binary_function<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool>> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}, <No data fields>}}}
        dir_end = {_vptr.DirectoryIterator = 0xfa38910 <vtable for Poco::DirectoryIterator+16>, _path = {_node = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 0, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 0 '\000', __lx = 0 '\000'}, __data_ = '\000' <repeats 22 times>}, __r = {__words = {0, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}, _device = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 0, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 0 '\000', __lx = 0 '\000'}, __data_ = '\000' <repeats 22 times>}, __r = {__words = {0, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}, _name = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 0, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 0 '\000', __lx = 0 '\000'}, __data_ = '\000' <repeats 22 times>}, __r = {__words = {0, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}, _version = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 0, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 0 '\000', __lx = 0 '\000'}, __data_ = '\000' <repeats 22 times>}, __r = {__words = {0, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}, _dirs = {<std::__1::__vector_base<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >> = {<std::__1::__vector_base_common<true>> = {<No data fields>}, __begin_ = 0x0, __end_ = 0x0, __end_cap_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, 0, false>> = {__value_ = 0x0}, <std::__1::__compressed_pair_elem<std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, 1, true>> = {<std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >> = {<No data fields>}, <No data fields>}, <No data fields>}}, <No data fields>}, _absolute = false}, _file = {<Poco::FileImpl> = {_vptr.FileImpl = 0xfa3a570 <vtable for Poco::File+16>, _path = {<std::__1::__basic_string_common<true>> = {<No data fields>}, static __short_mask = 1, static __long_mask = 1, __r_ = {<std::__1::__compressed_pair_elem<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__rep, 0, false>> = {__value_ = {{__l = {__cap_ = 0, __size_ = 0, __data_ = 0x0}, __s = {{__size_ = 0 '\000', __lx = 0 '\000'}, __data_ = '\000' <repeats 22 times>}, __r = {__words = {0, 0, 0}}}}}, <std::__1::__compressed_pair_elem<std::__1::allocator<char>, 1, true>> = {<std::__1::allocator<char>> = {<No data fields>}, <No data fields>}, <No data fields>}, static npos = 18446744073709551615}}, <No data fields>}, _pImpl = 0x0}
        create_default_db_if_not_exists = <optimized out>
        metadata_dir_for_default_db_already_exists = <optimized out>
#14 0x0000000004f6cdc3 in DB::Server::main(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) () at ../contrib/libcxx/include/memory:2582
        log = 0x7ffff6c69cc0
        use_ssl = {<boost::noncopyable_::noncopyable> = {<boost::noncopyable_::base_token> = {<No data fields>}, <No data fields>}, <No data fields>}
        thread_status = {<boost::noncopyable_::noncopyable> = {<boost::noncopyable_::base_token> = {<No data fields>}, <No data fields>}, thread_id = 782394, os_thread_priority = 0, performance_counters = {counters = 0x7ffff6ce5700, counters_holder = {__ptr_ = {<std::__1::__compressed_pair_elem<std::__1::atomic<unsigned long>*, 0, false>> = {__value_ = 0x7ffff6ce5700}, <std::__1::__compressed_pair_elem<std::__1::default_delete<std::__1::atomic<unsigned long> []>, 1, true>> = {<std::__1::default_delete<std::__1::atomic<unsigned long> []>> = {<No data fields>}, <No data fields>}, <No data fields>}}, parent = 0x10ff3920 <ProfileEvents::global_counters>, level = VariableContext::Thread, static num_counters = 155}, memory_tracker = {amount = {<std::__1::__atomic_base<long, true>> = {<std::__1::__atomic_base<long, false>> = {__a_ = {<std::__1::__cxx_atomic_base_impl<long>> = {__a_value = 5361872}, <No data fields>}Segmentation fault

How to reproduce
version from master

git show
commit ed1576507b4352a5c4aeab424eb11ddf52e44d72 (HEAD -> master, origin/master, origin/HEAD)
Author: Alexander Kuzmenkov <akuzm@yandex-team.ru>
Date:   Tue Apr 28 10:45:35 2020 +0300

#10551

@qoega qoega added bug Confirmed user-visible misbehaviour in official release crash Crash / segfault / abort labels Apr 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Confirmed user-visible misbehaviour in official release crash Crash / segfault / abort
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant