https://clickhouse-test-reports.s3.yandex.net/20599/0a62f95bbe380abe8d8846ef9690b8a18c6a762b/fuzzer_debug/report.html#fail1
if (!action.arguments[i].needed_later)
                    arguments[i] = std::move(columns[action.arguments[i].pos]);
                else
                    arguments[i] = columns[action.arguments[i].pos];
            }
            ProfileEvents::increment(ProfileEvents::FunctionExecute);
            if (action.node->is_function_compiled)
                ProfileEvents::increment(ProfileEvents::CompiledFunctionExecute);
            res_column.column = action.node->function->execute(arguments, res_column.type, num_rows, dry_run);
            break;
        }
        case ActionsDAG::ActionType::ARRAY_JOIN:
        {
            size_t array_join_key_pos = action.arguments.front().pos;
            auto array_join_key = columns[array_join_key_pos];
            
            if (!action.arguments.front().needed_later)
                columns[array_join_key_pos] = {};
            array_join_key.column = array_join_key.column->convertToFullColumnIfConst();
            const ColumnArray * array = typeid_cast<const ColumnArray *>(array_join_key.column.get());
            if (!array)
                throw Exception("ARRAY JOIN of not array: " + action.node->result_name, ErrorCodes::TYPE_MISMATCH);
            for (auto & column : columns)
                if (column.column)
                    column.column = column.column->replicate(array->getOffsets());
            for (auto & column : inputs)
                if (column.column)
                    column.column = column.column->replicate(array->getOffsets());
            auto & res_column = columns[action.result_position];
            res_column.column = array->getDataPtr();