whipper version: 0.10.0-2ubuntu2 (Ubuntu Noble / Linux Mint 22.3)
OS: Linux Mint 22.3 Cinnamon (kernel 6.17.0-23-generic)
Drive: Asus DRW-24D5MT (offset +12, defeats_cache False). Also reproduced on LiteOn iHAS124 W (offset +98, defeats_cache True).
Summary
When --track-template does not include the same directory prefix as --disc-template, all tracks silently fail with "giving up on track N after 5 times". No error, traceback, or diagnostic output is produced between retry attempts. The failure is indistinguishable from a hardware or disc fault.
Steps to reproduce
Configure whipper with a working drive (offset set, cache analysed).
Insert a known-good audio CD.
Run:
whipper cd rip -W ~/WHIPPERRIPS
--disc-template '%A - %y - %d/%A - %y - %d'
--track-template '%t. %n'
Expected result
Tracks rip into the directory created by the disc template, named according to the track template.
Actual result
Every track fails silently after 5 attempts:
INFO:whipper.command.cd:ripping track 1 of 11: 01. Speed of Life.flac
INFO:whipper.command.cd:ripping track 1 of 11 (try 2): 01. Speed of Life.flac
INFO:whipper.command.cd:ripping track 1 of 11 (try 3): 01. Speed of Life.flac
INFO:whipper.command.cd:ripping track 1 of 11 (try 4): 01. Speed of Life.flac
INFO:whipper.command.cd:ripping track 1 of 11 (try 5): 01. Speed of Life.flac
CRITICAL:whipper.command.cd:giving up on track 1 after 5 times
("track can't be ripped. Rip attempts number is equal to %d", 5)
No traceback, no file-size mismatch warning, no cdparanoia error — nothing between the retry lines to indicate what went wrong.
Workaround
The track template must include the same directory prefix as the disc template:
Fails (no directory prefix in track template):
--disc-template '%A - %y - %d/%A - %y - %d'
--track-template '%t. %n'
Works (directory prefix matches):
--disc-template '%A - %y - %d/%A - %y - %d'
--track-template '%A - %y - %d/%t. %n'
Note that the default templates follow this pattern — both DEFAULT_DISC_TEMPLATE and DEFAULT_TRACK_TEMPLATE in cd.py share the %r/%A - %d/ prefix:
pythonDEFAULT_TRACK_TEMPLATE = '%r/%A - %d/%t. %a - %n'
DEFAULT_DISC_TEMPLATE = '%r/%A - %d/%A - %d'
However, nothing in the --help output, documentation, or validate_template() enforces or mentions this requirement.
Suggested fix
Either:
(a) validate_template() should verify that the track template's directory prefix matches the disc template's directory prefix and raise a clear error if they differ, or
(b) whipper should automatically prepend the disc template's directory prefix to the track template if the track template contains no /, or
(c) the underlying rip failure should produce a meaningful error message instead of silently retrying and failing.
At minimum, the --help text for --track-template should document that the directory prefix must match the disc template.
Impact
This consumed approximately 12 hours of debugging across multiple sessions and required purchase of a drive as part of problem-solving (the Asus). The silent failure with no diagnostic output led to three unnecessary drive swaps (LiteOn iHAS124 W, LG BH12LS38, LG GP60NB50, Asus DRW-24D5MT) before the template was identified as the cause. The failure pattern is identical to genuine hardware faults, making it extremely difficult to diagnose.
Personal Notes
I'm a novice user and am absolutely delighted that there's an equivalent to Exact Audio Copy available on linux. Thank you to the Whipperrip team.
This report, and my problem-solving, were by way of Claude AI at my request.
whipper version: 0.10.0-2ubuntu2 (Ubuntu Noble / Linux Mint 22.3)
OS: Linux Mint 22.3 Cinnamon (kernel 6.17.0-23-generic)
Drive: Asus DRW-24D5MT (offset +12, defeats_cache False). Also reproduced on LiteOn iHAS124 W (offset +98, defeats_cache True).
Summary
When --track-template does not include the same directory prefix as --disc-template, all tracks silently fail with "giving up on track N after 5 times". No error, traceback, or diagnostic output is produced between retry attempts. The failure is indistinguishable from a hardware or disc fault.
Steps to reproduce
Configure whipper with a working drive (offset set, cache analysed).
Insert a known-good audio CD.
Run:
whipper cd rip -W ~/WHIPPERRIPS
--disc-template '%A - %y - %d/%A - %y - %d'
--track-template '%t. %n'
Expected result
Tracks rip into the directory created by the disc template, named according to the track template.
Actual result
Every track fails silently after 5 attempts:
INFO:whipper.command.cd:ripping track 1 of 11: 01. Speed of Life.flac
INFO:whipper.command.cd:ripping track 1 of 11 (try 2): 01. Speed of Life.flac
INFO:whipper.command.cd:ripping track 1 of 11 (try 3): 01. Speed of Life.flac
INFO:whipper.command.cd:ripping track 1 of 11 (try 4): 01. Speed of Life.flac
INFO:whipper.command.cd:ripping track 1 of 11 (try 5): 01. Speed of Life.flac
CRITICAL:whipper.command.cd:giving up on track 1 after 5 times
("track can't be ripped. Rip attempts number is equal to %d", 5)
No traceback, no file-size mismatch warning, no cdparanoia error — nothing between the retry lines to indicate what went wrong.
Workaround
The track template must include the same directory prefix as the disc template:
Fails (no directory prefix in track template):
--disc-template '%A - %y - %d/%A - %y - %d'
--track-template '%t. %n'
Works (directory prefix matches):
--disc-template '%A - %y - %d/%A - %y - %d'
--track-template '%A - %y - %d/%t. %n'
Note that the default templates follow this pattern — both DEFAULT_DISC_TEMPLATE and DEFAULT_TRACK_TEMPLATE in cd.py share the %r/%A - %d/ prefix:
pythonDEFAULT_TRACK_TEMPLATE = '%r/%A - %d/%t. %a - %n'
DEFAULT_DISC_TEMPLATE = '%r/%A - %d/%A - %d'
However, nothing in the --help output, documentation, or validate_template() enforces or mentions this requirement.
Suggested fix
Either:
(a) validate_template() should verify that the track template's directory prefix matches the disc template's directory prefix and raise a clear error if they differ, or
(b) whipper should automatically prepend the disc template's directory prefix to the track template if the track template contains no /, or
(c) the underlying rip failure should produce a meaningful error message instead of silently retrying and failing.
At minimum, the --help text for --track-template should document that the directory prefix must match the disc template.
Impact
This consumed approximately 12 hours of debugging across multiple sessions and required purchase of a drive as part of problem-solving (the Asus). The silent failure with no diagnostic output led to three unnecessary drive swaps (LiteOn iHAS124 W, LG BH12LS38, LG GP60NB50, Asus DRW-24D5MT) before the template was identified as the cause. The failure pattern is identical to genuine hardware faults, making it extremely difficult to diagnose.
Personal Notes
I'm a novice user and am absolutely delighted that there's an equivalent to Exact Audio Copy available on linux. Thank you to the Whipperrip team.
This report, and my problem-solving, were by way of Claude AI at my request.