https://rethinkdb.com/blog/handling-stack-overflow-on-custom-stacks/

https://barrgroup.com/embedded-systems/how-to/prevent-detect-stack-overflow 

etc.
std::string user_files_path = config().getString("user_files_path", path + "user_files/");
        global_context->setUserFilesPath(user_files_path);
        Poco::File(user_files_path).createDirectories();
    }
    {
        std::string dictionaries_lib_path = config().getString("dictionaries_lib_path", path + "dictionaries_lib/");
        global_context->setDictionariesLibPath(dictionaries_lib_path);
        Poco::File(dictionaries_lib_path).createDirectories();
    }
    
    {
        const std::string & top_level_domains_path = config().getString("top_level_domains_path", path + "top_level_domains/") + "/";
        TLDListsHolder::getInstance().parseConfig(top_level_domains_path, config());
    }
    {
        Poco::File(path + "data/").createDirectories();
        Poco::File(path + "metadata/").createDirectories();
        
        Poco::File(path + "metadata_dropped/").createDirectories();
    }
    if (config().has("interserver_http_port") && config().has("interserver_https_port"))
        throw Exception("Both http and https interserver ports are specified", ErrorCodes::EXCESSIVE_ELEMENT_IN_CONFIG);
    static const auto interserver_tags =
    {
        std::make_tuple("interserver_http_host", "interserver_http_port", "http"),
        std::make_tuple("interserver_https_host", "interserver_https_port", "https")
    };
    for (auto [host_tag, port_tag, scheme] : interserver_tags)
    {
        if (config().has(port_tag))