```
../contrib/libcxx/include/vector:1449: _LIBCPP_ASSERT '__n < size()' failed. vector[] index out of bounds Received signal 6 Received signal Aborted (6)
```

https://s3.amazonaws.com/clickhouse-test-reports/39973/24ee3e022df7e970b5925fea657bec3ad7303702/fuzzer_astfuzzerdebug//report.html

{
    /** Increment the last byte of the prefix by one. But if it is max (255), then remove it and increase the previous one.
      * Example (for convenience, suppose that the maximum value of byte is `z`)
      * abcx -> abcy
      * abcz -> abd
      * zzz -> empty string
      * z -> empty string
      */
    String res = prefix;
    while (!res.empty() && static_cast<UInt8>(res.back()) == std::numeric_limits<UInt8>::max())
        res.pop_back();
    if (res.empty())
        return res;
    res.back() = static_cast<char>(1 + static_cast<UInt8>(res.back()));
    return res;
}
static void appendColumnNameWithoutAlias(const ActionsDAG::Node & node, WriteBuffer & out, bool legacy = false)
{
    switch (node.type)
    {
        case (ActionsDAG::ActionType::INPUT): [[fallthrough]];
        case (ActionsDAG::ActionType::COLUMN):
            writeString(node.result_name, out);
            break;
        case (ActionsDAG::ActionType::ALIAS):
            appendColumnNameWithoutAlias(*node.children.front(), out, legacy);
            break;
        case (ActionsDAG::ActionType::ARRAY_JOIN):
            writeCString("arrayJoin(", out);