The image's fpcalc 1.5.1 exits 3 with "Error decoding audio frame (End
of file)" whenever it reaches the end of a file before -length, at any
length, so every track under two minutes failed both the AcoustID lookup
print and the duplicate-detection print: 471 lookups and all 1,979
present short tracks' chromaprints.
- runFingerprintTool returns the tool's stdout beside a toolExitError.
- fpcalcReadToEnd keeps a partial exit whose stderr is the end of file
and whose declared DURATION is within the span asked for. A damaged
file that stops early declares more than it read, and still fails.
- Migration 0097 clears the stored failures so the lookup worker and
the fingerprint backfill take those tracks again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>