Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fuzz-test-run-fs (fuzz_range_reader) failed for attempt to subtract with overflow #2717

Closed
Xuanwo opened this issue Jul 26, 2023 · 1 comment · Fixed by #2718
Closed

fuzz-test-run-fs (fuzz_range_reader) failed for attempt to subtract with overflow #2717

Xuanwo opened this issue Jul 26, 2023 · 1 comment · Fixed by #2718

Comments

@Xuanwo
Copy link
Member

Xuanwo commented Jul 26, 2023

crash_fs_fuzz_range_reader_pull_request_1_6ceb08232d21baafea96ca7f5c87ba8b60181317.zip

Failed workflow: https://github.com/apache/incubator-opendal/actions/runs/5667056033/job/15355381033?pr=2710

Output of `std::fmt::Debug`:

FuzzInput {
    actions: [
        Seek(
            End(
                -2,
            ),
        ),
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
        Read {
            size: 0,
        },
    ],
    data: [
        0,
        0,
    ],
    range: (
        1,
        2,
    )
@Xuanwo
Copy link
Member Author

Xuanwo commented Jul 26, 2023

Add a unit test for this:

  • create a file
  • open reader with range 1..2
  • seek to End(-2) (the postion will be 0 which is valid for file, but not for our current range)
  • Expect InvalidInput error.

Xuanwo added a commit that referenced this issue Jul 27, 2023
Signed-off-by: Xuanwo <github@xuanwo.io>
Xuanwo added a commit that referenced this issue Jul 27, 2023
* feat(tests): Extract fuzz test of #2717

Signed-off-by: Xuanwo <github@xuanwo.io>

* Format code

Signed-off-by: Xuanwo <github@xuanwo.io>

---------

Signed-off-by: Xuanwo <github@xuanwo.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant