Emulationstation crashed and Cannot allocate memory on pi4
-
@quicksilver - what 4b model do you have ? If it's memory leak related, might not happen so fast on my model (the 4Gb one).
4.19.97-v7l+
is the latest/current Raspbian kernel version, but it was released more than 1 month ago (2020-02-13 was the installation date on my system). -
Yeah I'm also using the 4g model, for reference.
-
@mitu mine is the 2gb version. If you are also on the same kernel then I guess we can rule that out. I guess that makes sense since my pi 3 which was rock stable now has stability issues and its on raspbian stretch. The only two things I changed on my pi 3 were switching to nostalgia-neo and using my latest skyscraper gameslist modifications. So I feel it has to be related to them in some way. I might try restoring skyscraper gameslist default settings and testing that out, maybe its a memory related issue.
-
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.
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.