**Describe the bug**
```
SELECT number % 100 AS k, sumArray(emptyArrayUInt8()) AS v FROM numbers(10) GROUP BY k
```
Fails under ASan.

APPLY_FOR_VARIANTS_CONVERTIBLE_TO_TWO_LEVEL(M)
    #undef M
    }
    if (isCancelled())
        return;
    
    result.aggregator = this;
    result.init(method_chosen);
    result.keys_size = params.keys_size;
    result.key_sizes = key_sizes;
    bool has_blocks_with_unknown_bucket = bucket_to_blocks.count(-1);
    
    if (has_two_level)
    {
        /** In this case, no_more_keys is not supported due to the fact that
          *  from different threads it is difficult to update the general state for "other" keys (overflows).
          * That is, the keys in the end can be significantly larger than max_rows_to_group_by.
          */
        LOG_TRACE(log, "Merging partially aggregated two-level data.");
        auto merge_bucket = [&bucket_to_blocks, &result, this](Int32 bucket, Arena * aggregates_pool, ThreadGroupStatusPtr thread_group)
        {
            if (thread_group)
                CurrentThread::attachToIfDetached(thread_group);
            for (Block & block : bucket_to_blocks[bucket])
            {
                if (isCancelled())
                    return;
            #define M(NAME) \
                else if (result.type == AggregatedDataVariants::Type::NAME) \
                    mergeStreamsImpl(block, aggregates_pool, *result.NAME, result.NAME->data.impls[bucket], nullptr, false);