RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    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

    Golden Sun (GBA) Crashing

    Scheduled Pinned Locked Moved Help and Support
    gbaretroarchgolden sun
    17 Posts 4 Posters 8.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MJLHThomassen
      last edited by

      Hey Guys, first of all, loving RetroPie, its awesome! Thanks for all the hard work you put in it.

      I've been playing Golden Sun for the GBA emulator but I'm having some issues with it (incidently, im having the same issues using any of the GBA emulators with RetroArch on Windows). The emulator crashes after a few minutes of play. With crashes I mean the screen freezes and the audio hangs/repeats current buffer. It does not go back to EmulationStation. I can still use the control for saving/loading state but of course when loading a state that has been saved while its bugged, it loads bugged. The problem appears with all of the pre-installed GBA emulators.

      • Pi Model: 2B
      • RetroPie Version Used: 4.02
      • Built From: Pre made SD Image on RetroPie website
      • USB Devices connected: 8Bitdo Retro Receiver for SNES
      • Controller used: 8Bitdo SFC30 (via Retro Reciever USB, not BT, so its being detected as XInput / xbox 360 controller)
      • Error messages received: None
      • File: \RETROPIE\roms\gba\Golden Sun.gba
      • Emulator: lr-mGBA, lr-gpsp, lr-vba-next
      • Attachment of config files:
        • retroarch all config: http://pastebin.com/x0Jwdkah
        • retroarch gba config:
      # Settings made here will only override settings in the global retroarch.cfg if placed above the #include line
      
      input_remapping_directory = "/opt/retropie/configs/gba/"
      
      #include "/opt/retropie/configs/all/retroarch.cfg"
      
      • How to replicate the problem: Start Golden Sun, play for a bit, it crashes at seeming random moments, both in and out of battle (but most of the times in battle). It also happend to me when just running the emulator, standing still with my character in a village and just waiting, after a minute or 5 it crashed. As i mentioned above, i have the same issues with theexe emulators with libretro/RetroArch on Windows with the same ROM. I'm starting to think its a bad ROM file.

      I've searched the internet but cant find anyone with the same or similar problems. IF you need any more info please ask.

      mediamogulM 1 Reply Last reply Reply Quote 0
      • mediamogulM
        mediamogul Global Moderator @MJLHThomassen
        last edited by

        @MJLHThomassen said in Golden Sun (GBA) Crashing:

        I'm starting to think its a bad ROM file.

        It's a good idea to eliminate the rom itself as the cause as an early troubleshooting measure. Try locating one from a different source and see how it behaves.

        RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

        1 Reply Last reply Reply Quote 0
        • M
          MJLHThomassen
          last edited by

          I now tried several different ROM's, but they all have the same problem. Incidently, they also all have the same MD5 hash:

          1c dd 7f 33 c9 a2 70 61 20 1e 1d 1c e0 29 a7 00

          I now have a lr-mgba .state file which, if you load it, loads up the character in the world map with the "select" menu on. If you press B to exit the menu, then press B again and press down on the D-Pad to start "running down", it crashes immediately (if you dont press B to start running it works). You can download this state file here:

          http://www.mediafire.com/file/12xe27558qr1k8w/Golden_Sun.state

          I don't really know what else i can do to see whats going wrong here.

          dankcushionsD 1 Reply Last reply Reply Quote 0
          • dankcushionsD
            dankcushions Global Moderator @MJLHThomassen
            last edited by

            @MJLHThomassen said in Golden Sun (GBA) Crashing:

            I now tried several different ROM's, but they all have the same problem. Incidently, they also all have the same MD5 hash:

            1c dd 7f 33 c9 a2 70 61 20 1e 1d 1c e0 29 a7 00

            I now have a lr-mgba .state file which, if you load it, loads up the character in the world map with the "select" menu on. If you press B to exit the menu, then press B again and press down on the D-Pad to start "running down", it crashes immediately (if you dont press B to start running it works). You can download this state file here:

            http://www.mediafire.com/file/12xe27558qr1k8w/Golden_Sun.state

            I don't really know what else i can do to see whats going wrong here.

            i just uploaded this state to my pi3 and couldn't get it to load. it says 'Loaded state from slot 0' but the game just resets... i have the same hash and i just updated lr-mgba to the latest binary. not sure what could be going wrong. if i save another state it loads properly.

            (all i was going to do is to run it via gdb to get a backtrace)

            M 1 Reply Last reply Reply Quote 0
            • M
              MJLHThomassen @dankcushions
              last edited by

              @dankcushions

              Thats strange. Obviously, it loads for me. I do have the "do not override saveram" option enabled, dont know if that has anything to do with it. I'm also on the latest version of mgba (i updated all the packages via the Retropie Setup tool).

              I have another save state for you. For me this one crashes if i just walk around a bit on the world map:
              http://www.mediafire.com/file/a08tn5w97w0el8g/Golden_Sun.state1

              Also, this is my saveram file:
              http://www.mediafire.com/file/fgt8n13r4gu10u1/Golden_Sun.srm

              I have both files in the same directory as the rom file and RetroArch configured to load and save to and from the content dir for both saveram and states.

              dankcushionsD 1 Reply Last reply Reply Quote 0
              • dankcushionsD
                dankcushions Global Moderator @MJLHThomassen
                last edited by

                @MJLHThomassen that one loads correctly but no inputs work (appears it's frozen?). i tried the sram option on/off. very strange. might be worth logging it as an issue here: https://github.com/libretro/mgba/issues

                M 1 Reply Last reply Reply Quote 0
                • M
                  MJLHThomassen
                  last edited by

                  I have posted an issue:

                  https://github.com/libretro/mgba/issues/47

                  Its still strange that ive seen similar behavior on other emulators aswell. It is hard to reproduce as loading up another emulator and getting to a point in the game where the crashes happen (they dont happen in the intro) takes about an hour because the intro of the game is so long.

                  1 Reply Last reply Reply Quote 0
                  • M
                    MJLHThomassen
                    last edited by

                    This post is deleted!
                    1 Reply Last reply Reply Quote 0
                    • M
                      MJLHThomassen @dankcushions
                      last edited by

                      @dankcushions I have an update on this. As the person in the issue suggested, i tried running this trough gdb, however, no crash occurred.
                      It only seems to occur if i launch trough EmulationStation. There is a log file (/dev/shm/runcommand.log, it is shown in the screen that is shown after you select the game in EmulationStation but before RetroArch launches, i dont know if this is an EmulationStation feature or a RetroPie only feature).

                      Anyway, that log file shows the following:

                      Parameters: 0 _SYS_ gba /home/pi/RetroPie/roms/gba/Golden Sun.gba
                      
                      Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mgba/mgba_libretro.so --config /opt/retropie/configs/gba/retroarch.cfg "/home/pi/RetroPie/roms/gba/Golden Sun.gba" --appendconfig /dev/shm/retroarch.cfg
                      
                      /opt/retropie/supplementary/runcommand/runcommand.sh: line 854:  1434 Segmentation fault      /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mgba/mgba_libretro.so --config /opt/retropie/configs/gba/retroarch.cfg "/home/pi/RetroPie/roms/gba/Golden Sun.gba" --appendconfig /dev/shm/retroarch.cfg
                      

                      the appendconfig file only contains: video_refresh_rate = 60

                      I'm going to investigate further...

                      dankcushionsD 1 Reply Last reply Reply Quote 1
                      • dankcushionsD
                        dankcushions Global Moderator @MJLHThomassen
                        last edited by

                        @MJLHThomassen said in Golden Sun (GBA) Crashing:

                        Parameters: 0 SYS gba /home/pi/RetroPie/roms/gba/Golden Sun.gba

                        Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mgba/mgba_libretro.so --config /opt/retropie/configs/gba/retroarch.cfg "/home/pi/RetroPie/roms/gba/Golden Sun.gba" --appendconfig /dev/shm/retroarch.cfg

                        interesting! when you ran through GDB, did you run it with the same arguments? ie, in that log file it shows the command line it uses to launch the game:

                        /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mgba/mgba_libretro.so --config /opt/retropie/configs/gba/retroarch.cfg "/home/pi/RetroPie/roms/gba/Golden Sun.gba" --appendconfig /dev/shm/retroarch.cfg
                        

                        i think if you want to use this command in the commandline, you will need to replace --appendconfig /dev/shm/retroarch.cfg with --appendconfig /opt/retropie/configs/all/retroarch.cfg

                        so, if you run via gdb, a direct comparison would be something like:

                        gdb --args /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mgba/mgba_libretro.so --config /opt/retropie/configs/gba/retroarch.cfg "/home/pi/RetroPie/roms/gba/Golden Sun.gba" --appendconfig /opt/retropie/configs/all/retroarch.cfg
                        

                        with the same arguments i would expect the same results from both, but at least if that happens now you know the issue is caused by a cfg setting.

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          MJLHThomassen @dankcushions
                          last edited by

                          @dankcushions When I ran trough GDB i did not append the command. I ran with the command listed in the configs/gba/emulators.cfg file which is:

                          "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-gpsp/gpsp_libretro.so --config /opt/retropie/configs/gba/retroarch.cfg %ROM%"

                          Ill try to run it with the appendcommand aswell, see if the crash is reproducable then, thanks for the tip!

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            MJLHThomassen @MJLHThomassen
                            last edited by MJLHThomassen

                            @dankcushions

                            Update, I've tested running the commands several different ways now. All commands below are run from the command line. The /dev/shm/retroarch.cfg file exists and still contains just the one line: video_refresh_rate = 60

                            /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mgba/mgba_libretro.so --config /opt/retropie/configs/gba/retroarch.cfg "/home/pi/RetroPie/roms/gba/Golden Sun.gba" --appendconfig /dev/shm/retroarch.cfg
                            
                            • RetroArch loads
                            • I Press Select+L on my gamepad to load the (pre-bugged) state
                            • I "walk with my character"
                            • RetroArch crashes with Segmentation Fault (whenver i see those i cringe since they are usually impossible to debug :P)
                            /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mgba/mgba_libretro.so --config /opt/retropie/configs/gba/retroarch.cfg "/home/pi/RetroPie/roms/gba/Golden Sun.gba"
                            
                            • RetroArch loads
                            • I Press Select+L on my gamepad to load the (pre-bugged) state
                            • I "walk with my character"
                            • RetroArch crashes with Segmentation Fault
                            gdb -ex=run --args /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mgba/mgba_libretro.so --config /opt/retropie/configs/gba/retroarch.cfg "/home/pi/RetroPie/roms/gba/Golden Sun.gba" --appendconfig /dev/shm/retroarch.cfg
                            
                            • RetroArch loads
                            • I Press Select+L on my gamepad to load the (pre-bugged) state
                            • I "walk with my character"
                            • The game just plays, no crashes, everything is fine
                            gdb -ex=run --args /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mgba/mgba_libretro.so --config /opt/retropie/configs/gba/retroarch.cfg "/home/pi/RetroPie/roms/gba/Golden Sun.gba"
                            
                            • RetroArch loads
                            • I Press Select+L on my gamepad to load the (pre-bugged) state
                            • I "walk with my character"
                            • The game just plays, no crashes, everything is fine

                            Ergo, whatever it is that GDB does, its causing the game to work haha, awesome impossible debug scenario. Also, the --appendconfig does not seem to make a difference.

                            1 Reply Last reply Reply Quote 0
                            • dankcushionsD
                              dankcushions Global Moderator
                              last edited by

                              the worst kind of bug! it could possibly be some sort of race condition http://stackoverflow.com/questions/4628521/segfault-only-when-not-using-debugger has some things to try. might be worth rebuilding retroarch and the gba emulator from source in case anything has been fixed recently.

                              1 Reply Last reply Reply Quote 1
                              • M
                                MJLHThomassen
                                last edited by MJLHThomassen

                                @dankcushions
                                I've been able to get a coredump and backtrace. For more information see here: https://github.com/libretro/mgba/issues/47

                                Thanks for your help so far!

                                (BTW, my temp fix/hack is to add "gdb -ex=run --args " in front of the emulator line in my emulators.cfg file haha)

                                1 Reply Last reply Reply Quote 0
                                • I
                                  ikari
                                  last edited by

                                  Sorry for breaking into this topic without anything useful to say, but I was wondering if you had found a solution for this yet. I am having the exact same problem on my Pi 3B. I tried your "temp fix" by adding "gdb -ex=run --args " in front of the emulator line and it did prevent the crashes from happening. The only problem it adds is that I can't get back to the RetroPie menu by pressing start+select. It just gives me the 'Launching Golden Sun (lr-mgba) ...' screen again and that's it. Doesn't respond to anything but a ctrl+c.

                                  Thanks in advance...

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    MJLHThomassen @ikari
                                    last edited by MJLHThomassen

                                    @ikari

                                    Yes, I've also fixed that, forgot to post it. Thats because by default gdb keeps running when you close the program its debugging.
                                    You need to change -ex=run into --eval-command=run --eval-command=quit

                                    So your config file argument becomes: gdb --eval-command=run --eval-command=quit --args <everything that was there originally here>

                                    (also see post here: http://stackoverflow.com/questions/8657648/how-to-have-gdb-exit-if-program-succeeds-break-if-program-crashes)

                                    Keep in mind this is still a hack/workaround, the problem should be fixed in the emulator.

                                    1 Reply Last reply Reply Quote 0
                                    • I
                                      ikari
                                      last edited by

                                      Thanks a lot! You are right, this is indeed a workaround and not a solution. But I am glad that I am able to play it again (hoping there's no more hidden crashes later in the game!)

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post

                                      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.