Emulationstation crashed and Cannot allocate memory on pi4
-
ES crashed again today (it has done it a few times since my last post but not reliably). It always seems to occur when ES is either loading or when Im launching a game. I was able to get the dmesg output this time.
-
There's no driver errors in the
dmesg
, so it doesn't look like a kernel driver bug/error. Can you try reproducing with the stock theme or maybe uploading your modified theme somewhere so we can try and see if we get the error ?EDIT: Are you using the 'normal' EmulationStation install or the
emulationstation-dev
package ? -
@mitu I am using the standard/normal emulationstation install. I will switch to carbon for a bit and see what happens. I am using a modified version of the nostalgia theme https://github.com/supersquared/es-theme-nostalgic-neo
-
@quicksilver Seems like it was crashing more often before you changed the vram settings and disabled the screen saver. If that's correct, I would start lowering the vram setting in ES again and see if it reproduces more consistently.
Also, have you run emulationstation with the --debug option? That might help clarify what's happening. But it might stop crashing if you just raise vram to 512m (which should be reasonable if you have the 4g model).
-
So I'm thinking the crashing is related to the theme. I installed the same theme on my previously stable pi 3 now it is crashing occasionally. I don't know much about theming so I can't tell what is wrong here. Would someone be able to take a look at the link I posted above and see if anything glaring sticks out? I have also noticed that this theme takes much longer to boot up though I can't figure out why, all of the different art file sizes seem to be roughly the same size as other themes but other themes boot much faster.
-
I've installed the theme yesterday, after you posted the source, and briefly tested it, but didn't get any crash so far. I've left it active, trying to see if I get a crash.
To help debug this, you can run ES through a debugger and get a crash backtrace.- 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 -ex run
this should start ES from the debugger
- try and reproduce the crash. When it crashes, you should get a message in the
gdb
session that it did so. Run fromgdb
prompt
bt full
then get the output and post it here.
- press
q
to exit the debugger.
- install
-
@mitu
Here is the output:Thread 2 "emulationstatio" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb4e0b160 (LWP 27358)] 0x001b58dc in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .isra. 11] [clone .part.12] () (gdb) bt full #0 0x001b58dc in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .i sra.11] [clone .part.12] () No symbol table info available. #1 0x001b58e8 in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .i sra.11] [clone .part.12] () No symbol table info available. #2 0x001b58e8 in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .i sra.11] [clone .part.12] () No symbol table info available. #3 0x001b58e8 in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .i sra.11] [clone .part.12] () No symbol table info available. #4 0x001b58e8 in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .i sra.11] [clone .part.12] () No symbol table info available. #5 0x001b58e8 in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .i sra.11] [clone .part.12] () No symbol table info available. #6 0x001b58e8 in nsvg__initPaint(NSVGcachedPaint*, NSVGpaint*, float) [clone .i sra.11] [clone .part.12] () No symbol table info available. #7 0x001b58e8 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--
I didnt get the standard crash message though, so hopefully this is the same issue and not something else.
-
@quicksilver Hm, seems we're getting somewhere, but since the output is truncated we don't see the calling site in the EmulationStation code. Do you remember what system was loaded when the crash occured ? I realized I might not have one of the systems from your install and that's why I couldn't - briefly - reproduce the crash.
-
@mitu In this particular instance I think it was PPSSPP, though it has crashed for me on multiple different systems. And the crash isnt reliably reproduced. A crash can sometimes occur on the first game I launch or I might have several crashes in a row or I might launch many games with no crashing.
-
Just for comparison of systems, can your run
find $HOME/RetroPie/roms/ -type d ! -empty -maxdepth 1
and post the output on pastebin.com ? Just want to see what's the difference from my system list.
-
@mitu https://pastebin.com/Qtub3ju5
I also note that my gameslist view is set to video. I dont have any videos but its the only way for the marquee/wheel art to show up. Not sure if that matters but thought Id point it out.
-
@quicksilver said in Emulationstation crashed and Cannot allocate memory on pi4:
I also note that my gameslist view is set to video.
I already have this setting. Thanks for the system list, I'll see if it has any impact on my installation.
-
I just got it to crash on the carbon theme. I just launched and then exited a PSP game a few times to cause the crash. The only other thing I can think of that would also suddenly make my pi 3 crash as well is that I am using some specific system artwork.xml files with skyscraper. For example, for PSP I have an artwork-psp.xml which corrects the image to the correct aspect ratio for when I generate my gameslist. I have done this for several other systems as well to make the aspect ratios correct for systems that werent 4:3. Could this cause an issue?
<?xml version="1.0" encoding="UTF-8"?> <!-- This is the default artwork.xml provided by Skyscraper. More examples can be found in '~/.skyscraper'. Be sure to check the full artwork documentation here: https://github.com/muldjord/skyscraper/blob/master/docs/ARTWORK.md --> <artwork> <output type="screenshot" width="320" height="180"> </output> <output type="marquee" resource="wheel"/> </artwork>
-
@quicksilver said in Emulationstation crashed and Cannot allocate memory on pi4:
Could this cause an issue?
I don't think so - the end result is still a
png
image that EmulationStation loads,artwork.xml
is just a set of design instructions for Skyscraper of how to produce that image from the cached artwork, it doesn't influence how EmulationStation loads or displays the resulting image. -
@mitu Yea, I didnt think it should be a problem either except that is the only other thing that I changed on my pi 3 and now its crashing as well.
-
Still can't get a crash. Let's see how we can further progress.
- can you try with view mode set to 'detail' (i.e. no 'video') to see if the lack of marquees has any impact ?
- can you upload the
gamelist.xml
and themedia
folder (generated by Skyscraper) for your PSP system - temporarily - so I can have an identical gamelist/system for PSP ?
-
I had a similar problem one time a few months ago when I was editing my gamelist.xml for SNES. I was manually editing it for an image and metadata and incorrectly edited the gamelist.xml and when I tried to start any rom in SNES, ES would crash. I fixed the editing correctly and had no more crashes. Not sure if this is relevant to your situation but thought I would mention it. (As my rom would start and I would play it..then it would crash).
-
@mitu https://mega.nz/#F!kJBnBSZZ!j-L65dDeg6kYNE09Ry7tQg
Ill also try detail view as you suggest
-
@ByteThis I havent done any manual edits so I dont think its the same issue.
-
Can you also upload the downloaded media from
~/.emulationstation/downloaded_media/psp
? I though they were in your system folder, but they're not. For some reason, trying to scrape the filenames in the gamelist only gets the info for about 1/3 of them.
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.