Repository navigation
Report cdparanoia non-fatal errors and suspicious positions in the log - #701
Open
ajzrva-sys wants to merge 4 commits into
Open
ajzrva-sys wants to merge 4 commits into
ajzrva-sys wants to merge 4 commits into
Conversation
Classify cdparanoia --stderr-progress callbacks (correction vs severe), record event counts and track-relative suspicious frame ranges, and surface them on TrackResult, the rip log, and CLI warnings. Report-first: do not abort on non-fatal errors alone. Addresses whipper-team#88 and whipper-team#492. Signed-off-by: ajzrva-sys <ajzrva-sys@users.noreply.github.com>
ajzrva-sys
force-pushed
the
feature/cdparanoia-error-reporting
branch
from
September 18, 2026 12:21
6ea09d0 to
fcc5c7a
Compare
…er-team#294) Export shared ROUTINE/CORRECTION/SEVERE sets and classify_cdparanoia_events() from the cdparanoia progress parser. WhipperLogger now uses that classifier instead of duplicated name sets, records lossy severe event names, and reports an explicit "cdparanoia health" line in the conclusive status report (clean / corrections only / severe errors possibly lossy). Severe events (skip, transport error, scsi_read error) still force Health status "There were errors" even when test/copy CRCs match. Signed-off-by: ajzrva-sys <ajzrva-sys@users.noreply.github.com> Addresses whipper-team#294.
) Classify events using libcdio/libcdio-paranoia paranoia_cb_mode_t, callback_strings[], and usage.txt.in progress-bar symbols: - definitely lossy (bar "V"): skip, scratch, scsi_read error - severe recoverable (bar "e"): transport error, cache error - corrections (bar "-"/"+"/"!"): jitter, correction, overlap, dropped, duped, drift, backoff, scratch repair Health status "There were errors" still triggers on CRC mismatch or any severe event. The status report "cdparanoia health" line now distinguishes definitely lossy vs severe recoverable vs corrections only. Track status warns explicitly about uncorrected/skipped sectors when CRCs still match. Signed-off-by: ajzrva-sys <ajzrva-sys@users.noreply.github.com> Addresses whipper-team#294.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A rip can have matching test/copy CRCs while cdparanoia reports read problems. Those events currently don't appear in the rip log.
Record event counts and suspicious positions from both passes. Add them to the log and warn during ripping. Severe events set the health status to
There were errors; corrections remain visible without changing that status.The abort limit now counts severe callbacks as well as raw SCSI errors. It stops the read above 100 events.
Includes parser fixtures and log tests. The event classification and log format still need agreement, particularly for #492.
Addresses #88, #294 and #492.
Two classification details still need fixing: overlap callback values are window sizes, and raw SCSI retry messages alone do not prove lost audio.
Checked
3e252a5on macOS arm64 / Python 3.11: 125 unit tests pass. No optical-drive test in this run.