```
create table default.DFA(A Int64) Engine=MergeTree  order by tuple();
create table default.DFAD as default.DFA Engine=Distributed(test_shard_localhost, default, DFA)

 mkdir /var/lib/clickhouse/data/default/DFAD/shard1_replica1,shard1_replica2
chown -R clickhouse.clickhouse /var/lib/clickhouse/data/default/DFAD/shard1_replica1,shard1_replica2/

/etc/init.d/clickhouse-server restart


<Fatal> BaseDaemon: ########################################
<Fatal> BaseDaemon: (version 20.8.1.4436, build id: 30B7E2A4815769B9) (from thread 21305) (no query) Received signal Segmentation fault (11)
<Fatal> BaseDaemon: Address: NULL pointer. Access: read. Unknown si_code.
<Fatal> BaseDaemon: Stack trace: 0x17a585f5 0x1783c5de 0x17841b4e 0x17841ea0 0x1715a672 0xff3df97 0xff3e70a 0xff3d4a7 0xff3bae3 0x7f411ecd9fa3 0x7f411ebfb4

<Fatal> BaseDaemon: 3. DB::StorageDistributedDirectoryMonitor::createPool(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<cha
t&) @ 0x17a585f5 in /usr/bin/clickhouse
<Fatal> BaseDaemon: 4. DB::StorageDistributed::requireDirectoryMonitor(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>
td::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0x1783c5de in /usr/bin/clickhouse
<Fatal> BaseDaemon: 5. DB::StorageDistributed::createDirectoryMonitors(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>
house
<Fatal> BaseDaemon: 6. DB::StorageDistributed::startup() @ 0x17841ea0 in /usr/bin/clickhouse
<Fatal> BaseDaemon: 7. ? @ 0x1715a672 in /usr/bin/clickhouse
<Fatal> BaseDaemon: 8. ThreadPoolImpl<ThreadFromGlobalPool>::worker(std::__1::__list_iterator<ThreadFromGlobalPool, void*>) @ 0xff3df97 in /usr/bin/clickho

<Fatal> BaseDaemon: 9. ThreadFromGlobalPool::ThreadFromGlobalPool<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>
```
extern const Metric DistributedSend;
    extern const Metric DistributedFilesToInsert;
}
namespace DB
{
namespace ErrorCodes
{
    extern const int CANNOT_READ_ALL_DATA;
    extern const int UNKNOWN_CODEC;
    extern const int CANNOT_DECOMPRESS;
    extern const int CHECKSUM_DOESNT_MATCH;
    extern const int TOO_LARGE_SIZE_COMPRESSED;
    extern const int ATTEMPT_TO_READ_AFTER_EOF;
    extern const int EMPTY_DATA_PASSED;
}
namespace
{
    constexpr const std::chrono::minutes decrease_error_count_period{5};
    template <typename PoolFactory>
    ConnectionPoolPtrs createPoolsForAddresses(const std::string & name, PoolFactory && factory)
    {
        ConnectionPoolPtrs pools;
        for (auto it = boost::make_split_iterator(name, boost::first_finder(",")); it != decltype(it){}; ++it)
        {
            Cluster::Address address = Cluster::Address::fromFullString(boost::copy_range<std::string>(*it));
            pools.emplace_back(factory(address));
        }
        return pools;
    }
    void assertChecksum(CityHash_v1_0_2::uint128 expected, CityHash_v1_0_2::uint128 calculated)