https://clickhouse-test-reports.s3.yandex.net/8367/333ec2e496f4fe4addd22d5fa7c5c2a499099c57/fuzzer/fuzzer.log#fail1
std::sort(std::begin(index_to_out), std::end(index_to_out));
    Memory read_buffer(block_size * read_buffer_size, BUFFER_ALIGNMENT);
    
    std::vector<iocb> requests;
    std::vector<iocb*> pointers;
    std::vector<std::vector<size_t>> blocks_to_indices;
    requests.reserve(index_to_out.size());
    pointers.reserve(index_to_out.size());
    blocks_to_indices.reserve(index_to_out.size());
    for (size_t i = 0; i < index_to_out.size(); ++i)
    {
        #if defined(__FreeBSD__)
        const size_t back_offset = requests.empty() ? -1 : static_cast<size_t>(requests.back().aio.aio_offset);
        #else
        const size_t back_offset = requests.empty() ? -1 : static_cast<size_t>(requests.back().aio_offset);
        #endif
        if (!requests.empty() && back_offset == index_to_out[i].first.getBlockId() * block_size)
        {
            blocks_to_indices.back().push_back(i);
            continue;
        }
        iocb request{};
#if defined(__FreeBSD__)
        request.aio.aio_lio_opcode = LIO_READ;
        request.aio.aio_fildes = fd;
        request.aio.aio_buf = reinterpret_cast<volatile void *>(
            reinterpret_cast<UInt64>(read_buffer.data()) + block_size * (requests.size() % read_buffer_size));
        request.aio.aio_nbytes = block_size;
        request.aio.aio_offset = index_to_out[i].first.getBlockId() * block_size;