Skip to content

Guard TOC decode, missing cdrdao output, and None FILE paths - #708

Open
ajzrva-sys wants to merge 3 commits into
whipper-team:developfrom
ajzrva-sys:feature/issue-239-550-594-654-batch
Open

ajzrva-sys wants to merge 3 commits into
whipper-team:developfrom
ajzrva-sys:feature/issue-239-550-594-654-batch

Conversation

@ajzrva-sys

Copy link
Copy Markdown

Summary

Batch of crash/error-handling fixes for accepted open bugs that had no PR:

Issue Fix
#239 Existing EAC files are not force-re-ripped when no prior whipper CRC is in memory (same root cause as #681)
#550 Null FILE paths from generic/multi-session TOCs no longer AttributeError in image verify/encode
#594 Missing cdrdao TOC: clear error with stderr/returncode instead of parse crash on a temp path
#654 Non-UTF-8 TOC/cue/cdrdao output decoded with errors='replace'

Verification

  • 16/16 tests: test_issue_crash_guards, test_image_cue, test_common_common, test_program_cdrdao
  • flake8 clean

Addresses #239
Addresses #550
Addresses #594
Addresses #654

- whipper-team#239/whipper-team#681: verifyTrack accepts existing EAC/resume files when testcrc
  is None and records the file CRC instead of always re-ripping
- whipper-team#550: skip image verify/encode when index.path is None; toc.py no
  longer does s.path on a missing source
- whipper-team#594: ReadTOCTask._done checks the TOC file exists and logs cdrdao
  returncode/stderr instead of FileNotFoundError on a random temp path
- whipper-team#654: open TOC/cue with errors='replace'; decode cdrdao stderr the
  same way so non-UTF-8 CD-TEXT does not abort the rip

Signed-off-by: ajzrva-sys <ajzrva-sys@users.noreply.github.com>
Addresses whipper-team#239
Addresses whipper-team#550
Addresses whipper-team#594
Addresses whipper-team#654
The Fedora whipper-team#550 traceback is toc.py _index doing s.path when the
silence source is None (generic cdrdao TOC). That site was already
guarded; this closes the rest of the chain:

- image.Image.setup: tolerate missing/None INDEX 1 path
- program.verifyImage: skip AccurateRip paths when FILE is null
- common.getRealPath(None) raises KeyError, not AttributeError
- regression test: SILENCE + FILE data.wav TOC parses without crash

Signed-off-by: ajzrva-sys <ajzrva-sys@users.noreply.github.com>
Addresses whipper-team#550
…put guards

whipper-team#239 — verifyTrack reuses EAC/resume files when testcrc is None and
records the file CRC; truncated files still fail via MissingFrames.

whipper-team#594 — ReadTOCTask._done refuses to parse a TOC cdrdao never wrote and
logs returncode + stderr tail (device empty, crash, or concurrent rip).

whipper-team#654 — decode all external tool output with errors='replace':
cdrdao DetectCdr/version, cdparanoia progress/analyze, soxi, and
VersionGetter, not only toc/cue file reads.

Signed-off-by: ajzrva-sys <ajzrva-sys@users.noreply.github.com>
Addresses whipper-team#239
Addresses whipper-team#594
Addresses whipper-team#654
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.

1 participant