Emulationstation crashed and Cannot allocate memory on pi4
-
Even 2g should be plenty, but I would at least confirm how much RSS emulationstation is using (especially when the crash happens).
-
What is the resolution you have set with runcommand psp and dreamcast? And which display port are you using?
I got 4.5.4 installed over raspbian. Using outer hdmi port. Default runcommands.
Inner hdmi port has got a tty (I'm not so sure about the setup but ES doesn't display here), changing res just doesnt work for me and throws errors.Did you try rolling back the kernel?
-
@Efriim PSP runcommand display is set to 720p Dreamcast is set to 1080p. Though I don't see how this would cause any issues. Emulation station crashes randomly on many different systems. Even going into retropie setup it occasionally crashes. I haven't rolled back my kernel yet because it looks like the version I'm using is stable for others. I'm undoing the changes I made in skyscraper as a last test. Everything else I have done, and the crashing continues. If this doesn't work I'm going to have to re-image.
-
@quicksilver
No I don't know why it is either but I learn from your answers. Better to be on the same page. I think maybe it is allocating two buffers, or switches, 1 for each screen, there would be a better solution but maybe it is getting hung up on this.I notice mine sort of slows down for 4-5 seconds after exiting a game, I don't have a lot of resources to load.
Have you checked the log at /home/pi/.emulationstation/es_log.txt ? This would probably tell you if it is a problem with resources.
-
@Efriim said in Emulationstation crashed and Cannot allocate memory on pi4:
Have you checked the log at /home/pi/.emulationstation/es_log.txt ? This would probably tell you if it is a problem with resources.
Yes I have checked the log but it doesn't show anything out of the ordinary unfortunately.
-
Just a quick update. I restored skyscrapers default artwork.xml and regenerated my gameslist.xml files. So far I have not experienced any crashing since yesterday. Im going to leave it this way for a bit before I draw any conclusions and will report back.
-
I re-imaged RetroPie 4.5.18 and added back the nostalgic-neo theme and my roms (which are on a USB drive) and ES just crashed. Im not sure what to do at this point. I have 36 systems (including favorites, all, and recent custom systems) with tons of games + a graphic heavy theme maybe this is simply too much for ES to handle.
-
Let's try to get a full backtrace. Going back to the instructions I posted earlier in the topic:
- install
gdb
withsudo apt install gdb
- exit EmulationStation and start a SSH session to your PI.
- run from the command line (via SSH)
gdb -q /opt/retropie/supplementary/emulationstation/emulationstation # at the gdb prompt (gdb) set logging file /home/pi/es_crash.log (gdb) run
- wait for ES to crash
- run from the
gdb
prompt:
(gdb) bt full #this should dump the crash log to the file (gdb) q # exit
Post the crash file (
/home/pi/es_crash.log
) to pastebin.com. - install
-
@mitu said in Emulationstation crashed and Cannot allocate memory on pi4:
I tried your advice but no log gets saved. Below are the commands I used:
pi@retropie:~ $ gdb -q /opt/retropie/supplementary/emulationstation/emulationstation Reading symbols from /opt/retropie/supplementary/emulationstation/emulationstation...(no debugging symbols found)...done. (gdb) set logging file /home/pi/es_crash.log (gdb) (gdb) run Starting program: /opt/retropie/supplementary/emulationstation/emulationstation [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". [New Thread 0xb4e0c160 (LWP 9985)] [Thread 0xb4e0c160 (LWP 9985) exited] [Inferior 1 (process 9982) exited normally] (gdb) bt full No stack. (gdb) q
Edit: just realized that I pressed f4 to get to the terminal and it crashed while exiting so maybe it didnt work because of that? I will try again by just launching games.
-
Just tried again ES crashed on startup:
pi@retropie:~ $ gdb -q /opt/retropie/supplementary/emulationstation/emulationsta tion Reading symbols from /opt/retropie/supplementary/emulationstation/emulationstati on...(no debugging symbols found)...done. (gdb) set logging file /home/pi/es_crash.log (gdb) run Starting program: /opt/retropie/supplementary/emulationstation/emulationstation [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". [New Thread 0xb4e0c160 (LWP 10011)] Thread 2 "emulationstatio" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb4e0c160 (LWP 10011)] 0x001b4fe4 in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .isra. 11] [clone .part.12] () (gdb) bt full #0 0x001b4fe4 in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .i sra.11] [clone .part.12] () No symbol table info available. #1 0x001b4ff0 in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .i sra.11] [clone .part.12] () No symbol table info available. #2 0x001b4ff0 in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .i sra.11] [clone .part.12] () No symbol table info available. #3 0x001b4ff0 in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .i sra.11] [clone .part.12] () No symbol table info available. #4 0x001b4ff0 in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .i sra.11] [clone .part.12] () No symbol table info available. #5 0x001b4ff0 in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .i sra.11] [clone .part.12] () No symbol table info available. #6 0x001b4ff0 in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .i sra.11] [clone .part.12] () No symbol table info available. #7 0x001b4ff0 in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .i sra.11] [clone .part.12] () --Type <RET> for more, q to quit, c to continue without paging--q Quit (gdb) q A debugging session is active. Inferior 1 [process 10008] will be killed. Quit anyway? (y or n) y pi@retropie:~ $
But no log to be found in /home/pi/
-
So third time is a charm, here is the log file:
-
unfortunately it doesn't contain the information of where the crash originated. I think my instructions are not correct and the backtrace is not printed in the logs :/.
-
I appreciate your help on this. Do you have any further advice? Im not sure what to do now considering I just started over and the issue persists.
-
Since I can't reproduce it with my data, can you create an archive with all your gamelists (
$HOME/.emulationstation/gamelists
), which should have both the list of games and the artwork - no ROMs. ? Let's see if we can transplant your configuration on my system. -
@mitu you want just the gameslists or do you want the scraped media files too? (no roms)
-
Yes, add the scraped media also, since you said you don't have videos.
-
Ok Ill get started on that, it will take me some time to extricate that info since I now have it stored with my roms. Unfortunately it wont be as easy to copy and paste as before.
-
The following commands should zip all
media
related.png
files into one zip:cd $HOME/RetroPie/roms find -type f | grep media | egrep png$ | zip all-media.zip -@
-
@mitu Ill give this a shot thanks
-
Before I made someone else do a bunch of work trying to troubleshoot my issue I decided to start with a stock image and make changes one by one to see when the crashing occured. I narrowed it down to the nostalgic-neo theme. After I reverted back to the default nostalgic theme and rebooting I haven't had a crash and it's been almost a week. I removed the nostalgic-neo theme from my pi 3 rebooted and it is also stable again. Not sure exactly why this theme made emulation station unstable for me but I'm glad to have finally figured it out. The odd thing is that originally when I was troubleshooting this issue I switched to the carbon theme and still had crashing but maybe if it was some sort of memory issue/leak then I should have rebooted in between tests.
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.