libretro / libretro/RetroArch

Wrong checksum detection when scanning single file instead of folder

Open
#10,704 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug: scanner scanner
Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

I have a PSP iso which I scan individually and RetroArch catalogues it wrongly and attributes the wrong checksum to it. Doing teh same scan t the whole folder correctly identifies the version and checksum; this is clearly a bug.

The ISO is undoubtedly this one:

Label: Tekken 6 (USA) (En,Fr,De,Es,It,Ru)
CRC32: AE9ABFB0
MD5: 740F4FB82775D4E8C1843FA9777F5389
SHA-1: BA1C98D3B30F296C4FE03A68BB7CE51738E069D6
Serial: ULUS-10466

Scanning ISO individually (wrong detection):

"path": "I:\\RetroArch\\roms\\Sony - PlayStation Portable\\Tekken 6 (USA).iso",
"label": "Tekken 6 (USA) (En,Fr,De,Es,It,Ru) (2014-05-20) (PSP) (PSN)",
"crc32": "B731B730|crc",
"db_name": "Sony - PlayStation Portable (PSN).lpl"

Scanning the whole folder, same ISO (correct detection):

"path": "I:\\RetroArch\\roms\\Sony - PlayStation Portable\\Tekken 6 (USA).iso",
"label": "Tekken 6 (USA) (En,Fr,De,Es,It,Ru)",
"crc32": "AE9ABFB0|crc",
"db_name": "Sony - PlayStation Portable.lpl"

I always assumed it calculated a checksum, but it is clearly not doing that in this case when using the "Scan File" option. Curiously the game is correct, but the checksum is clearly not. It doesn't seem to fallback on the ISO filename because something like foobar.iso will still get catalogued wrongly but consistently the correct game. I had never tried PSP games in RA so I'm not sure if this bug was present before the current version.

RetroArch: 1.8.6/d3a55ef732

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the Scan File and whole-folder scans with the supplied Tekken 6 ISO and compare their labels, checksums, and database names. Trace the scanning and catalogue-selection entry points used by both paths; done means individual scanning identifies the same version and AE9ABFB0 checksum as folder scanning.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.