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

Fix endless loop when skipping link #765

Merged
merged 1 commit into from
Nov 29, 2024
Merged

Fix endless loop when skipping link #765

merged 1 commit into from
Nov 29, 2024

Conversation

ktmf01
Copy link
Collaborator

@ktmf01 ktmf01 commented Nov 29, 2024

Credit: Oss-Fuzz
Issue: N/A (local run)

Credit: Oss-Fuzz
Issue: N/A (local run)
@ktmf01 ktmf01 merged commit 7e0c04c into xiph:master Nov 29, 2024
16 checks passed
@sezero
Copy link
Contributor

sezero commented Nov 30, 2024

FYI: The 'distcheck' workflow had a failure in our fork:

testing chained-merged.oga:
run_test_seeking chained-merged.oga 100 580716 chained.raw

+++ seek test: FLAC__StreamDecoder (Ogg FLAC, read_mode=0)

stream decoder state is FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC
file's total_samples is 580716
Begin seek barrage, count=100
#0:seek(0)... FAILED, FLAC__stream_decoder_seek_absolute() FAILED, state = 6 (FLAC__STREAM_DECODER_SEEK_ERROR)
ERROR: during test_seeking
make[2]: *** [Makefile:715: check] Error 1
make[2]: Leaving directory '/home/runner/work/flac/flac/flac-1.4.3/_build/sub/test'
make[1]: *** [Makefile:497: check-recursive] Error 1
make[1]: Leaving directory '/home/runner/work/flac/flac/flac-1.4.3/_build/sub'
make: *** [Makefile:713: distcheck] Error 1
Error: Process completed with exit code 2.

Full run log: https://github.com/libsdl-org/flac/actions/runs/12094798212/job/33727239452

Don't know whether or not this is a one-off, but reporting just in case.

@ktmf01
Copy link
Collaborator Author

ktmf01 commented Nov 30, 2024

Thanks, I'll take a look

@ktmf01
Copy link
Collaborator Author

ktmf01 commented Dec 2, 2024

I cannot reproduce currently. It seems reasonable to assume that two streams had the same serial number, this has lead to this error in the past. Such an error would also pop up seldomly because it only happens when the random number generator returns the same number twice. I can't be sure, because the file is already gone of course.

@sezero
Copy link
Contributor

sezero commented Dec 4, 2024

Well, it failed again when I sync'ed my fork with current master: https://github.com/sezero/flac/actions/runs/12151771495/job/33886973651

Maybe a difference in OS runner or something? I don't know. But something is definitely going on.

@ktmf01
Copy link
Collaborator Author

ktmf01 commented Dec 4, 2024

It is not distcheck this time though. Is the error the same? I cannot view the error, probably not priviledged.

@sezero
Copy link
Contributor

sezero commented Dec 4, 2024

It is not distcheck this time though. Is the error the same? I cannot view the error, probably not priviledged.

Here it is:

2024-12-04T02:21:18.1709984Z 8: testing chained-merged.oga:
2024-12-04T02:21:18.1710398Z 8: run_test_seeking chained-merged.oga 100 580716 chained.raw
2024-12-04T02:21:18.1881475Z 8: 
2024-12-04T02:21:18.1881995Z 8: +++ seek test: FLAC__StreamDecoder (Ogg FLAC, read_mode=0)
2024-12-04T02:21:18.1882495Z 8: 
2024-12-04T02:21:18.1882831Z 8: stream decoder state is FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC
2024-12-04T02:21:18.1883284Z 8: file's total_samples is 580716
2024-12-04T02:21:18.1883586Z 8: Begin seek barrage, count=100
2024-12-04T02:21:18.1885613Z 8: #0:seek(0)... FAILED, FLAC__stream_decoder_seek_absolute() FAILED, state = 6 (FLAC__STREAM_DECODER_SEEK_ERROR)
2024-12-04T02:21:18.1887543Z 8: ERROR: during test_seeking
2024-12-04T02:21:18.1892046Z  8/10 Test  #8: seeking ..........................***Failed    0.89 sec
[....]
2024-12-04T02:24:56.7670224Z 
2024-12-04T02:24:56.7670354Z The following tests FAILED:
2024-12-04T02:24:56.7670647Z Errors while running CTest
2024-12-04T02:24:56.7671056Z Output from these tests are in: /home/runner/work/flac/flac/cmake-build/Testing/Temporary/LastTest.log
2024-12-04T02:24:56.7671597Z Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.
2024-12-04T02:24:56.7671939Z 	  8 - seeking (Failed)
2024-12-04T02:24:56.7723776Z ##[error]Process completed with exit code 8. 

And here is the zip of the full log from the failing run: log.zip

EDIT: Yes, the error looks the same.

@ktmf01
Copy link
Collaborator Author

ktmf01 commented Dec 5, 2024

@sezero I have been able to reproduce this problem, and #771 should be a proper fix. Thanks for letting me know.

ktmf01 added a commit that referenced this pull request Dec 5, 2024
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 this pull request may close these issues.

2 participants