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

Some games load, some don't (NES/FCEUmm Core)

Scheduled Pinned Locked Moved Help and Support
nesretroarchcrashabort
49 Posts 11 Posters 22.4k 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.
  • B
    bmn001
    last edited by 21 Nov 2016, 22:22

    Tried compiling lr-fceumm from source, ended up with the same version (1.3.6) and it unsurprisingly still did not work.

    Does anyone have any ideas of why we might be seeing this behavior?

    Based on our logs posted here it looks like runcommand is the culprit, but I'm not 100% sure.

    B 1 Reply Last reply 21 Nov 2016, 22:24 Reply Quote 0
    • B
      BuZz administrators @bmn001
      last edited by BuZz 21 Nov 2016, 22:24

      @bmn001 I doubt it is the fault of runcommand. If you unzip /home/pi/RetroPie/roms/nes/10-Yard Fight (USA, Europe).zip and from a commandline type file /home/pi/RetroPie/roms/nes/unpacked file name what do you get ?

      The no-intro nes rom set doesn't have headers does it ? Headerless nes roms will not work.

      To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

      B 1 Reply Last reply 22 Nov 2016, 18:01 Reply Quote 0
      • H
        hansolo77
        last edited by 21 Nov 2016, 23:42

        I just thought I'd post an update. I didn't do anything, but now SMB1 works. I mean, I started from scratch with a brand new SD image of RetroPie, updated the kernel (for my raphnet adapter), updated from source RetroArch and lr-fceumm. I'm still troubleshooting my controller issue, but just for a test I went ahead and tried to load SMB1, and it loaded up fine. The ROM is still zipped, and I'm using a No-Intro set. I also have the ROMs stored on a permanently attached hard drive. Those files have not changed in the switchover to a new install. So I think what caused the original issue must have been something we ALL had done at one point. I wonder if this was a problem with maybe RetroArch, that was fixed since the last time it was updated? I have the latest source installed from yesterday (although they update the GIT all the time, with multiple pushes throughout the day). So maybe something is fixed? If not RetroArch, maybe the updated source to FCEUmm had a fix? All I know is that I didn't do anything to the ROM drive or the files, they're all still zipped and it worked.

        Who's Scruffy Looking?

        1 Reply Last reply Reply Quote 0
        • B
          bmn001 @BuZz
          last edited by 22 Nov 2016, 18:01

          @BuZz Well keep in mind this same zipped rom worked with 4.0.1 with the same version of lr-fceumm.

          I've unzipped the ROM, and the file command gives me this:

          10-Yard Fight (USA, Europe).nes: iNES ROM dump, 2x16k PRG, 1x8k CHR, [Horiz.]

          B 1 Reply Last reply 22 Nov 2016, 18:10 Reply Quote 0
          • B
            BuZz administrators @bmn001
            last edited by BuZz 22 Nov 2016, 18:10

            @bmn001 that should work at least. Maybe try updated retroarch and lr-fceumm (from binary first - i use the last retroarch/lr-fceumm binaries on my system and I have not noticed any issues with nes).

            To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

            1 Reply Last reply Reply Quote 0
            • B
              bmn001
              last edited by bmn001 22 Nov 2016, 19:48

              Just tried updating both of those. First from binary, then from source. Same behavior in every scenario.
              To rule out SD corruption or other file systemweirdness I'm in the process of downloading the latest SD image and will give that a go.

              1 Reply Last reply Reply Quote 0
              • B
                bmn001
                last edited by 22 Nov 2016, 21:50

                Well it's definitely not SD corruption.

                I downloaded 4.1 and put it on the SD. Rom worked. Updated w/setup script to 4.1.3, and...the rom still worked!

                So then I tried putting backup image of 4.0.1 that I'd saved from a few months ago on the SD. The rom worked. I then updated w/setup script to 4.1.3. Rom did NOT work.

                So somewhere in the update process from 4.0.1 to 4.1.3 , something breaks. I have no idea what or how to track it down, but if worse comes to worse I guess I could always just start over from scratch with 4.1.

                1 Reply Last reply Reply Quote 0
                • H
                  hansolo77
                  last edited by 22 Nov 2016, 22:46

                  Good find. I don't know what version I'm using. But as I said, using the latest SD image on the site, and updating RetroArch and the Core from source seemed to keep my system running those "bad" roms. Maybe it IS something to do with the 4.1.3 update. Was there something else going on that might have broke, like RunCommand, or EmulationStation?

                  Who's Scruffy Looking?

                  1 Reply Last reply Reply Quote 0
                  • B
                    bmn001
                    last edited by 23 Nov 2016, 17:53

                    Well I gave up on trying to make this work. In the end, the only thing I could do was install the latest image (4.1) upgrade to 4.1.3 using the setup script, and reinstall roms, re-scrape data, re-config raspi system settings, re-add controllers...basically completely start over.

                    I've got things working now, but it was a ton of work and I'll have to think long and hard about ever upgrading RetroPie again.

                    1 Reply Last reply Reply Quote 0
                    • B
                      bmn001
                      last edited by 24 Nov 2016, 16:25

                      Ok, after getting everything set up all over again, the problem has returned. I'm pulling my hair out in frustration and I'm more determined than ever to find the cause.

                      This affects several roms on my system, and the problem only shows up when the roms are zipped.

                      The verbose logs continue to show the runcommand "line 925/aborted" error.

                      If I launch into the emulator with a working zipped rom, I'm then able to load a non-working zipped rom inside of the libretro GUI, and it works there! It's only when attempting to launch from emulationstation that I have problems.

                      Could this libretro bug be to blame? https://github.com/libretro/RetroArch/issues/3783
                      How can I check if "cache_directory" is set to a valid dir?

                      1 Reply Last reply Reply Quote 0
                      • B
                        BuZz administrators
                        last edited by BuZz 24 Nov 2016, 16:27

                        check your configs/all/retroarch.cfg - note that runcommand creates the /tmp/retroarch directory when it launches and removes it afterwards.

                        To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                        1 Reply Last reply Reply Quote 0
                        • B
                          bmn001
                          last edited by 24 Nov 2016, 19:19

                          Thanks for that. The cache directory is definitely set in the cfg. I even tried changing it temporarily to a persistent dir, and no change.

                          So next I tried manually entering the same command that runcommand is running on the command line, based on the error log:

                          /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-fceumm/fceumm_libretro.so --config /opt/retropie/configs/nes/retroarch.cfg "/home/pi/RetroPie/roms/nes/Ice Climber (USA, Europe).zip" --verbose --appendconfig /dev/shm/retroarch.cfg

                          This is the output:
                          http://pastebin.com/C36xN96W

                          Compare that with the output of a zipped rom that does work properly:

                          /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-fceumm/fceumm_libretro.so --config /opt/retropie/configs/nes/retroarch.cfg "/home/pi/RetroPie/roms/nes/Tetris (USA).zip" --verbose --appendconfig /dev/shm/retroarch.cfg

                          http://pastebin.com/7hwpgJxC

                          The error I'm seeing is "*** Error in `/opt/retropie/emulators/retroarch/bin/retroarch': free(): invalid pointer: 0x01ff8979 ***"

                          Is this definitive proof that it's a Retroarch bug? If so, I can file a report with them.

                          1 Reply Last reply Reply Quote 0
                          • H
                            hansolo77
                            last edited by 24 Nov 2016, 19:56

                            When you compare the two.. the one that works continues right after checking for Environ GET_VARIABLE fceumm_overclocking:. The next step that is failing on the one that doesn't work is Environ GET_VARIABLE fceumm_overscan:. So maybe it's an overscan setting?

                            Who's Scruffy Looking?

                            1 Reply Last reply Reply Quote 0
                            • B
                              bmn001
                              last edited by bmn001 24 Nov 2016, 20:12

                              Good eyes, thank you.

                              Ok, I just enabled overscan in /boot/config.txt and rebooted.

                              Didn't do much. Same error, slightly different pointer address:
                              *** Error in `/opt/retropie/emulators/retroarch/bin/retroarch': free(): invalid pointer: 0x01cb89e9 ***

                              I'm not sure if this is a retroarch bug or a fceumm core bug.

                              1 Reply Last reply Reply Quote 0
                              • H
                                hansolo77
                                last edited by 24 Nov 2016, 20:15

                                At least the invalid pointer error is now pointing to a different address..

                                0x01cb89e9
                                vs
                                0x01ff8979

                                The 2nd to last digit changed :)

                                Who's Scruffy Looking?

                                1 Reply Last reply Reply Quote 0
                                • B
                                  bmn001
                                  last edited by 24 Nov 2016, 20:39

                                  I submitted this as a Retroarch bug. Hopefully I don't get laughed out of their bug tracker for not knowing what I'm doing.

                                  https://github.com/libretro/RetroArch/issues/4063

                                  synackS 1 Reply Last reply 19 Dec 2016, 15:57 Reply Quote 2
                                  • synackS
                                    synack @bmn001
                                    last edited by synack 19 Dec 2016, 15:57

                                    I experienced the same bug with lr-fceumm using a no-intro set. I can confirm it's specific to lr-fceumm (lr-nestopia works fine).

                                    One foolproof workaround is use an unzipped rom, or to store (zero compression) the rom in the zip. The commands below will re-zip the files at zero compression (so no extra scraping needs to be done, gamelist tweaking, etc).

                                    As always, make a backup first.

                                    sudo apt-get install zip
                                    cd ~/RetroPie/roms/nes
                                    mkdir old
                                    for f in *.zip; do unzip "$f"; mv "$f" old; zip -0 "${f%.*}".zip "${f%.*}".nes; mv "${f%.*}".nes old; done
                                    

                                    The old zip files will be placed in the "old" folder. They can be removed when you're satisfied with the new set.

                                    1 Reply Last reply Reply Quote 0
                                    • C
                                      chromium
                                      last edited by chromium 29 Dec 2016, 06:26

                                      Is there a fix for this yet? I just spent ages setting up retropie only to find that most of my nes roms are failing to load with a "failed to extract content" error followed by an "invalid pointer" error. Nothing wrong with the zips as they unzip fine and they worked in my other retropie setups

                                      I'm sure starting again from scratch will fix, but I really don't want to do that. I've spent days on this setup :(

                                      B 1 Reply Last reply 29 Dec 2016, 06:39 Reply Quote 0
                                      • B
                                        BuZz administrators @chromium
                                        last edited by BuZz 29 Dec 2016, 06:39

                                        @chromium there is a retroarch ticket link above - doesn't look resolved yet.

                                        Unpack your ROMs or use another emulator?

                                        To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                        1 Reply Last reply Reply Quote 0
                                        • C
                                          chromium
                                          last edited by 29 Dec 2016, 07:23

                                          @BuZz said in Some games load, some don't (NES/FCEUmm Core):

                                          @chromium there is a retroarch ticket link above - doesn't look resolved yet.

                                          Unpack your ROMs or use another emulator?

                                          I'm stubborn and am trying to fix it properly :)

                                          I had this issue with a new Retropie install a couple of days ago and then I updated everything and the problem went away. Updating isn't helping in this one though. I tried updating from binaries and sources for both retroarch and lr-fceumm with no joy.

                                          I actually only get the invalid pointer error from command line. If I run from emulationstation I don't get that, I just get "Aborted."

                                          Eg.

                                          RetroArch [libretro INFO] :: Loading /tmp/retroarch/1942 (Japan, USA).nes...

                                          RetroArch [libretro INFO] :: PRG ROM: 2 x 16KiB
                                          RetroArch [libretro INFO] :: CHR ROM: 1 x 8KiB
                                          RetroArch [libretro INFO] :: ROM CRC32: 0x171251e3
                                          RetroArch [libretro INFO] :: ROM MD5: 0x0b66fdf88964235c434daff62837af60
                                          RetroArch [libretro INFO] :: Mapper #: 0
                                          RetroArch [libretro INFO] :: Mapper name: NROM
                                          RetroArch [libretro INFO] :: Mirroring: Horizontal
                                          RetroArch [libretro INFO] :: Battery-backed: No
                                          RetroArch [libretro INFO] :: Trained: No
                                          RetroArch [libretro INFO] ::
                                          RetroArch [INFO] :: Environ GET_VARIABLE fceumm_palette:
                                          RetroArch [INFO] :: asqrealc
                                          RetroArch [INFO] :: Environ GET_VARIABLE fceumm_nospritelimit:
                                          RetroArch [INFO] :: disabled
                                          RetroArch [INFO] :: Environ GET_VARIABLE fceumm_overclocking:
                                          RetroArch [INFO] :: disabled
                                          /opt/retropie/supplementary/runcommand/runcommand.sh: line 947: 8304 Aborted /opt/retropie/emulators/retroarch/bin/retroarch --verbose -L /opt/retropie/libretrocores/lr-fceumm/fceumm_libretro.so --config /opt/retropie/configs/nes/retroarch.cfg "/home/pi/RetroPie/roms/nes/1942 (Japan, USA).zip" --appendconfig /dev/shm/retroarch.cfg

                                          So it looks like it's unzipping the rom ok because it's reading information from the rom. Pretty weird. Not sure why zipping with no compression works. Everything works ok in nestopia.

                                          B 1 Reply Last reply 29 Dec 2016, 07:35 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.

                                            [[user:consent.lead]]
                                            [[user:consent.not_received]]