EmulationStation often crashing when using themes other than the default
-
I recently reformatted my Raspberry Pi's microSD card to do a clean re-install of RetroPie and its updates, but after re-installing RetroPie and doing all of the updates for it, now whenever I try to use a different theme, in particular the SNES mini theme by ruckage with or without this fix for the misaligned text, EmulationStation often either crashes with a message "EmulationStation has crashed" or it just straight up freezes in the middle of pre-loading the UI and games lists of my ROMs. I never had this problem with the pre-v4.7.1 builds of RetroPie but since these new updates now I'm dealing with a seriously annoying problem that causes my system to constantly freeze or crash.
I have tried other themes besides the default Carbon theme, same problem happens, and I have tried using these instructions to try and roll back to an older version of EmulationStation outline here but it instead gives me an error along the lines of "Line 21 permission denied!" and it stops me from evening using RetroPie at all.
Pi Model: 3B+
Other hardware: SuperPi case by RetroFlag with the safe shut-down/reset script installed, iUniker Dual-Fan heatsink for 3B+
RetroPie Version: 4.7.19 (latest commit: 2 weeks ago)
Built from: Pre-made SD image from official RetroPie website
Power supply: Official Raspberry Pi 3 Power Supply by CanaKit
How to replicate the problem:- Install Retropie v4.7.19
- Install a theme (in particular, SNES Mini theme, pixel, and gbz35)
- Switch the theme in EmulationStation from "Carbon" to anything else.
- Reboot the Raspberry Pi multiple times with an EmulationStation theme other than the default.
-
@viperacidzx thanks. Can you paste the actual error log though, unless I missed it?
And does it also happen with the Dev emulationstation version, available in the experimental packages?
Thanks.
-
@pjft I don't know which one pertains to the issue I'm having but I dug up these log files with WinSCP after scanning my entire system for a *.log file. Here's the Google Drive link to the log files I have at the moment. I have also just tried installing the Dev version of EmulationStation from the experimental packages and it also has this same problem.
-
@viperacidzx Thanks. Of course, apologies. I'm referring to the ES log file. You can find it on
/home/pi/.emulationstation/es_log.txt
Also, if you can send over your settings file, it may shed some light into what's happening there.
/home/pi/.emulationstation/es_settings.cfg
and, while we're at it, the previous session's log:
/home/pi/.emulationstation/es_log.txt.bak
To be clear, this happens on load, is that it? The clearer it gets, the easier it will be to replicate on my end - as I was commenting elsewhere, I have unfortunately been running the latest ES for several months, not on Carbon either, but I haven't experienced any crash, so the more details I can get to get to the same state as you the easier it'll be to sort it out.
I think the only difference I have on my end is that right now I'm on a Pi4, but hopefully that's not a factor. If it is, I suppose I can dig out an old Pi3 and reinstall RetroPie to test it out.
Thank you!
-
@pjft Yes, it happens on load as soon as I boot the Pi, or in the other instance I mentioned, when switching themes. Here's the contents of both EmulationStation logs as well as the settings file.
-
@viperacidzx Can you edit, in es_settings.txt, "ThreadedLoading" to false and see if that changes anything?
Change
<bool name="ThreadedLoading" value="true" />
To
<bool name="ThreadedLoading" value="false" />
I also saw several warnings from the theme but I'll assume they're not related for now.
-
@pjft Setting Threaded Loading in the ES settings file so far seemed to have fixed the crashing at the moment. I have resetted my Pi about 10 times in a row and it hasn't crashed, and I also done full shutdowns and reboots on the Pi to further test if Threaded Loading was the possible cause and it hasn't crashed either.
-
@viperacidzx Sounds good. Keep us posted if anything changes on your end, and at least this gives us some suggestion of what to look at.
-
@ViperAcidZX to confirm, it also solved the crashes when switching themes? Just to infer whether they had similar causes or are two separate issues.
-
@pjft I just tested switching to various themes I have installed — Pixel, Simple Big Art, SNES Mini, GBZ35, Carbon, Carbon (2021), and installed the PlayStation theme — and cycled through them a bunch of times to be sure and so far that also has not caused EmulationStation to crash since turning off Treaded Loading. Thank you for the help and I'll keep an eye out if anything else happens.
-
@pjft What does threadedloading do?
-
@genos98 I can't say, but it seems to choose a processor core to load the emulationstation.
-
@wmarcio thanks. Yeah I've also noticed that es would crash randomly on start up but it also doesn't happen a lot. But it's pretty frequent with the snes/nes mini theme by ruckage that's why I avoided using the theme for a while.
-
Thanks for confirming, and apologies for missing the replies. Threaded Loading was a change that intended to boot ES faster by using parallel threads for loading the different assets. It seems that it's causing some issues, so we now changed it to default to OFF, and will look into fixing it.
Would any of you be able to test out a build with a potential fix, if we provide the instructions?
-
@pjft said in EmulationStation often crashing when using themes other than the default:
@viperacidzx Can you edit, in es_settings.txt, "ThreadedLoading" to false and see if that changes anything?
Change
<bool name="ThreadedLoading" value="true" />
To
<bool name="ThreadedLoading" value="false" />
Oh wow, after preliminary testing, this seems to have fixed the only issue I was still having with my cab: occasional lock-ups when quickly scrolling through ES...!
I didn't even have the 'threaded loading' entry in my
es_settings.cfg
, so I just added it, hopefully it won't mess anything up.EDIT: alas, I celebrated too soon. Still froze today, unfortunately.
-
@weirdh Are you using the standard or Dev build of EmulationStation? I've been using the Dev build of EmulationStation and it has the threaded loading setting in my configuration file and turning it off seemed to have fixed the problem so far for me.
-
@viperacidzx Probably just the standard. Where could I check up on this?
-
@weirdh said in EmulationStation often crashing when using themes other than the default:
I didn't even have the 'threaded loading' entry in my es_settings.cfg, so I just added it, hopefully it won't mess anything up.
some guesses:
a) there is a ThreadedLoading entry that you missed, or
b) you're looking the wrong es_settings.cfg (some other path) -
@weirdh said in EmulationStation often crashing when using themes other than the default:
@viperacidzx Probably just the standard. Where could I check up on this?
Did you manually install the
-dev
version from experimental packages?You can check in:
RetroPie-Setup > Manage packages > Manage (core/experimental) packages > emulationstation(-dev)
Only one should say "installed" since whichever one you do install will remove the other version first.
-
@sleve_mcdichael said in EmulationStation often crashing when using themes other than the default:
@weirdh said in EmulationStation often crashing when using themes other than the default:
@viperacidzx Probably just the standard. Where could I check up on this?
Did you manually install the
-dev
version from experimental packages?You can check in:
RetroPie-Setup > Manage packages > Manage (core/experimental) packages > emulationstation(-dev)
Only one should say "installed" since whichever one you do install will remove the other version first.
it wont' matter I think. dev build simply makes ThreadedLoading to false by default when the entry isn't there. if you explicit set ThreadedLoading to false then dev or not it will still take effect.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.