https://s3.amazonaws.com/clickhouse-test-reports/42778/66c179217cdfdee1ba0d4b4b577b1a62655caed0/fuzzer_astfuzzermsan//report.html

Minimal example
```sql
#!/usr/bin/clickhouse-client --queries-file

DROP TABLE IF EXISTS tab1;
DROP TABLE IF EXISTS tab2;

SET allow_suspicious_low_cardinality_types = 1;

create table tab1 (a1 Int32, b1 Int32) engine = MergeTree order by a1;
create table tab2 (a2 LowCardinality(Int32), b2 Int32) engine = MergeTree order by a2;

insert into tab1 values (1, 2);
insert into tab2 values (1, 2);

SET join_use_nulls = 1;

SELECT 1 FROM tab1 FULL OUTER JOIN tab2 ON b1 - 2 = a2 OR a1 = b2;

```
return joinRightColumnsSwitchNullability<KIND, STRICTNESS, KeyGetter>(
                        std::move(key_getter_vector), a_map_type_vector, added_columns, used_flags);
            }
            throw Exception(ErrorCodes::UNSUPPORTED_JOIN_KEYS, "Unsupported JOIN keys. Type: {}", type);
        }
    #define M(TYPE) \
        case HashJoin::Type::TYPE: \
            {                                                           \
            using MapTypeVal = const typename std::remove_reference_t<decltype(Maps::TYPE)>::element_type; \
            using KeyGetter = typename KeyGetterForType<HashJoin::Type::TYPE, MapTypeVal>::Type; \
            std::vector<const MapTypeVal *> a_map_type_vector(mapv.size()); \
            std::vector<KeyGetter> key_getter_vector;                     \
            for (size_t d = 0; d < added_columns.join_on_keys.size(); ++d)                   \
            {       \
                const auto & join_on_key = added_columns.join_on_keys[d];     \
                a_map_type_vector[d] = mapv[d]->TYPE.get();              \
                key_getter_vector.push_back(std::move(createKeyGetter<KeyGetter, is_asof_join>(join_on_key.key_columns, join_on_key.key_sizes))); \
            }                                                           \
            return joinRightColumnsSwitchNullability<KIND, STRICTNESS, KeyGetter>( \
                              std::move(key_getter_vector), a_map_type_vector, added_columns, used_flags); \
    }
        APPLY_FOR_JOIN_VARIANTS(M)
    #undef M
        default:
            throw Exception(ErrorCodes::UNSUPPORTED_JOIN_KEYS, "Unsupported JOIN keys (type: {})", type);
    }
}
} 
template <JoinKind KIND, JoinStrictness STRICTNESS, typename Maps>
void HashJoin::joinBlockImpl(