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

/** Create empty data for aggregation with `placement new` at the specified location.
      * You will have to destroy them using the `destroy` method.
      */
    virtual void create(AggregateDataPtr place) const = 0;
    
    virtual void destroy(AggregateDataPtr place) const noexcept = 0;
    
    virtual bool hasTrivialDestructor() const = 0;
    
    virtual size_t sizeOfData() const = 0;
    
    virtual size_t alignOfData() const = 0;
    /** Adds a value into aggregation data on which place points to.
     *  columns points to columns containing arguments of aggregation function.
     *  row_num is number of row which should be added.
     *  Additional parameter arena should be used instead of standard memory allocator if the addition requires memory allocation.
     */
    virtual void add(AggregateDataPtr place, const IColumn ** columns, size_t row_num, Arena * arena) const = 0;
    
    virtual void merge(AggregateDataPtr place, ConstAggregateDataPtr rhs, Arena * arena) const = 0;
    
    virtual void serialize(ConstAggregateDataPtr place, WriteBuffer & buf) const = 0;
    
    virtual void deserialize(AggregateDataPtr place, ReadBuffer & buf, Arena * arena) const = 0;
    
    virtual bool allocatesMemoryInArena() const