Skip to content

Segfault in tpch generator in tests #15061

Closed
@lll-phill-lll

Description

@lll-phill-lll

How to reproduce:

cd ydb/tests/functional/tpc/medium
ya make -tt -F "test_tpch.py::TestTpchS1::test_tpch[1]"

Make sure that ulimit -c is not 0.

Reproduces only in debug built. So, this command finishes without any errors:

ya make -tt -r -F "test_tpch.py::TestTpchS1::test_tpch[1]"

GH hash: b58a028
All threads BT: https://paste.yandex-team.ru/72c98bb4-b8ec-443a-bd98-804ba10c1976

Segfault BT:

Thread 1 (LWP 1633562):
#0  0x000000000adc1984 in bool std::__y1::__tree_is_left_child[abi:fe190000]<std::__y1::__tree_node_base<void*>*>(std::__y1::__tree_node_base<void*>*) (__x=0x16dbbfa840b0) at /-S/contrib/libs/cxxsupp/libcxx/include/__tree:110
No locals.
#1  0x000000000adc16b4 in void std::__y1::__tree_balance_after_insert[abi:fe190000]<std::__y1::__tree_node_base<void*>*>(std::__y1::__tree_node_base<void*>*, std::__y1::__tree_node_base<void*>*) (__root=0x16dbbfa840b0, __x=0x16dbbfa84060) at /-S/contrib/libs/cxxsupp/libcxx/include/__tree:286
No locals.
#2  0x000000000d0791db in std::__y1::__tree<std::__y1::__value_type<TBasicStringBuf<char, std::__y1::char_traits<char>>, TDist>, std::__y1::__map_value_compare<TBasicStringBuf<char, std::__y1::char_traits<char>>, std::__y1::__value_type<TBasicStringBuf<char, std::__y1::char_traits<char>>, TDist>, TLess<TBasicStringBuf<char, std::__y1::char_traits<char>>>, true>, std::__y1::allocator<std::__y1::__value_type<TBasicStringBuf<char, std::__y1::char_traits<char>>, TDist>>>::__insert_node_at(std::__y1::__tree_end_node<std::__y1::__tree_node_base<void*>*>*, std::__y1::__tree_node_base<void*>*&, std::__y1::__tree_node_base<void*>*) (this=0x23d6d288 <ReadDistFromResource::distributions>, __parent=0x16dbbfa840b0, __child=@0x16dbbfa840b8: 0x16dbbfa84060, __new_node=0x16dbbfa84060) at /-S/contrib/libs/cxxsupp/libcxx/include/__tree:1769
No locals.
#3  0x000000000d078dc7 in std::__y1::pair<std::__y1::__tree_iterator<std::__y1::__value_type<TBasicStringBuf<char, std::__y1::char_traits<char>>, TDist>, std::__y1::__tree_node<std::__y1::__value_type<TBasicStringBuf<char, std::__y1::char_traits<char>>, TDist>, void*>*, long>, bool> std::__y1::__tree<std::__y1::__value_type<TBasicStringBuf<char, std::__y1::char_traits<char>>, TDist>, std::__y1::__map_value_compare<TBasicStringBuf<char, std::__y1::char_traits<char>>, std::__y1::__value_type<TBasicStringBuf<char, std::__y1::char_traits<char>>, TDist>, TLess<TBasicStringBuf<char, std::__y1::char_traits<char>>>, true>, std::__y1::allocator<std::__y1::__value_type<TBasicStringBuf<char, std::__y1::char_traits<char>>, TDist>>>::__emplace_unique_key_args<TBasicStringBuf<char, std::__y1::char_traits<char>>, std::__y1::piecewise_construct_t const&, std::__y1::tuple<TBasicStringBuf<char, std::__y1::char_traits<char>>&&>, std::__y1::tuple<>>(TBasicStringBuf<char, std::__y1::char_traits<char>> const&, std::__y1::piecewise_construct_t const&, std::__y1::tuple<TBasicStringBuf<char, std::__y1::char_traits<char>>&&>&&, std::__y1::tuple<>&&) (this=0x23d6d288 <ReadDistFromResource::distributions>, __k="nations", __args=..., __args=..., __args=...) at /-S/contrib/libs/cxxsupp/libcxx/include/__tree:1783
        __h = std::__y1::unique_ptr<std::__y1::__tree_node<std::__y1::__value_type<TBasicStringBuf<char, std::__y1::char_traits<char> >, TDist>, void*>> = {...}
        __parent = 0x16dbbfa840b0
        __child = @0x16dbbfa840b8: 0x16dbbfa84060
        __r = 0x0
        __inserted = false
#4  0x000000000d0788de in std::__y1::map<TBasicStringBuf<char, std::__y1::char_traits<char>>, TDist, TLess<TBasicStringBuf<char, std::__y1::char_traits<char>>>, std::__y1::allocator<std::__y1::pair<TBasicStringBuf<char, std::__y1::char_traits<char>> const, TDist>>>::operator[](TBasicStringBuf<char, std::__y1::char_traits<char>>&&) (this=0x23d6d288 <ReadDistFromResource::distributions>, __k=...) at /-S/contrib/libs/cxxsupp/libcxx/include/map:1530
No locals.
#5  0x000000000d07836e in ReadDistFromResource::$_0::operator() (this=0x7ffdd38cde5f) at /-S/ydb/library/workload/tpch/driver.cpp:27
        pos = 5
        prefix = "begin"
        resource = "#\n# $Id: dists.dss,v"...
        result = {...}
        in = "count|25\nALGERIA|0\nA"...
        line = "begin nations"
        dist = 0x0
#6  0x000000000d077fe2 in ReadDistFromResource (name=0x810256b "p_cntr", target=0x23d6d000 <p_cntr_set>) at /-S/ydb/library/workload/tpch/driver.cpp:12
        distributions = {...}
#7  0x000000000d077cc7 in LoadDists () at /-S/ydb/library/workload/tpch/driver.c:51
No locals.
#8  0x000000000d077e7c in InitTpchGen (_scale=1) at /-S/ydb/library/workload/tpch/driver.c:84
No locals.
#9  0x000000000ae1f64c in NYdbWorkload::TTpchWorkloadDataInitializerGenerator::DoGetBulkInitialData (this=0x16dbbfac1318) at /-S/ydb/library/workload/tpch/data_generator.cpp:35
        tables = {...}
        gens = TVector (length=-8795498149122, capacity=-8794434751991) = {...}
#10 0x000000000b9384d9 in NYdbWorkload::TWorkloadDataInitializerBase::GetBulkInitialData (this=0x16dbbfac1318) at /-S/ydb/library/workload/benchmark_base/workload.cpp:144
No locals.
#11 0x0000000010a33f6e in NYdb::NConsoleClient::TWorkloadCommandImport::TUploadCommand::DoRun (this=0x16dbbf7801d0) at /-S/ydb/public/lib/ydb_cli/commands/ydb_workload_import.cpp:51
        dataGeneratorList = empty std::__y1::vector (capacity=0) = {...}
#12 0x0000000010969fe0 in NYdb::NConsoleClient::TWorkloadCommandBase::Run (this=0x16dbbf7801d0, config=...) at /-S/ydb/public/lib/ydb_cli/commands/ydb_workload.cpp:387
        workloadGen = THolder<NYdbWorkload::IWorkloadQueryGenerator> = {...}
#13 0x000000000d112623 in NYdb::NConsoleClient::TClientCommand::ValidateAndRun (this=0x16dbbf7801d0, config=...) at /-S/ydb/public/lib/ydb_cli/common/command.cpp:237
No locals.
#14 0x000000000d11470b in NYdb::NConsoleClient::TClientCommandTree::Run (this=0x16dbbfb86e80, config=...) at /-S/ydb/public/lib/ydb_cli/common/command.cpp:414
No locals.
#15 0x000000000d112623 in NYdb::NConsoleClient::TClientCommand::ValidateAndRun (this=0x16dbbfb86e80, config=...) at /-S/ydb/public/lib/ydb_cli/common/command.cpp:237
No locals.
#16 0x000000000d11470b in NYdb::NConsoleClient::TClientCommandTree::Run (this=0x16dbbfb86b40, config=...) at /-S/ydb/public/lib/ydb_cli/common/command.cpp:414
No locals.
#17 0x000000000d112623 in NYdb::NConsoleClient::TClientCommand::ValidateAndRun (this=0x16dbbfb86b40, config=...) at /-S/ydb/public/lib/ydb_cli/common/command.cpp:237
No locals.
#18 0x000000000d11470b in NYdb::NConsoleClient::TClientCommandTree::Run (this=0x16dbbf884950, config=...) at /-S/ydb/public/lib/ydb_cli/common/command.cpp:414
No locals.
#19 0x000000000d112623 in NYdb::NConsoleClient::TClientCommand::ValidateAndRun (this=0x16dbbf884950, config=...) at /-S/ydb/public/lib/ydb_cli/common/command.cpp:237
No locals.
#20 0x000000000d11470b in NYdb::NConsoleClient::TClientCommandTree::Run (this=0x16dbbf2006c0, config=...) at /-S/ydb/public/lib/ydb_cli/common/command.cpp:414
No locals.
#21 0x000000000d0f678a in NYdb::NConsoleClient::TClientCommandRootCommon::Run (this=0x16dbbf2006c0, config=...) at /-S/ydb/public/lib/ydb_cli/commands/ydb_root_common.cpp:613
        prompt = "<\016\r\000\000\000\000\000\350\214\323\375\177\000\000\300\006 \277\333"...
        interactiveCLI = {...}
#22 0x000000000d0e3cea in NYdb::NConsoleClient::TYdbClientCommandRoot::Run (this=0x16dbbf2006c0, config=...) at /-S/ydb/apps/ydb/commands/ydb_root.cpp:102
No locals.
#23 0x000000000d112623 in NYdb::NConsoleClient::TClientCommand::ValidateAndRun (this=0x16dbbf2006c0, config=...) at /-S/ydb/public/lib/ydb_cli/common/command.cpp:237
No locals.
#24 0x000000000d111e20 in NYdb::NConsoleClient::TClientCommand::Process (this=0x16dbbf2006c0, config=...) at /-S/ydb/public/lib/ydb_cli/common/command.cpp:203
No locals.
#25 0x000000000d0e40e6 in NYdb::NConsoleClient::NewYdbClient (argc=12, argv=0x7ffdd38cebb8) at /-S/ydb/apps/ydb/commands/ydb_root.cpp:121
        settings = {...}
        commandsRoot = THolder<NYdb::NConsoleClient::TYdbClientCommandRoot> = {...}
        config = {...}
#26 0x000000000ae97b72 in main (argc=12, argv=0x7ffdd38cebb8) at /-S/ydb/apps/ydb/main.cpp:14
        e = {...}
        e = {...}
        e = {...}
        e = {...}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions