(Intermittent) Troubles with emulationstation (-dev) after dist-upgrade
-
terminate called after throwing an instance of 'std::out_of_range' what(): map::at Aborted
Pi 4B with official power supply (US plug).
RetroPie v4.7.19 built from official image.
EmulationStation v2.10.0RP-DEV.
Logitech wired keyboard (with USB extension cable) and Logitech wireless USB dongle (paired to F710 gamepad).Background: recently I tried to overclock my Pi 4 running RetroPie. Turns out I missed a step -- I tried to set
arm_freq=1800
, not realizing I needed to upgrade the firmware before I can go above 1750. Pi froze on the "RetroPie" splash screen, after the first batch of boot text. I rebooted (by pulling the power cord, and then putting it back -- nothing else worked, not evenAlt + SysReq + R-E-I-S-U-B
) and held Shift while booting, but I needed two hands to connect the power, so I couldn't press the key until like half a second or a second after the juice was connected. Still froze (do I need to depress the key before connecting power? I'd need three hands for that, with my current setup) so I pulled the SD card and used my PC to remove the overclock setting from/boot/config.txt
.Okay so far so good. No apparent damage done, and I'm back to where I started. So the other day I did the firmware upgrade with
sudo apt update && sudo apt dist-upgrade
to prepare the device (I have not actually added the overclock settings yet, this time.)Since then I've been having problems with EmulationStation.
I do use
emulationstation-dev
(for the proper marquee scrolling of long game titles in the menu screen) but it's been stable for me for a while, and these problems only started more recently, after I did the dist-upgrade.About once a day (usually in the morning, when I first load up ES after leaving it up on the terminal overnight), ES crashes and I get the "EmulationStation just crashed! If this is your first run..." message. I dismiss the message and try again and it works fine, until the next day.
I haven't thought to fetch a log after this occurs, but I will do so next time it happens.
Since it doesn't happen every time, I tried quickly opening & closing ES several times in succession. (If it matters, I use F4 to close ES and ctrl-D to restart it.) Nothing happened for four or five times, and then it froze on the ES loading screen. I got as far as "E" in
R-E-I-S-U-B
, and it restarted ES. I immediately rebooted, just because I am not sure what kind of state the system is left in after this. This has happened a few more times since then, in my tinkering.Today something new happened. It did the "EmulationStation just crashed..." as per the (new) usual, and then, on a subsequent launch, I got the "terminate called after throwing..." error from the top of this post.
I did think to grab the ES log after this one. It just cuts off in the middle of a line: https://pastebin.com/Np5Tfw00
(On normal runs, the log ends with
EmulationStation cleanly shutting down.
This one ends in(from included file "/etc/emulationstation/themes/carbon/atari800/../carbo
, instead.)And that's where I'm at. It only seems to be an issue launching EmulationStation, once I get it successfully launched it seems to continue working without issue (so far, anyway.) What's next? Let me know any additional details or file contents I should provide. Thanks.
-
The
-dev
version has been recently promoted tostable
, so both versions of the EmulationStation package are now identical (for the time being, until more things are added to the newdev
).If ES crashes, the log will not be of much help, but a
gdb
trace (backtrace) might be helpful to see where exactly (in the code) the crash occurs. If you can reliably reproduce the crash, then it might be worth usinggdb
and capture the trace:gdb -q /opt/retropie/supplementary/emulationstation-dev/emulationstation - ex run # if there's any crash, gdb will report it and show a prompt thread apply all bt
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.