version:  v21.8.14.5-lts
reproduce:
```
create database if not exists d_group_by_lowcardinality;

drop table if exists d_group_by_lowcardinality.t_group_by_lowcardinality;
create table if not exists d_group_by_lowcardinality.t_group_by_lowcardinality(p_date Date, val LowCardinality(Nullable(String)))
engine=MergeTree() partition by p_date order by tuple();

insert into d_group_by_lowcardinality.t_group_by_lowcardinality select today() as p_date, toString(number/5) as val from numbers(10000);
insert into d_group_by_lowcardinality.t_group_by_lowcardinality select today() as p_date, Null as val from numbers(100);

select val, avg(toUInt32(val)) from d_group_by_lowcardinality.t_group_by_lowcardinality group by val limit 10 settings max_threads=1, max_rows_to_group_by=100, group_by_overflow_mode='any' format Null;

drop table if exists d_group_by_lowcardinality.t_group_by_lowcardinality;
drop database if exists d_group_by_lowcardinality;
```
some crash log:
```
[9c30c96270b6] 2022.02.10 12:22:42.421080 [ 25499 ] <Fatal> BaseDaemon: ########################################                                                                               
[9c30c96270b6] 2022.02.10 12:22:42.438473 [ 25499 ] <Fatal> BaseDaemon: (version 22.1.3.1, build id: AE4FF1FC8784CB9E7B68B8204E52B52566D6D843) (from thread 24614) (query_id: 1bb2c351-2c14-4066-ba2d-7eafea07859e)Received signal Aborted (6)
[9c30c96270b6] 2022.02.10 12:22:42.438767 [ 25499 ] <Fatal> BaseDaemon:                                                                                                                               [9c30c96270b6] 2022.02.10 12:22:42.439062 [ 25499 ] <Fatal> BaseDaemon: Stack trace: 0x7f89584d1d22 0x7f89584bb862 0x7f89584bb747 0x7f89584ca616 0x7f895475c1bf 0x7f89394b6354 0x7f89395b503f 0x7f89394387cb 0x7f89393e3ff1 0x7f89328b8a9d 0x7f89328b6a69 0x7f893332e326 0x7f893332e202 0x7f8933335d55 0x7f8933336064 0x7f89333350ec 0x7f89333345a5 0x7f893334b5b0 0x7f893334b4ad 0x7f893334b41d 0x7f893334b3c1 0x7f893334b2d2 0x7f893334b172 0x7f893334affd 0x7f893334afbd 0x7f893334af95 0x7f893334af60 0x7f895ae73166 0x7f895ae68e15 0x7f895ae68766 0x7f895ae6fcd1 0x7f895ae6fc3d 0x7f895ae6fb65 0x7f895ae6f42f 0x7f8958837259 0x7f89585935e3                                                                                                                                                                        [9c30c96270b6] 2022.02.10 12:22:44.074333 [ 25499 ] <Fatal> BaseDaemon: 4. gsignal @ 0x92c6d22 in /root/freedomDR/ClickHouse/build_debug/src/AggregateFunctions/libclickhouse_aggregate_functionsd.so
[9c30c96270b6] 2022.02.10 12:22:44.299749 [ 25499 ] <Fatal> BaseDaemon: 5. abort @ 0x92b0862 in /root/freedomDR/ClickHouse/build_debug/src/AggregateFunctions/libclickhouse_aggregate_functionsd.so  
[9c30c96270b6] 2022.02.10 12:22:44.522865 [ 25499 ] <Fatal> BaseDaemon: 6. ? @ 0x92b0747 in /root/freedomDR/ClickHouse/build_debug/src/AggregateFunctions/libclickhouse_aggregate_functionsd.so      
[9c30c96270b6] 2022.02.10 12:22:44.748240 [ 25499 ] <Fatal> BaseDaemon: 7. ? @ 0x92bf616 in /root/freedomDR/ClickHouse/build_debug/src/AggregateFunctions/libclickhouse_aggregate_functionsd.so      
[9c30c96270b6] 2022.02.10 12:22:45.050277 [ 25499 ] <Fatal> BaseDaemon: 8. ./build_debug/./base/base/../base/StringRef.h:39: StringRef::StringRef<char8_t, void>(char8_t const*, unsigned long) @ 0x55511bf in /root/freedomDR/ClickHouse/build_debug/src/AggregateFunctions/libclickhouse_aggregate_functionsd.so                                                                                       
[9c30c96270b6] 2022.02.10 12:22:46.244445 [ 25499 ] <Fatal> BaseDaemon: 9. ./build_debug/./src/Common/ColumnsHashing.h:94: DB::ColumnsHashing::HashMethodString<PairNoInit<StringRef, char*>, char*, true, true, false>::getKeyHolder(long, DB::Arena&) const @ 0x190b354 in /root/freedomDR/ClickHouse/build_debug/src/libclickhouse_interpretersd.so                                                      
[9c30c96270b6] 2022.02.10 12:22:46.740614 [ 25499 ] <Fatal> BaseDaemon: 10.1. inlined from ./build_debug/./src/Common/ColumnsHashingImpl.h:164: DB::ColumnsHashing::columns_hashing_impl::FindResultImpl<char*, false> DB::ColumnsHashing::columns_hashing_impl::HashMethodBase<DB::ColumnsHashing::HashMethodString<PairNoInit<StringRef, char*>, char*, true, true, false>, PairNoInit<StringRef, char*>, char*, true, false>::findKey<DB::AggregationDataWithNullKey<HashMapTable<StringRef, HashMapCellWithSavedHash<StringRef, char*, DefaultHash<StringRef>, HashTableNoState>, DefaultHash<StringRef>, HashTableGrower<8ul>, Allocator<true, true> > > >(DB::AggregationDataWithNullKey<HashMapTable<StringRef, HashMapCellWithSavedHash<StringRef, char*, DefaultHash<StringRef>, HashTableNoState>, DefaultHash<StringRef>, HashTableGrower<8ul>, Allocator<true, true> > >&, unsigned long, DB::Arena&)
```
It is like call getKeyHolder crash (should use HashMethodSingleLowCardinalityColumn::getKeyHolder ). I can't fix it. Does anyone have ideas?
{
        if constexpr (has_nullable_keys)
        {
            auto bitmap = Base::createBitmap(row);
            return packFixed<Key>(row, keys_size, Base::getActualColumns(), key_sizes, bitmap);
        }
        else
        {
            if constexpr (has_low_cardinality)
                return packFixed<Key, true>(row, keys_size, low_cardinality_keys.nested_columns, key_sizes,
                                            &low_cardinality_keys.positions, &low_cardinality_keys.position_sizes);
            if (!prepared_keys.empty())
                return prepared_keys[row];
#if defined(__SSSE3__) && !defined(MEMORY_SANITIZER)
            if constexpr (sizeof(Key) <= 16)
            {
                assert(!has_low_cardinality && !has_nullable_keys);
                return packFixedShuffle<Key>(columns_data.get(), keys_size, key_sizes.data(), row, masks.get());
            }
#endif
            return packFixed<Key>(row, keys_size, Base::getActualColumns(), key_sizes);
        }
    }
    static std::optional<Sizes> shuffleKeyColumns(std::vector<IColumn *> & key_columns, const Sizes & key_sizes)