**Describe the bug**
ClickHouse server crashes when using ASOF LEFT JOIN with join_use_nulls=1

**How to reproduce**
* 20.5.2.7 / 20.5.3.27

May require to run several times!

```
ClickHouse client version 20.5.3.27 (official build).
Connecting to server253:9000 as user default.
Connected to ClickHouse server version 20.5.3 revision 54435.

clickhouse-dev253 :) SELECT max(NULL)
:-]   FROM (SELECT * FROM generateRandom('pk UInt32, dt DateTime', 0) LIMIT 1000000000 ) a
:-]   ASOF LEFT JOIN ( SELECT * FROM generateRandom('pk UInt32, dt DateTime', 1) LIMIT 10000000 ) b
:-]  USING (pk, dt) SETTINGS join_use_nulls=1;

SELECT max(NULL)
FROM
(
    SELECT *
    FROM generateRandom('pk UInt32, dt DateTime', 0)
    LIMIT 1000000000
) AS a
ASOF LEFT JOIN
(
    SELECT *
    FROM generateRandom('pk UInt32, dt DateTime', 1)
    LIMIT 10000000
) AS b USING (pk, dt)
SETTINGS join_use_nulls = 1

↙ Progress: 120.72 million rows, 965.74 MB (17.42 million rows/s., 139.35 MB/s.)
Exception on client:
Code: 32. DB::Exception: Attempt to read after eof: while receiving packet from server253:9000

Connecting to server253:9000 as user default.
Code: 210. DB::NetException: Connection refused (server253:9000)
```

log:
```
2020.07.27 18:22:38.285480 [ 151 ] {} <Fatal> BaseDaemon: ########################################
2020.07.27 18:22:38.285534 [ 151 ] {} <Fatal> BaseDaemon: (version 20.5.3.27 (official build), build id: 5820B4CE93C60E3C) (from thread 91) (query_id: e95c4596-610d-4049-ba64-0c1c83d1a53c) Received signal Segmentation fault (11)
2020.07.27 18:22:38.285565 [ 151 ] {} <Fatal> BaseDaemon: Address: 0x7f6c2fa687b8 Access: read. Attempted access has violated the permissions assigned to the memory area.
2020.07.27 18:22:38.285584 [ 151 ] {} <Fatal> BaseDaemon: Stack trace: 0x9790a7f 0xdc40de6 0xdcc5ccb 0xdc5dacf 0xdd8f2c3 0xdd91c20 0xe9331ec 0xe725910 0xe758df1 0xe75d576 0xe75dbc2 0x9625f47 0x9624433 0x7f6c6cf706db 0x7f6c6c88d88f
2020.07.27 18:22:38.285664 [ 151 ] {} <Fatal> BaseDaemon: 3. DB::ColumnVector<unsigned int>::insertFrom(DB::IColumn const&, unsigned long) @ 0x9790a7f in /usr/bin/clickhouse
2020.07.27 18:22:38.285687 [ 151 ] {} <Fatal> BaseDaemon: 4. ? @ 0xdc40de6 in /usr/bin/clickhouse
2020.07.27 18:22:38.285727 [ 151 ] {} <Fatal> BaseDaemon: 5. void DB::HashJoin::joinBlockImpl<(DB::ASTTableJoin::Kind)1, (DB::ASTTableJoin::Strictness)4, DB::HashJoin::MapsTemplate<DB::JoinStuff::WithFlags<DB::AsofRowRefs, false> > >(DB::Block&, 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&, DB::Block const&, DB::HashJoin::MapsTemplate<DB::JoinStuff::WithFlags<DB::AsofRowRefs, false> > const&) const @ 0xdcc5ccb in /usr/bin/clickhouse
2020.07.27 18:22:38.285774 [ 151 ] {} <Fatal> BaseDaemon: 6. DB::HashJoin::joinBlock(DB::Block&, std::__1::shared_ptr<DB::ExtraBlock>&) @ 0xdc5dacf in /usr/bin/clickhouse
2020.07.27 18:22:38.285794 [ 151 ] {} <Fatal> BaseDaemon: 7. DB::ExpressionAction::execute(DB::Block&, bool, std::__1::shared_ptr<DB::ExtraBlock>&) const @ 0xdd8f2c3 in /usr/bin/clickhouse
2020.07.27 18:22:38.285814 [ 151 ] {} <Fatal> BaseDaemon: 8. DB::ExpressionActions::execute(DB::Block&, bool) const @ 0xdd91c20 in /usr/bin/clickhouse
2020.07.27 18:22:38.285842 [ 151 ] {} <Fatal> BaseDaemon: 9. DB::ExpressionTransform::transform(DB::Chunk&) @ 0xe9331ec in /usr/bin/clickhouse
2020.07.27 18:22:38.285869 [ 151 ] {} <Fatal> BaseDaemon: 10. DB::ISimpleTransform::work() @ 0xe725910 in /usr/bin/clickhouse
2020.07.27 18:22:38.285885 [ 151 ] {} <Fatal> BaseDaemon: 11. ? @ 0xe758df1 in /usr/bin/clickhouse
2020.07.27 18:22:38.285899 [ 151 ] {} <Fatal> BaseDaemon: 12. ? @ 0xe75d576 in /usr/bin/clickhouse
2020.07.27 18:22:38.285913 [ 151 ] {} <Fatal> BaseDaemon: 13. ? @ 0xe75dbc2 in /usr/bin/clickhouse
2020.07.27 18:22:38.285931 [ 151 ] {} <Fatal> BaseDaemon: 14. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x9625f47 in /usr/bin/clickhouse
2020.07.27 18:22:38.285946 [ 151 ] {} <Fatal> BaseDaemon: 15. ? @ 0x9624433 in /usr/bin/clickhouse
2020.07.27 18:22:38.285969 [ 151 ] {} <Fatal> BaseDaemon: 16. start_thread @ 0x76db in /lib/x86_64-linux-gnu/libpthread-2.27.so
2020.07.27 18:22:38.285990 [ 151 ] {} <Fatal> BaseDaemon: 17. clone @ 0x12188f in /lib/x86_64-linux-gnu/libc-2.27.so
2020.07.27 18:22:38.304851 [ 152 ] {} <Fatal> BaseDaemon: ########################################
2020.07.27 18:22:38.304955 [ 152 ] {} <Fatal> BaseDaemon: (version 20.5.3.27 (official build), build id: 5820B4CE93C60E3C) (from thread 138) (query_id: e95c4596-610d-4049-ba64-0c1c83d1a53c) Received signal Segmentation fault (11)
2020.07.27 18:22:38.305007 [ 152 ] {} <Fatal> BaseDaemon: Address: 0x7f6c2fa68b40 Access: read. Attempted access has violated the permissions assigned to the memory area.
2020.07.27 18:22:38.305035 [ 152 ] {} <Fatal> BaseDaemon: Stack trace: 0x9790a7f 0xdc40de6 0xdcc5ccb 0xdc5dacf 0xdd8f2c3 0xdd91c20 0xe9331ec 0xe725910 0xe758df1 0xe75d576 0xe75dbc2 0x9625f47 0x9624433 0x7f6c6cf706db 0x7f6c6c88d88f
2020.07.27 18:22:38.305121 [ 152 ] {} <Fatal> BaseDaemon: 3. DB::ColumnVector<unsigned int>::insertFrom(DB::IColumn const&, unsigned long) @ 0x9790a7f in /usr/bin/clickhouse
2020.07.27 18:22:38.305191 [ 152 ] {} <Fatal> BaseDaemon: 4. ? @ 0xdc40de6 in /usr/bin/clickhouse
2020.07.27 18:22:38.305241 [ 152 ] {} <Fatal> BaseDaemon: 5. void DB::HashJoin::joinBlockImpl<(DB::ASTTableJoin::Kind)1, (DB::ASTTableJoin::Strictness)4, DB::HashJoin::MapsTemplate<DB::JoinStuff::WithFlags<DB::AsofRowRefs, false> > >(DB::Block&, 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&, DB::Block const&, DB::HashJoin::MapsTemplate<DB::JoinStuff::WithFlags<DB::AsofRowRefs, false> > const&) const @ 0xdcc5ccb in /usr/bin/clickhouse
2020.07.27 18:22:38.305290 [ 152 ] {} <Fatal> BaseDaemon: 6. DB::HashJoin::joinBlock(DB::Block&, std::__1::shared_ptr<DB::ExtraBlock>&) @ 0xdc5dacf in /usr/bin/clickhouse
2020.07.27 18:22:38.305320 [ 152 ] {} <Fatal> BaseDaemon: 7. DB::ExpressionAction::execute(DB::Block&, bool, std::__1::shared_ptr<DB::ExtraBlock>&) const @ 0xdd8f2c3 in /usr/bin/clickhouse
2020.07.27 18:22:38.305350 [ 152 ] {} <Fatal> BaseDaemon: 8. DB::ExpressionActions::execute(DB::Block&, bool) const @ 0xdd91c20 in /usr/bin/clickhouse
2020.07.27 18:22:38.305379 [ 152 ] {} <Fatal> BaseDaemon: 9. DB::ExpressionTransform::transform(DB::Chunk&) @ 0xe9331ec in /usr/bin/clickhouse
2020.07.27 18:22:38.305409 [ 152 ] {} <Fatal> BaseDaemon: 10. DB::ISimpleTransform::work() @ 0xe725910 in /usr/bin/clickhouse
2020.07.27 18:22:38.305435 [ 152 ] {} <Fatal> BaseDaemon: 11. ? @ 0xe758df1 in /usr/bin/clickhouse
2020.07.27 18:22:38.305468 [ 152 ] {} <Fatal> BaseDaemon: 12. ? @ 0xe75d576 in /usr/bin/clickhouse
2020.07.27 18:22:38.305493 [ 152 ] {} <Fatal> BaseDaemon: 13. ? @ 0xe75dbc2 in /usr/bin/clickhouse
2020.07.27 18:22:38.305524 [ 152 ] {} <Fatal> BaseDaemon: 14. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x9625f47 in /usr/bin/clickhouse
2020.07.27 18:22:38.305550 [ 152 ] {} <Fatal> BaseDaemon: 15. ? @ 0x9624433 in /usr/bin/clickhouse
2020.07.27 18:22:38.305586 [ 152 ] {} <Fatal> BaseDaemon: 16. start_thread @ 0x76db in /lib/x86_64-linux-gnu/libpthread-2.27.so
2020.07.27 18:22:38.305620 [ 152 ] {} <Fatal> BaseDaemon: 17. clone @ 0x12188f in /lib/x86_64-linux-gnu/libc-2.27.so
...
```
{
        switch (parent.data->type)
        {
        #define M(TYPE) \
            case HashJoin::Type::TYPE: \
                return fillColumns<STRICTNESS>(*maps.TYPE, columns_keys_and_right);
            APPLY_FOR_JOIN_VARIANTS(M)
        #undef M
            default:
                throw Exception("Unsupported JOIN keys. Type: " + toString(static_cast<UInt32>(parent.data->type)),
                                ErrorCodes::UNSUPPORTED_JOIN_KEYS);
        }
        __builtin_unreachable();
    }
    template <ASTTableJoin::Strictness STRICTNESS, typename Map>
    size_t fillColumns(const Map & map, MutableColumns & columns_keys_and_right)