OnionUI / Onion

OS overhaul for Miyoo Mini and Mini+
https://onionui.github.io
GNU General Public License v3.0
3.47k stars 218 forks source link

Launcher not working (crash to main menu) #177

Closed SirPrimalform closed 2 years ago

SirPrimalform commented 2 years ago

I've been having a somewhat unpredictable problem with the launcher where sometimes it will stop working. It will start the last game at boot, but when I press the hotkey to go to the launcher menu I instead end up on the main menu. Trying to start the launcher with the shortcut in the apps folder just results in a momentary black screen before being returned to the menu screen I was just on.

Previous times the problem persisted until I did a clean(-ish) reinstall when upgrading to a new version of Onion. Is there any way to find out what's crashing it?

Olywa commented 2 years ago

Hi there, I've only ever seen very rare reports of this and nothing recent. It had been caused by users remapping the hotkeys in RA or altering configuration they did not fully understand. Or by leaving old Onion/Retroarch files in place and overwriting them when upgrading. A clean install is probably the best way to resolve something like this but before going that route, let's clarify/check a couple of things...

Now if none of the above is a surprise to you then I agree you have an issue. You said you did a 'clean-ish' install last time - I would suggest following the github guide exactly as documented by the devs here.

One last thing to consider, if you are using either the SD card or USB Card reader that came with the mini then you probably shouldn't be, both are extremely poor quality. We've seen the SD card corrupt data or fail countless times (many not lasting more than a day) and the USB Card reader has been known to corrupt even good quality SD Cards.

SirPrimalform commented 2 years ago

Hi, thanks for the reply. I'm very familiar with how the launcher is supposed to work as I use it constantly. The issue is that instead of getting the game history the launcher "crashes" to the main menu. I've tried disabling and re-enabling the launcher to no avail and I mentioned what happens when I use the "Start Launcher" shortcut.

Each time there has been no config change that preceded the problem, I already have it set up how I want and it worked fine for several weeks before randomly crapping out.

A clean install does fix this, but I'm hoping that if I can get to the bottom of it so I don't have to go through the slightly laborious process of reinstalling Onion each time it happens.

When I said clean-ish, what I meant was that I follow the exact suggested procedure and then restore my saves and configs. It worked for at least a week after I last updated, so I don't believe restoring my saves and configs is the issue. I'm not using the stock SD or reader so it's not that either as far as I can tell.

My best guess is that something the launcher tries to read when loading the game history menu is corrupted or otherwise unreadable and the launcher isn't handling this very elegantly. Do you know if the launcher writes logs anywhere?

Olywa commented 2 years ago

Hi again, thanks for all the info, I'm not aware of any logs specific to the launcher (maybe the dev can confirm when he see's this). You could try enabling logging in retroarch to see if this reveals something:

Open standalone RA from APPs then Settings>User Interface>Menu Item Visibility>Settings>Show 'Logging'. Press B several times to go back to the the first Settings Screen You should now see logging there with an option to log to file.

The Launcher is using the RA file recentlist.json located in your Roms folder, would you be happy to zip that up and share it here? I am curious whether it's a particularly large list? or whether you play many romhacks or pokemon games?

Sichroteph commented 2 years ago

I think Olywa is on the right track, it is possible that your recentlist.json is somehow corrupted. The easiest way to try it is to remove this file and launch a game from the main menu to recreate it, then try the launcher again.

SirPrimalform commented 2 years ago

Hi again, thanks for all the info, I'm not aware of any logs specific to the launcher (maybe the dev can confirm when he see's this). You could try enabling logging in retroarch to see if this reveals something:

Open standalone RA from APPs then Settings>User Interface>Menu Item Visibility>Settings>Show 'Logging'. Press B several times to go back to the the first Settings Screen You should now see logging there with an option to log to file.

Thanks for the quick reply again. I've turned it on, but I'm not sure it'll show anything since the emulation is working fine - all cores and games are still working - it's just the launcher not working (which is not part of RA if I understand correctly).

The Launcher is using the RA file recentlist.json located in your Roms folder, would you be happy to zip that up and share it here? I am curious whether it's a particularly large list? or whether you play many romhacks or pokemon games?

Sure, here it is: recentlist.zip , It's not a short list but no romhacks or many Pokemon games at all.

SirPrimalform commented 2 years ago

I think Olywa is on the right track, it is possible that your recentlist.json is somehow corrupted. The easiest way to try it is to remove this file and launch a game from the main menu to recreate it, then try the launcher again.

I just tried this after posting the file for Olywa but no luck. It created a new file but the problem persists. After deleting the file the launcher still started up in my last game somehow (I guess that's stored somewhere else), but pressing the menu button just brought me back to the main Onion menu.

Olywa commented 2 years ago

If I am enabling/disabling/starting the launcher, this is what I see in my recent list:

{"label":"Onion Launcher - Disabled","launch":"/mnt/SDCARD/App/OnionLauncher/launch.sh","type":3}
{"label":"Onion Launcher - Enabled","launch":"/mnt/SDCARD/App/OnionLauncher/launch.sh","type":3}
{"label":"Start launcher","launch":"/mnt/SDCARD/App/StartLauncher/launch.sh","type":3}

Looking at your list there are a lot of strange paths there associated with the launcher (where I would expect to see normal readable paths), this would appear to indicate corruption. image

Now it confirms what we suspected but still does not tell us why. You said you are not using the SD or reader that came with the mini. Is it a new card purchased recently and for use with the mini, also a known brand?

It's strange that a clean install resolves it for a while but it returns in a short time and the fact we are not seeing others with this issues suggests its unique to either your hardware or config.

SirPrimalform commented 2 years ago

Yes, it was a brand new 128GB card from MyMemory, which has been been a reputable brand for me in the past. I assume that the clean install fixes it simply because the corrupted file is replaced with an uncorrupted one. I guess the questions are:

A) Which file is corrupted? The recentlist.json is presumably just showing evidence that a file somewhere else is corrupted, which is where the corrupted path is coming from. B) What is causing the corruption? As far as I can tell it happens during either shutdown or boot.

Is there a good way to replace the files relating to the launcher without reinstalling Onion from scratch?

zebramonkeylizard commented 2 years ago

I had an issue where the Onion Launcher would not work at all and restoring the Retroarch.cfg resolved the issue.

SirPrimalform commented 2 years ago

I had an issue where the Onion Launcher would not work at all and restoring the Retroarch.cfg resolved the issue.

Thanks, I'll give that a go! Could you give more details about the type of problem you experienced? Was it that the launcher menu (with the screenshots of recent games) wouldn't load or was it that the launcher couldn't start games?

SirPrimalform commented 2 years ago

Looking at your list there are a lot of strange paths there associated with the launcher (where I would expect to see normal readable paths), this would appear to indicate corruption. image

Do you know where the OS gets those paths from? It would help to identify which file was corrupted.

EDIT: Looking closer at my recentlist.json, the actual launch paths are correct, mine just has additional "rompath" and "imgpath" sections and it's those that are unreadable. They're completely missing from what you quoted though:

{"label":"Onion Launcher - Disabled","launch":"/mnt/SDCARD/App/OnionLauncher/launch.sh","type":3}
{"label":"Onion Launcher - Enabled","launch":"/mnt/SDCARD/App/OnionLauncher/launch.sh","type":3}
{"label":"Start launcher","launch":"/mnt/SDCARD/App/StartLauncher/launch.sh","type":3}

So it's hard to know what's supposed to be there. Perhaps they're not meant to be there at all, which might be a clue as to what is going on.

Olywa commented 2 years ago

Hi, Sorry I've not come back to you on this (work commitments and too little spare time). I did speak with the developer briefly about it yesterday and he advised that while the recentlist captures a history of apps/games launched, Onion launcher itself is calling a different list from retroarch for the game history, this is located in Saves\CurrentProfile\lists\content_history.lpl perhaps you could take a look or share this file, if there is corruption there too, it would strongly indicate a bad memory card.

I would add to that that we have seen one or two users with a poorly solder SD card reader on the device board itself causing issues which could be a (very slim) possibility.

Another thought is that Onion is still using much of what Miyoo provides, and there is a known bug with the Favourites.json getting corrupted, I'm staring to wonder if it's possibly related and the miyoo firmware just doesn't handle updating/saving json files very well but at the same time I think we would have seen your issue more.

hmmm... a little thought while typing, are any of these games (Celete, Astro Boy, Boktai) also in your favourites list and might you have first launched them from there?

To your recent point:

Looking closer at my recentlist.json, the actual launch paths are correct, mine just has additional "rompath" and "imgpath" sections and it's those that are unreadable. They're completely missing from what you quoted though:

I think this is a red herring, it's normal that my examples are missing rompaths as they are just the apps launching (these close with "type":3}), you have the same earlier in your recentlist. Games will have rompaths and close with "type":5}. I think if the launcher is starting with a game, it then includes a rompath.

I have several Minis and a few local backups so I had a look at the recentlist in each of those and I did find one with similar issues, it was a copy from a miyoo original SD only, it looks like this:

image

I wish I had answers for you and appreciate this is frustrating, given I can see the same issues on the Miyoo SD it would suggest this is not the result of anything Onion is doing but we obviously want to try to figure it out. I would be keen to see if your content_history.lpl provides any further clues.

SirPrimalform commented 2 years ago

Hi, Sorry I've not come back to you on this (work commitments and too little spare time).

Please don't apologise! No one here owes me anything.

I did speak with the developer briefly about it yesterday and he advised that while the recentlist captures a history of apps/games launched, Onion launcher itself is calling a different list from retroarch for the game history, this is located in Saves\CurrentProfile\lists\content_history.lpl perhaps you could take a look or share this file, if there is corruption there too, it would strongly indicate a bad memory card.

That was it! Removing that has got the launcher history loading again. The game history is gone of course but that doesn't really bother me, most of the games listed were things I started once and didn't really get into at the time.

Of course I haven't got to the bottom of the problem, as you say I may just have a bad SD card although it's strange that it's specifically the launcher that keeps breaking. At I know what to delete when this happens again.

Here's the contents of the content_history.lpl just for the record:

{
  "version": "1.5",
  "default_core_path": "",
  "default_core_name": "",
  "label_display_mode": 0,
  "right_thumbnail_mode": 0,
  "left_thumbnail_mode": 0,
  "sort_mode": 2,
  "items": [
    {
      "path": "/mnt/SDCARD/Roms/GBC/Harvest Moon GB (Europe) (SGB Enhanced) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Astro Boy - Omega Factor (Europe) (En,Ja,Fr,De,Es,It).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GB/Metroid II - Return of Samus (World).zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Advance Wars (Europe) (En,Fr,De,Es).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Wario Land 3 (World) (En,Ja).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Legend of Zelda, The - The Minish Cap (Europe) (En,Fr,De,Es,It).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/SFC/Legend of Zelda, The - A Link to the Past (USA).zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/mednafen_supafaust_libretro.so",
      "core_name": "Nintendo - SNES / SFC (Beetle Supafaust)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/SFC/Illusion of Gaia (USA).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/mednafen_supafaust_libretro.so",
      "core_name": "Nintendo - SNES / SFC (Beetle Supafaust)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GB/James Bond 007.zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/bit Generations - Orbital (Japan) (En).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/MS/Castle of Illusion Starring Mickey Mouse (USA).zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/picodrive_libretro.so",
      "core_name": "Sega - MS/MD/CD/32X (PicoDrive)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Harvest Moon - Friends of Mineral Town (Europe).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Pokemon Mystery Dungeon - Red Rescue Team (Europe) (En,Fr,De,Es,It).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Metal Gear Solid (Europe) (En,Fr,De,Es,It).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Legend of Zelda, The - Oracle of Seasons (USA).zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Legend of Zelda, The - Link's Awakening DX (USA, Europe) (Rev 2) (SGB Enhanced) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Mario Kart - Super Circuit (Europe).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/FC/Legend of Zelda, The.zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/fceumm_libretro.so",
      "core_name": "Nintendo - NES / Famicom (FCEUmm)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GB/Pokemon - Yellow Version - Special Pikachu Edition (USA, Europe) (CGB+SGB Enhanced).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GB/Harvest Moon GB.zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Konami GB Collection Vol.4 (Europe) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Qix Adventure (Europe).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/R-Type DX (USA, Europe) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/SFC/Terranigma (Europe) (NTSC hack).zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/mednafen_supafaust_libretro.so",
      "core_name": "Nintendo - SNES / SFC (Beetle Supafaust)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Harvest Moon 2 GBC (Europe) (SGB Enhanced) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Harvest Moon 3 GBC (USA).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/SFC/Harvest Moon (USA).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/mednafen_supafaust_libretro.so",
      "core_name": "Nintendo - SNES / SFC (Beetle Supafaust)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/SFC/Soul Blazer (USA).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/mednafen_supafaust_libretro.so",
      "core_name": "Nintendo - SNES / SFC (Beetle Supafaust)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/PS/Final Fantasy VII (Europe)/Final Fantasy VII (Europe) (Disc 1).cue",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/pcsx_rearmed_libretro.so",
      "core_name": "Sony - PlayStation (PCSX ReARMed)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Metroid Fusion (Europe) (En,Fr,De,Es,It).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Game & Watch Gallery Advance (Europe).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/MS/Alex Kidd in Miracle World (USA, Europe).zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/picodrive_libretro.so",
      "core_name": "Sega - MS/MD/CD/32X (PicoDrive)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/WarioWare, Inc. - Minigame Mania (Europe) (En,Fr,De,Es,It).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/NXENGINE/CaveStory/Doukutsu.exe",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/nxengine_libretro.so",
      "core_name": "Cave Story (NXEngine)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/SFC/Super Mario All-Stars (USA).zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/mednafen_supafaust_libretro.so",
      "core_name": "Nintendo - SNES / SFC (Beetle Supafaust)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GB/Game Boy Gallery - 5 Games in 1 (Europe) (SGB Enhanced).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Pokemon Trading Card Game (Europe) (En,Fr,De) (Rev 1) (SGB Enhanced) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Golden Sun (USA, Europe).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Dragon Warrior Monsters (USA, Europe) (SGB Enhanced) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Super Mario Advance (USA, Europe).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Dragon Warrior I & II (USA) (SGB Enhanced) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/EASYRPG/The Way Episode1.zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/easyrpg_libretro.so",
      "core_name": "RPG Maker 2000/2003 (EasyRPG)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Final Fantasy Tactics Advance (Europe) (En,Fr,De,Es,It).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Konami GB Collection Vol.1 (Europe) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Konami GB Collection Vol.2 (Europe) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Konami GB Collection Vol.3 (Europe) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Legend of the River King GB (Europe) (SGB Enhanced) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Game & Watch Gallery 3 (USA, Europe) (SGB Enhanced) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/mgba_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (mGBA)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Mario Power Tennis (Europe) (En,Fr,De,Es,It).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Sword of Mana (Europe).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Mario Golf - Advance Tour (Europe).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Pokemon - Ruby Version (USA, Europe) (Rev 2).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GB/Legend of Zelda, The - Link's Awakening (USA, Europe) (Rev B).zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GB/Legend of Zelda, The - Link's Awakening DX (USA, Europe) (Rev B).zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GB/Pokemon - Blue Version (USA, Europe) (SGB Enhanced).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GB/Wario Land_ Super Mario Land 3.zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GB/Game & Watch Gallery (Europe) (SGB Enhanced).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Game & Watch Gallery 2 (USA, Europe) (SGB Enhanced) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Game & Watch Gallery 3 (USA, Europe) (SGB Enhanced) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Tetris DX (World) (SGB Enhanced) (GB Compatible).7z",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/SFC/Super Mario World (USA).zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/mednafen_supafaust_libretro.so",
      "core_name": "Nintendo - SNES / SFC (Beetle Supafaust)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/PS/Castlevania - Symphony of the Night.pbp",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/pcsx_rearmed_libretro.so",
      "core_name": "Sony - PlayStation (PCSX ReARMed)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GB/Pokemon_ Red Version.zip",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/mgba_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (mGBA)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Summon Night - Swordcraft Story (USA).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Breath of Fire (Europe) (En,Fr,De).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Castlevania (Europe).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Metroid - Zero Mission (Europe) (En,Fr,De,Es,It).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Sonic Advance (Europe) (En,Ja,Fr,De,Es).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Mega Man Zero (USA, Europe).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Super Mario Advance 2 - Super Mario World (Europe) (En,Fr,De,Es).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GW/Chicky Woggy (VTech, Electronic Tini-Arcade).mgw",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gw_libretro.so",
      "core_name": "Handheld Electronic (GW)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GW/Mario Bros. (Nintendo, Multi Screen).mgw",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gw_libretro.so",
      "core_name": "Handheld Electronic (GW)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Lufia - The Ruins of Lore (USA).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Kurukuru Kururin (Europe).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/ChuChu Rocket! (Europe) (En,Ja,Fr,De,Es).gba",
      "label": "ChuChu Rocket! (Europe) (En,Ja,Fr,De,Es)",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "00000000|crc",
      "db_name": "GBA.lpl"
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/F-Zero - GP Legend (Europe) (En,Fr,De,Es,It).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Super Mario Advance 4 - Super Mario Bros. 3 (Europe) (En,Fr,De,Es,It) (Rev 1) (Virtual Console).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Wario Land 4 (USA, Europe).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBA/Final Fantasy I & II - Dawn of Souls (Europe) (En,Fr,De,Es,It).gba",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gpsp_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (gpSP)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GBC/Legend of Zelda, The - Oracle of Seasons (Europe) (En,Fr,De,Es,It).gbc",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/SFC/Super Mario World (E) (V1.1) [!].smc",
      "label": "Super Mario World (E) (V1.1) [!]",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/snes9x2005_plus_libretro.so",
      "core_name": "Nintendo - SNES / SFC (Snes9x 2005 Plus)",
      "crc32": "00000000|crc",
      "db_name": "SFC.lpl"
    },
    {
      "path": "/mnt/SDCARD/Roms/SFC/Mega Man X (E).smc",
      "label": "Mega Man X (E)",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/snes9x2005_plus_libretro.so",
      "core_name": "Nintendo - SNES / SFC (Snes9x 2005 Plus)",
      "crc32": "00000000|crc",
      "db_name": "SFC.lpl"
    },
    {
      "path": "/mnt/SDCARD/Roms/PS/WipEout 3 - Special Edition (Europe) (En,Fr,De,Es,It).cue",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/pcsx_rearmed_libretro.so",
      "core_name": "Sony - PlayStation (PCSX ReARMed)",
      "crc32": "",
      "db_name": ""
    },
    {
      "path": "/mnt/SDCARD/Roms/GB/Kaeru no Tame ni Kane wa Naru (English v1.0).gb",
      "label": "Kaeru no Tame ni Kane wa Naru (English v1.0)",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/gambatte_libretro.so",
      "core_name": "Nintendo - Game Boy / Color (Gambatte)",
      "crc32": "00000000|crc",
      "db_name": "GB.lpl"
    },
    {
      "path": "/mnt/SDCARD/Roms/PRBOOM/DOOM.WAD",
      "label": "DOOM",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/prboom_libretro.so",
      "core_name": "Doom (PrBoom)",
      "crc32": "00000000|crc",
      "db_name": "PRBOOM.lpl"
    },
    {
      "path": "/mnt/SDCARD/Roms/GB/Mole Mania (USA, Europe) (SGB Enhanced).gb",
      "label": "",
      "core_path": "/mnt/SDCARD/RetroArch/.retroarch/cores/mgba_libretro.so",
      "core_name": "Nintendo - Game Boy Advance (mGBA)",
      "crc32": "",
      "db_name": ""
    }
  ]
}
Olywa commented 2 years ago

Awesome, thanks for the update and sharing the content_history.lpl. Nothing obvious jumps out in the list as far as corruption but there must be something in there given your success when removing it. I note that some games have a CRC and / or db_name where the majority don't.

Don't close this issue, it may be useful for the dev to review and while I can't speak for him or make promises, there may even possibly be something that could be implemented in the launcher to overcome the issue in the future.

When I get a little time I may use your content_history.lpl on my device to try to reproduce, then slowly remove items to see if we can pinpoint the exact cause (I notice one or two games have an exclamation in the name, it could well be something as daft & simple as this).

Olywa commented 2 years ago

Hi again, I decided to dive into this a little further and have gone as far as I can, here are my findings:

With your list on my device and the launcher not having started, I open one of my games. Shutting down (+autosaving) and restarting does result in my game starting, inside Onion Launcher as expected, and the game has been added to the content history. From here the launcher behaves as expected.

The only obvious differences between your list and my own are that:

  1. Some entries have a crc32 and db_name entry (none of mine have this)
  2. Some entries have the "label" populated with the game name (again, none of mine have this)
  3. Many of your games appear to be 7z (mine are only zip (for Arcade stuff) or uncompressed (i.e. .gba or .gb)*

*I added a couple of .7z roms to my \Roms\GB folder and they behave as expected so that rules out this.

The CRC value in you list for those that have it is always zeros, I’m not sure where this is coming from but I wonder if it’s being read and so finding a mismatch when trying to validate the rom prior to launch. For the db_name in your list, it sometimes shows GB.lpl (for Game Boy entries), GBA.lpl (for Game Boy Adv) and SFC.lpl (for SNES) – this is never the case in mine and I wonder if this could be the culprit (that it’s looking for those lists which are retroarch playlists).

Some questions...

SirPrimalform commented 2 years ago

Hey, thanks so much for looking into this some more.

Some questions...

  • Is it possible you have removed some roms from your SD card that are still shown in the content_history.lpl
  • Do you have/use Retroarch playlists on the Mini?
  • Do/have you ever launch(ed) games directly from Retroarch (i.e. opening Retroarch from the APP section and browsing to a game)?
  1. No, I've only added roms, and the times when I've had problems were not directly after adding roms.
  2. No, to my knowledge I've never tried creating any. Is there any way to create a playlist by accident?
  3. That is a distinct possibility although I can't recall any specific instances.
Olywa commented 2 years ago

Hey, cheers for quick answers. Re creating playlists, it could only be done from within RA and I think you'd know you were doing it so I doubt you could create them by accident.

I think we'll have to see if the dev has any thoughts but at least you were able to solve it and know what to do if it happens again. 👍

Olywa commented 2 years ago

@Sichroteph I think this would be worth a quick look, Onion Launcher was crashing and content_history.lpl solved the issue but as far as I can see there was no corruption in the users content_history.lpl (shared above).

It may be worth trying to understand why this was happening to see if anything can be done to prevent it but it also seems a very unique issue.

SirPrimalform commented 2 years ago

I'm pleased to report that I haven't had the problem since deleting the seemingly corrupted playlist.

Olywa commented 2 years ago

@Aemiii91 I believe this should be closed but it might worth just a quick skim through for familiarity in case we ever see it again.