**Describe the bug**
https://clickhouse-test-reports.s3.yandex.net/0/d2366b5c6c16f6c0b478b8332010968b09b12bf3/stress_test_(debug).html#fail1

```
$ grep --text -F Fatal clickhouse-server.log.4
2021.01.17 02:52:43.366774 [ 144092 ] {} <Fatal> BaseDaemon: ########################################
2021.01.17 02:52:43.367402 [ 144092 ] {} <Fatal> BaseDaemon: (version 21.1.1.5706 (official build), build id: 93F5E69EF1CCF89AFA915609D38E36DE41B88376) (from thread 100255) (query_id: b15df069-8944-4244-a32f-6278573a3241) Received signal Aborted (6)
2021.01.17 02:52:43.368049 [ 144092 ] {} <Fatal> BaseDaemon: 
2021.01.17 02:52:43.369001 [ 144092 ] {} <Fatal> BaseDaemon: Stack trace: 0x7fe1b540e18b 0x7fe1b53ed859 0x7fe1b53ed729 0x7fe1b53fef36 0x17ac2de8 0x17ac31c6 0x167fcc63 0x167fc804 0x167fc0be 0x167fb519 0x129817b8 0x1298059e 0x129852e3 0x12984ef6 0x129851ab 0x1298639b 0x19726da8 0x1972682a 0x19f48f53 0x19f4ff80 0x19f4c2f6 0x19f492b7 0x19f4b59c 0x19f492b7 0x19f4cc09 0x19f49323 0x19f29689 0x19f1e1b3
2021.01.17 02:52:43.369783 [ 144092 ] {} <Fatal> BaseDaemon: 4. gsignal @ 0x4618b in /usr/lib/x86_64-linux-gnu/libc-2.31.so
2021.01.17 02:52:43.370444 [ 144092 ] {} <Fatal> BaseDaemon: 5. abort @ 0x25859 in /usr/lib/x86_64-linux-gnu/libc-2.31.so
2021.01.17 02:52:43.370676 [ 144092 ] {} <Fatal> BaseDaemon: 6. ? @ 0x25729 in /usr/lib/x86_64-linux-gnu/libc-2.31.so
2021.01.17 02:52:43.371249 [ 144092 ] {} <Fatal> BaseDaemon: 7. ? @ 0x36f36 in /usr/lib/x86_64-linux-gnu/libc-2.31.so
2021.01.17 02:52:43.503400 [ 144092 ] {} <Fatal> BaseDaemon: 8. ue2::hs_compile_multi_int(char const* const*, unsigned int const*, unsigned int const*, hs_expr_ext const* const*, unsigned int, unsigned int, hs_platform_info const*, hs_database**, hs_compile_error**, ue2::Grey const&) @ 0x17ac2de8 in /usr/bin/clickhouse
2021.01.17 02:52:43.630382 [ 144092 ] {} <Fatal> BaseDaemon: 9. hs_compile_ext_multi @ 0x17ac31c6 in /usr/bin/clickhouse
2021.01.17 02:52:43.676878 [ 144092 ] {} <Fatal> BaseDaemon: 10. ./obj-x86_64-linux-gnu/../src/Functions/Regexps.h:194: DB::MultiRegexps::Regexps DB::MultiRegexps::constructRegexps<false, true>(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&, std::__1::optional<unsigned int>) @ 0x167fcc63 in /usr/bin/clickhouse
2021.01.17 02:52:43.715252 [ 144092 ] {} <Fatal> BaseDaemon: 11. ./obj-x86_64-linux-gnu/../src/Functions/Regexps.h:257: DB::MultiRegexps::Regexps* DB::MultiRegexps::get<false, true>(std::__1::vector<StringRef, std::__1::allocator<StringRef> > const&, std::__1::optional<unsigned int>) @ 0x167fc804 in /usr/bin/clickhouse
2021.01.17 02:52:44.037632 [ 144092 ] {} <Fatal> BaseDaemon: 12. ./obj-x86_64-linux-gnu/../src/Functions/MultiMatchAnyImpl.h:68: DB::MultiMatchAnyImpl<char8_t, true, false, true>::vectorConstant(DB::PODArray<char8_t, 4096ul, Allocator<false, false>, 15ul, 16ul> const&, DB::PODArray<unsigned long, 4096ul, Allocator<false, false>, 15ul, 16ul> const&, std::__1::vector<StringRef, std::__1::allocator<StringRef> > const&, DB::PODArray<char8_t, 4096ul, Allocator<false, false>, 15ul, 16ul>&, DB::PODArray<unsigned long, 4096ul, Allocator<false, false>, 15ul, 16ul>&, std::__1::optional<unsigned int>) @ 0x167fc0be in /usr/bin/clickhouse
2021.01.17 02:52:44.079610 [ 144092 ] {} <Fatal> BaseDaemon: 13. ./obj-x86_64-linux-gnu/../src/Functions/FunctionsMultiStringFuzzySearch.h:124: DB::FunctionsMultiStringFuzzySearch<DB::MultiMatchAnyImpl<char8_t, true, false, true>, DB::(anonymous namespace)::NameMultiFuzzyMatchAny, 4294967295ul>::executeImpl(std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&, std::__1::shared_ptr<DB::IDataType const> const&, unsigned long) const @ 0x167fb519 in /usr/bin/clickhouse
2021.01.17 02:52:44.095204 [ 144092 ] {} <Fatal> BaseDaemon: 14. ./obj-x86_64-linux-gnu/../src/Functions/IFunctionImpl.h:203: DB::IFunction::executeImplDryRun(std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&, std::__1::shared_ptr<DB::IDataType const> const&, unsigned long) const @ 0x129817b8 in /usr/bin/clickhouse
2021.01.17 02:52:44.110070 [ 144092 ] {} <Fatal> BaseDaemon: 15. ./obj-x86_64-linux-gnu/../src/Functions/IFunctionAdaptors.h:158: DB::DefaultExecutable::executeDryRun(std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&, std::__1::shared_ptr<DB::IDataType const> const&, unsigned long) const @ 0x1298059e in /usr/bin/clickhouse
2021.01.17 02:52:44.124918 [ 144092 ] {} <Fatal> BaseDaemon: 16. ./obj-x86_64-linux-gnu/../src/Functions/IFunction.cpp:291: DB::ExecutableFunctionAdaptor::executeWithoutLowCardinalityColumns(std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&, std::__1::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x129852e3 in /usr/bin/clickhouse
2021.01.17 02:52:44.139109 [ 144092 ] {} <Fatal> BaseDaemon: 17. ./obj-x86_64-linux-gnu/../src/Functions/IFunction.cpp:240: DB::ExecutableFunctionAdaptor::defaultImplementationForConstantArguments(std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&, std::__1::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x12984ef6 in /usr/bin/clickhouse
2021.01.17 02:52:44.159659 [ 144092 ] {} <Fatal> BaseDaemon: 18. ./obj-x86_64-linux-gnu/../src/Functions/IFunction.cpp:283: DB::ExecutableFunctionAdaptor::executeWithoutLowCardinalityColumns(std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&, std::__1::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x129851ab in /usr/bin/clickhouse
2021.01.17 02:52:44.173307 [ 144092 ] {} <Fatal> BaseDaemon: 19. ./obj-x86_64-linux-gnu/../src/Functions/IFunction.cpp:448: DB::ExecutableFunctionAdaptor::execute(std::__1::vector<DB::ColumnWithTypeAndName, std::__1::allocator<DB::ColumnWithTypeAndName> > const&, std::__1::shared_ptr<DB::IDataType const> const&, unsigned long, bool) const @ 0x1298639b in /usr/bin/clickhouse
2021.01.17 02:52:44.276584 [ 144092 ] {} <Fatal> BaseDaemon: 20. ./obj-x86_64-linux-gnu/../src/Interpreters/ActionsDAG.cpp:211: DB::ActionsDAG::addFunction(std::__1::shared_ptr<DB::IFunctionOverloadResolver> const&, std::__1::vector<DB::ActionsDAG::Node*, std::__1::allocator<DB::ActionsDAG::Node*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool) @ 0x19726da8 in /usr/bin/clickhouse
2021.01.17 02:52:44.347174 [ 144092 ] {} <Fatal> BaseDaemon: 21. ./obj-x86_64-linux-gnu/../src/Interpreters/ActionsDAG.cpp:165: DB::ActionsDAG::addFunction(std::__1::shared_ptr<DB::IFunctionOverloadResolver> const&, 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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, DB::Context const&) @ 0x1972682a in /usr/bin/clickhouse
2021.01.17 02:52:44.423756 [ 144092 ] {} <Fatal> BaseDaemon: 22. ./obj-x86_64-linux-gnu/../src/Interpreters/ActionsVisitor.cpp:501: DB::ScopeStack::addFunction(std::__1::shared_ptr<DB::IFunctionOverloadResolver> const&, 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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) @ 0x19f48f53 in /usr/bin/clickhouse
2021.01.17 02:52:44.529711 [ 144092 ] {} <Fatal> BaseDaemon: 23. ./obj-x86_64-linux-gnu/../src/Interpreters/ActionsVisitor.h:155: DB::ActionsMatcher::Data::addFunction(std::__1::shared_ptr<DB::IFunctionOverloadResolver> const&, 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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) @ 0x19f4ff80 in /usr/bin/clickhouse
2021.01.17 02:52:44.611184 [ 144092 ] {} <Fatal> BaseDaemon: 24. ./obj-x86_64-linux-gnu/../src/Interpreters/ActionsVisitor.cpp:975: DB::ActionsMatcher::visit(DB::ASTFunction const&, std::__1::shared_ptr<DB::IAST> const&, DB::ActionsMatcher::Data&) @ 0x19f4c2f6 in /usr/bin/clickhouse
2021.01.17 02:52:44.694192 [ 144092 ] {} <Fatal> BaseDaemon: 25. ./obj-x86_64-linux-gnu/../src/Interpreters/ActionsVisitor.cpp:546: DB::ActionsMatcher::visit(std::__1::shared_ptr<DB::IAST> const&, DB::ActionsMatcher::Data&) @ 0x19f492b7 in /usr/bin/clickhouse
2021.01.17 02:52:44.826804 [ 144092 ] {} <Fatal> BaseDaemon: 26. ./obj-x86_64-linux-gnu/../src/Interpreters/ActionsVisitor.cpp:886: DB::ActionsMatcher::visit(DB::ASTFunction const&, std::__1::shared_ptr<DB::IAST> const&, DB::ActionsMatcher::Data&) @ 0x19f4b59c in /usr/bin/clickhouse
2021.01.17 02:52:44.913894 [ 144092 ] {} <Fatal> BaseDaemon: 27. ./obj-x86_64-linux-gnu/../src/Interpreters/ActionsVisitor.cpp:546: DB::ActionsMatcher::visit(std::__1::shared_ptr<DB::IAST> const&, DB::ActionsMatcher::Data&) @ 0x19f492b7 in /usr/bin/clickhouse
2021.01.17 02:52:44.990563 [ 144092 ] {} <Fatal> BaseDaemon: 28. ./obj-x86_64-linux-gnu/../src/Interpreters/ActionsVisitor.cpp:655: DB::ActionsMatcher::visit(DB::ASTExpressionList&, std::__1::shared_ptr<DB::IAST> const&, DB::ActionsMatcher::Data&) @ 0x19f4cc09 in /usr/bin/clickhouse
2021.01.17 02:52:45.069727 [ 144092 ] {} <Fatal> BaseDaemon: 29. ./obj-x86_64-linux-gnu/../src/Interpreters/ActionsVisitor.cpp:550: DB::ActionsMatcher::visit(std::__1::shared_ptr<DB::IAST> const&, DB::ActionsMatcher::Data&) @ 0x19f49323 in /usr/bin/clickhouse
2021.01.17 02:52:45.157107 [ 144092 ] {} <Fatal> BaseDaemon: 30. ./obj-x86_64-linux-gnu/../src/Interpreters/InDepthNodeVisitor.h:34: DB::InDepthNodeVisitor<DB::ActionsMatcher, true, std::__1::shared_ptr<DB::IAST> const>::visit(std::__1::shared_ptr<DB::IAST> const&) @ 0x19f29689 in /usr/bin/clickhouse
2021.01.17 02:52:45.241387 [ 144092 ] {} <Fatal> BaseDaemon: 31. ./obj-x86_64-linux-gnu/../src/Interpreters/ExpressionAnalyzer.cpp:410: DB::ExpressionAnalyzer::getRootActions(std::__1::shared_ptr<DB::IAST> const&, bool, std::__1::shared_ptr<DB::ActionsDAG>&, bool) @ 0x19f1e1b3 in /usr/bin/clickhouse
2021.01.17 02:52:46.798765 [ 144092 ] {} <Fatal> BaseDaemon: Checksum of the binary: DB7F4ECF5468AC3FD711C761216D41B5, integrity check passed.
2021.01.17 02:52:55.652861 [ 270 ] {} <Fatal> Application: Child process was terminated by signal 6.

$ grep --text -F b15df069-8944-4244-a32f-6278573a3241 clickhouse-server.log.4
2021.01.17 02:52:42.387102 [ 100255 ] {b15df069-8944-4244-a32f-6278573a3241} <Debug> executeQuery: (from [::1]:39506, using production parser) select 1 = multiFuzzyMatchAny('halo some wrld', 2, ['^halo.*world$', '^hello.*world$']); 
2021.01.17 02:52:43.367402 [ 144092 ] {} <Fatal> BaseDaemon: (version 21.1.1.5706 (official build), build id: 93F5E69EF1CCF89AFA915609D38E36DE41B88376) (from thread 100255) (query_id: b15df069-8944-4244-a32f-6278573a3241) Received signal Aborted (6)

$ grep --text -F '(total)' clickhouse-server.log.4
2021.01.17 02:05:30.277585 [ 320 ] {} <Debug> MemoryTracker: Current memory usage (total): 1.39 GiB.
2021.01.17 02:05:52.529598 [ 3041 ] {} <Debug> MemoryTracker: Current memory usage (total): 2.00 GiB.
2021.01.17 02:06:16.058748 [ 4002 ] {} <Debug> MemoryTracker: Current memory usage (total): 3.00 GiB.
2021.01.17 02:10:36.770800 [ 2347 ] {ce4cb543-8b69-460e-908b-786704b5bc2b} <Debug> MemoryTracker: Current memory usage (total): 4.00 GiB.
2021.01.17 02:11:50.930980 [ 3703 ] {922532d0-30ce-42e2-91f1-584f3ccfe2de} <Debug> MemoryTracker: Current memory usage (total): 5.13 GiB.
2021.01.17 02:15:20.559426 [ 340 ] {} <Debug> MemoryTracker: Current memory usage (total): 6.03 GiB.
```

The query is ok and it does not look like memory shortage.

We don't build debug info for `ue2::hs_compile_multi_int` but this function contains plenty of asserts.
{
        
        static Pool known_regexps; 
        std::vector<String> str_patterns;
        str_patterns.reserve(patterns.size());
        for (const StringRef & ref : patterns)
            str_patterns.push_back(ref.toString());
        
        std::unique_lock lock(known_regexps.mutex);
        auto it = known_regexps.storage.find({str_patterns, edit_distance});
        
        if (known_regexps.storage.end() == it)
            it = known_regexps.storage
                     .emplace(
                         std::pair{str_patterns, edit_distance},
                         constructRegexps<save_indices, CompileForEditDistance>(str_patterns, edit_distance))
                     .first;
        
        lock.unlock();
        return &it->second;
    }
}
#endif 
}