libretro / libretro/RetroArch

Extra new line (hex 0A) in playlist causes a crash to desktop

Open
#16,108 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Description

When I open Retroarch and scroll down the list of emulators I get a crash to desktop. Very reproducible as I only have to delete the last 0A character via hex editor to make it work, see image. I deleted everything in my playlist until I could start RA and have it not crash until I found out that was the culprit. I used Kate text editor initially but couldn't understand why the blank space made it crash, hence the hex editor. Pastebin link with hex characters. Log file.

Edit: Also if I just delete the part of the atomiswave playlist that makes RA initially crash, it'll still crash when browsing the atomiswave playlist regardless of video drive (vulkan or glcore) and regardless of menu style (xmb or ozone). I've searched and heard of a few others where playlists caused a crash but no solution.

Edit 2: So I deleted the 3 games in the playlist and maybe I'm crazy but what they all had in common was 0A in their crc checksum, no other games had a combination of both of those characters in their checksum and RA is working fine now. Those games are blokpong.zip#u1 and sushibar.zip variants.

Expected behavior

I expected to scroll my game list and have it not crash.

Actual behavior

It crashed.

Bisect Results

It happened when I imported games to my play list.

  • RetroArch: [version/commit]

Retroarch 1.16.0

Environment information

EndeavorOS

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 crash in RetroArch 1.16.0 on EndeavourOS with the Atomiswave playlist, using the linked log and hex dump. Compare entries containing the reported 0A checksum bytes with entries that do not; done means scrolling the list no longer crashes across the reported Vulkan/glcore and XMB/Ozone combinations.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.