https://clickhouse-test-reports.s3.yandex.net/0/624cb43f7f85b576dc2831e20623a5cf5b878792/fuzzer_ubsan/report.html

```
SELECT max(intDiv(1048575, NULL)) OVER (ORDER BY mod(number, 1024) DESC NULLS LAST RANGE BETWEEN 1 PRECEDING AND CURRENT ROW), 0, number, nth_value(toNullable(number), -9223372036854775808) OVER w AS firstValue, nth_value(toNullable(number), NULL) OVER w AS thridValue FROM numbers(1) WINDOW w AS (ORDER BY number ASC)
```
const Block & output_header_,
        const WindowDescription & window_description_,
        const std::vector<WindowFunctionDescription> & functions)
    : IProcessor({input_header_}, {output_header_})
    , input(inputs.front())
    , output(outputs.front())
    , input_header(input_header_)
    , window_description(window_description_)
{
    
    
    auto input_columns = input_header.getColumns();
    for (auto & column : input_columns)
    {
        column = std::move(column)->convertToFullColumnIfConst();
    }
    input_header.setColumns(std::move(input_columns));
    
    workspaces.reserve(functions.size());
    for (const auto & f : functions)
    {
        WindowFunctionWorkspace workspace;
        workspace.aggregate_function = f.aggregate_function;
        const auto & aggregate_function = workspace.aggregate_function;
        if (!arena && aggregate_function->allocatesMemoryInArena())
        {