Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

EmulationStation Kiosk-USB Specific Crash - Can it be Replicated?



  • I'm having a very odd, and specific crash when loading roms off of my USB drive and only when I boot up the system for the first time and only in kiosk mode. Ran full system update last night before crash and have attempted with last night's EmulationStation's binary and source builds. Ok here goes:

    Crash:

    • Set to Kiosk Mode > Insert USB Rom Thumbdrive > Restart Pi > EmulationStation Crashes before Loading Systems ("Loading System Config")
    • Leave on Kiosk Mode > Remove USB Rom Thumbdrive > Restart Pi > EmulationStation Works Normally
    • Insert USB Rom Thumbdrive > Restart EmulationStation Only > EmulationStation Works Normally and Loads All Roms
    • Restart Pi > Leave in Kiosk Mode > EmulationStation again Crashes
    • SSH in and Change to Full Mode > Leave USB Rom Thumbdrive in > EmulationStation Works Normally Loads all Roms

    So the root of the problem seems to be having the USB inserted with Kiosk mode and only on initial boot of the pi. It crashes in the "Loading System Config" phase of EmulationStation. The es_log, I can post if anyone thinks it's necessary, but outside of a few lines I'll paste at the bottom, it's just a regurgitation of variations of the following lines.

    Attempted Fixes:

    • Changing to Carbon Theme
    • Removing Light Overclock
    • Resetting Rom Pathway Permissions

    Thoughts:

    I have read from the forums in the past that some subfolders can cause issues. I have dc and segacd subfolders so maybe that's causing the issue (I haven't been home to test it), but I thought if it could be replicated, maybe this should be mentioned since it was seemingly fixed previously.

    es_log.cfg Dumps:

    lvl2: 	 ARB_texture_non_power_of_two: MISSING
    
    lvl1: 	  Warning from theme "/etc/emulationstation/themes/switch/theme.xml"
      (from included file "/etc/emulationstation/themes/switch/config.xml")
      (from included file "/etc/emulationstation/themes/switch/settings/letters.xml")
        could not find file "./../assets/buttons/Xbox_Buttons_system.svg" (which resolved to "/etc/emulationstation/themes/switch/settings/../assets/buttons/Xbox_Buttons_system.svg") 
    
    lvl2: 	Couldn't find game referenced at '/home/pi/RetroPie/roms/megadrive/Master of Monsters (U) [!].zip' for system config '/home/pi/.emulationstation/collections/custom-Alex's Favorites.cfg'
    

    Everything else looks normal and I see a lot of these on a normal startup anyway. Just need to clean up a lot of my custom collections.

    Thanks, y'all.



  • Okay so appears I should have been looking at es_log.txt.bak. Here's a dump:

    Edit: I see this is a clean exit now... oops.

    lvl2: 	 req sound [detailed.launch]
    lvl2: 	   (missing)
    lvl2: 	Attempting to launch game...
    lvl0: 	VolumeControl::init() - Failed to find mixer elements!
    `lvl2: 		/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ nes /home/pi/RetroPie/roms/nes/Mega\ Man\ 4\ \(USA\).zip`
    lvl2: 	Creating surface...
    lvl2: 	Created window successfully.
    lvl2: 	Added known joystick Wireless Controller (instance ID: 0, device index: 0)
    lvl0: 	VolumeControl::init() - Failed to find mixer elements!
    lvl2: 	Added known joystick Wireless Controller (instance ID: 0, device index: 0)
    lvl2: 	Added/Updated 1 entities in '/home/pi/RetroPie/roms/nes/gamelist.xml'
    lvl2: 	EmulationStation cleanly shutting down.
    

  • Global Moderator

    Looks like a case of 'USB not ready before ES starts' thus not finding any systems on the disk. Being in Kiosk Mode, the retropie system is also not available, so this might lead to a crash. Restarting ES works because the USB is available and the systems are correctly read.

    The messages from the log don't seem related to your problem and neither the fact that you have sub-folders.
    What you can do is to exit Kiosk mode and see what happens on the 1st run. If you get only the RetroPie system, then my guess is correct. Can you post your es_settings.cfg file from ~/.emulationstation ?



  • @mitu said in EmulationStation Kiosk-USB Specific Crash - Can it be Replicated?:

    Looks like a case of 'USB not ready before ES starts' thus not finding any systems on the disk. Being in Kiosk Mode, the retropie system is also not available, so this might lead to a crash. Restarting ES works because the USB is available and the systems are correctly read.

    The messages from the log don't seem related to your problem and neither the fact that you have sub-folders.
    What you can do is to exit Kiosk mode and see what happens on the 1st run. If you get only the RetroPie system, then my guess is correct. Can you post your es_settings.cfg file from ~/.emulationstation ?

    Thanks for responding, @mitu.

    https://pastebin.com/krfXpm0P


  • Global Moderator

    @hooperre There doesn't seem anything special with your settings. I was checking if you're using the Local Art option, since that's something new in Emulationstation 2.8, this year's release.
    I'll see if I can reproduce this or get a simpler test case.
    As a workaround, try adding a delay before Emulationstation starts, add a line with sleep 3 in the autostart.sh file in /opt/retropie/configs/all/autostart.sh, just before the line that starts emulationstation.



  • @mitu Mannnn I hate to report this but sleep 3 sleep 5 and sleep 50 all failed.

    I’ll paste the es_log.txt here: https://pastebin.com/6hJgYatE
    es_log.txt.bak: https://pastebin.com/wq6Vc7jh (seems the same)


  • Global Moderator

    @hooperre Did you forget to post the log ?



  • @mitu Posted. Seems like the log is just abruptly interrupted.


  • Global Moderator

    Yes, the logs are the same, it seems the crash happens when loading the collections starting with [space]. You say that it only happens on 1st load ? Did you have another ES version before this crash started happening ?

    EDIT: is there any crash error message on the terminal ?



  • @mitu To be honest, I only use Kiosk when copying my SD for my cousin and brother so I'm not sure pre vs. post update.

    The crash message is the "Emulationstation has crashed" blue screen. Suggests I reset rom permissions / check gpu split. I can post a picture later if you're not sure what I'm referring to from memory.

    Is there another character I can use to bring the collections to the top besides a space? I can test that when I'm back from work.


  • Global Moderator

    @hooperre said in EmulationStation Kiosk-USB Specific Crash - Can it be Replicated?:

    The crash message is the "Emulationstation has crashed" blue screen. Suggests I reset rom permissions / check gpu split. I can post a picture later if you're not sure what I'm referring to from memory.

    Aha, I know that message. It happens when ES crashes, but the actual crash might behind that message (in the terminal screen). Is there such message ?

    EDIT:

    Is there another character I can use to bring the collections to the top besides a space? I can test that when I'm back from work.

    Try using _ or !.



  • @mitu How would I get underneath the message? I've tried Ctrl+C but it seems that the keyboard doesn't work. I know there is an exit or back option, but there's no way for me to select it because it seems like all the inputs don't work at that point. Can I SSH in and somehow see it there? exit?


  • Global Moderator

    @hooperre Maybe Esc or Enter ?



  • @mitu I’m fairly certain I’ve tried both as I have a keyboard with it currently. No other way to see that error?



  • @mitu Confirmed. Basically freezes the system. No inputs work.


  • Global Moderator

    @hooperre Try to login to the system via SSG and run killall dialog when the message is on-screen. I forgot about this option.



  • @mitu I basically just see the error screen above a regular terminal as if you exited EmulationStation after using the killall dialog command, but I don't see the actual error message anywhere.

    Only have collections starting with letters. es_log.txt here: https://pastebin.com/hszxWE2V.


  • Global Moderator

    OK, time to bring up the big guns. If you have SSH access to the Pi, you can try to get a backtrace from the crash:

    1. Install gdb with
    apt -y install gdb
    
    1. Replace the autostart.sh command to start ES with
    gdb -batch -ex "run" -ex "bt" -ex "quit" /opt/retropie/supplementary/emulationstation/emulationstation 2>&1 > /tmp/es.log
    

    So, instead of the normal autostart.sh which contains just

    emulationstation #auto
    

    you should have

    # emulationstation #auto
    gdb -batch -ex "run" -ex "bt" -ex "quit" /opt/retropie/supplementary/emulationstation/emulationstation 2>&1 > /tmp/es.log
    

    You can find the autostart.sh file in /opt/retropie/configs/all/autostart.sh, do a backup of it just in case.

    Reboot, get the crash message, but don't stop the Pi right away, just SSH in and get the /tmp/es.log file which should contain the crash place in Emulationstation.



  • @mitu

    My autostart.sh appears as follows:

    emulationstation #auto
    gdb -batch -ex "run" -ex "bt" -ex "quit" /opt/retropie/supplementary/emulationstation/emulationstation 2>&1 > /tmp/es.log
    

    I did have to change file permissions to 777 in the created directories above to view them. Am I missing a sudo command anywhere? (sudo gdb doesn't seem to make it work.)

    sudo nano /tmp/es.log shows nothing.

    Am dumb was missing the comment part of # emulationstation #auto on line 1.

    es.log: https://pastebin.com/BpXY8K3A


  • Global Moderator

    @hooperre Well, that's the error right there :|. Let's see how we can solve that.



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.