Closed ghost closed 6 years ago
again ill need your games directory its is working fine here we need to check your permissions and such these games worked for me well superman did even before the nvram was fixed. The nvram and .cfg is fixed now i can confirm that youll need to start giving some info on the exact path of your roms ect and the file permissions set aloso check the commit number your running on from retroarch
@ZappaUtopia
got to the console on retropie so mame open ip properly ie is in console mode
run this
strace -f -e open /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/MAME2003_Split/supeman.zip" --appendconfig /dev/shm/retroarch.cfg --verbose
obviously change your path youll see a lot of info printed quit mame and paste the last few lines
@markwkidd would it be possible to add rom load fails as a printf as well as libretro logging?
@ZappaUtopia from my latest build on retropie
pid 23430] open("/opt/retropie/configs/mame-libretro/retroarch.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 10 [pid 23430] open("/home/pi/RetroPie/roms/mame-libretro/MAME2003_Split//mame2003-plus/nvram/kick.nv", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 10 [pid 23430] open("/home/pi/RetroPie/roms/mame-libretro/MAME2003_Split//mame2003-plus/cfg/default.cfg", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 10 [pid 23430] open("/home/pi/RetroPie/roms/mame-libretro/MAME2003_Split//mame2003-plus/cfg/kick.cfg", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 10 [pid 23430] open("/opt/retropie/configs/all/retroarch-core-options.cfg", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 10
the files are being created on exiting the game
@grant2258 very recently I changed the logging for ROM load fails so that they should always print to the console (that should be the effect of RETRO_LOG_ERROR
).
A week or two ago when I was working so much on the logging I thought I tested this out on my own system. Does it seem like ROM errors aren't showing up in the console in Linux or rpi?
If that isn't working now we should definitely put in some printf
alongside but I would also try to call on the libretro folks since I think that would be a bug in the log API.
Edit: I just recompiled from the github source and the files are being created here too.
I built from source again and it seems to be saving stuff now in the Mame2003+ directory but I tried some of the games I listed above and they still exit.
Do you want me to post the whole thing ? The last lot of lines are about Retropad ?
if it's super long you can also paste it into a github "gist" and post a link to that here: https://gist.github.com
On Sat, May 5, 2018 at 11:53 AM, ZappaUtopia notifications@github.com wrote:
I built from source again and it seems to be saving stuff now in the Mame2003+ directory but I tried some of the games I listed above and they still exit.
Do you want me to post the whole thing ? The last lot of lines are about Retropad ?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/libretro/mame2003-plus-libretro/issues/163#issuecomment-386819244, or mute the thread https://github.com/notifications/unsubscribe-auth/ASphdgwpUdOvP9fkz23D79eHzYiO5UHaks5tvdj4gaJpZM4TvkAo .
-- Mark W. Kidd http://facebook.com/markwkidd (606)536-0115
Is this right https://gist.github.com/ZappaUtopia/d800b01d04998e96b24be0ec891b6763#file-gistfile1-txt
I noticed in that log that it's calling the rom supeman
but my zip file i superman
I was just about to post that. I think there is a typo in grant's command he asked you to paste. Could you change supeman
to superman
and try again?
Although you should be getting an error with at typo and not a segfault. That is something I'll look into meanwhile
OK, I corrected the superman spelling mistake but now I getting a ton of errors about libretro, it scrolled most of it off my window so I couldn't copy the start of it ! This is the end few lines.
[libretro ERROR] [MAME 2003+] cchip1_w pc: 002bb6 bank 00 offset 03fa: ff
[libretro ERROR] [MAME 2003+] cchip1_w pc: 002bb6 bank 00 offset 03fb: ff
[libretro ERROR] [MAME 2003+] cchip1_w pc: 002bb6 bank 00 offset 03fc: ff
[libretro ERROR] [MAME 2003+] cchip1_w pc: 002bb6 bank 00 offset 03fd: ff
[libretro ERROR] [MAME 2003+] cchip1_w pc: 002bb6 bank 00 offset 03fe: ff
[libretro ERROR] [MAME 2003+] cchip1_w pc: 002bb6 bank 00 offset 03ff: ff
[libretro ERROR] [MAME 2003+] cchip1_w pc: 002b10 bank 00 offset 0401: 02
[libretro ERROR] [MAME 2003+] cchip1_w pc: 002c06 bank 02 offset 0000: 4a
[libretro ERROR] [MAME 2003+] cchip1_w pc: 002c0e bank 02 offset 0001: 46
[libretro ERROR] [MAME 2003+] cchip1_w pc: 002c16 bank 02 offset 0002: 34
[libretro ERROR] [MAME 2003+] cpu #1 (PC=000001C9): unmapped memory byte write to 0000E600 = 00
[libretro ERROR] [MAME 2003+] cpu #1 (PC=0000028C): unmapped memory byte write to 0000E600 = 08
[libretro ERROR] [MAME 2003+] cpu #1 (PC=000004F8): unmapped memory byte write to 0000E600 = 0E
[pid 1485] --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x6ec000} ---
[pid 1492] +++ killed by SIGSEGV +++
[pid 1493] +++ killed by SIGSEGV +++
[pid 1491] +++ killed by SIGSEGV +++
[pid 1490] +++ killed by SIGSEGV +++
[pid 1489] +++ killed by SIGSEGV +++
[pid 1488] +++ killed by SIGSEGV +++
[pid 1486] +++ killed by SIGSEGV +++
+++ killed by SIGSEGV +++
Segmentation fault
I am using Putty. How do I capture the whole report ? I can't scroll the window up.
Well, now we know that MAME errors are definitely coming through the new logging interface.
Hopefully our MAME errors are actual clues. It would be good to have a gist with the full log, in case they are relevant.
Let's modify grant's command to save the log into a file instead of appearing on your screen.
strace -f -e open /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/MAME2003_Split/superman.zip" --appendconfig /dev/shm/retroarch.cfg --verbose >> retroarch.log 2>&1
That should give you a file called retroarch.log
in your current directory.
That just said 'segmentation fault'. Is it supposed to save to /dev/shm/
?
I ran this as my roms are in the arcade folder.
strace -f -e open /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/arcade/retroarch.cfg "/home/pi/RetroPie/roms/arcade/superman.zip" --appendconfig /dev/shm/retroarch.cfg --verbose >> retroarch.log 2>&1
hypothesis: hiscore.dat is writing to wrong memory address for this version of the rom.
hiscore does look suspicious in the log
I'm playing this game fine here @ZappaUtopia in Windows 7 x64 although I don't have any saved high scores.
@ZappaUtopia Could you try to delete superman.hi
from your mame2003-plus/hi
folder and start it again?
I'm using RetroPie. I retried some of the games I listed in the first post and none of them worked, so it's not just superman. Regarding @dankcushions 's hypothesis, I don't have any hiscores in my hi directory so I just played Bombjack and got a hiscore but no hiscore file was created in the hi directory.
not all games store hi scores @ZappaUtopia mark changed the hi score system as far as i remeber disable that and load/save states ill test every rom on there and let you know if i have any issues at all.
will just need to copy my mame2003 plus collection over from my windows box
@ZappaUtopia initial analisys
/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/backfire.zip" (works)
/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/brapboys.zip" (segfault)
/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/deluxe5.zip" (works)
/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/hedpanic.zip" (works)
/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/mchampdx" (works)
/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/shogwarr.zip" (segfault)
/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/swatpolc.zip" (works)
/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/superman.zip" (works)
/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/tangtang" (works)
conclusion we have an un handled condition for rom loads to show you the problem lets take a game that works.
pi@retropie:~ $ /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/tangtang.zip"
all is good remove the .zip
pi@retropie:~ $ /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retrop/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/tangtang" Segmentation fault
the other games that arent working on this list is probably a symtom of the original fault
to show you this issue clearer open a rom that doesnt exist
pi@retropie:~ $ /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/test" Segmentation fault
now this should be easily be fixable its will need to wait until i am off work though again this will have t wait until im off work or i get some free time in between
It's odd because RetroArch is not supposed to send a game to load if the game has an invalid path according to libretro.h
. I added some comments about this to mame2003.c
when I was investigating earlier today
well emulation station send the command line based on a zip file name the thing is doing this manually is a good thing we should be dealing with unpredictable behavior like trying to load something that doesnt exits. Its not the big of a deal its just something going out of bounds shoulddnt be a complicated one. That was me doing the test thing to show an example that was all mark
i must admit ive been neglecting retropie because im using retroarch now for development ill try them two games on 64 bit see if they segfault too and get you a backtrace if they do
I've just been conferring with bparker over discord. I have a fix I think for when it's passed an invalid path. The old mame2003 check for invalid paths was not right, but neither is my approach.
shogwarr bt
[libretro INFO] [MAME 2003] Machine reset [libretro INFO] [MAME 2003] Searching for shogwarr hiscore memory map in internal .dat.
Thread 1 "retroarch" received signal SIGSEGV, Segmentation fault. 0x00007fffc5a931d5 in cpu_writemem24bew () from /home/grant/.config/retroarch/cores/mame2003_plus_libretro.so (gdb) bt
at ../csu/libc-start.c:291
brapboys.zip
[libretro INFO] [MAME 2003] Searching for brapboys hiscore memory map in internal .dat.
Thread 1 "retroarch" received signal SIGSEGV, Segmentation fault. 0x00007fffc5a931d5 in cpu_writemem24bew () from /home/grant/.config/retroarch/cores/mame2003_plus_libretro.so (gdb) bt
at ../csu/libc-start.c:291
think these two are a separate issue mark ill look into this more
yeah, I think you're right. I'm looking at some of these things and it's not adding up to one issue :1st_place_medal:
well the rom loads on the other games is the issue when the file doesnt exist its going out of bounds but these two games alone are something else. They all work apart from these two.
@ZappaUtopia make sure you case and filename is exact for now until that issue is fixed
@markwkidd am going to git the hay will look more though start work early tomorrow but i will look into this more when i get the time for them two games i mean.
@everyone im really sorry about the massive typos lately ive ordered a new keyboard for my laptop
@everyone im really sorry about the massive typos lately ive ordered a new keyboard for my laptop
Gee Grant a new keyboard doesn't make you spell better. That's like saying a pair of new shoes make you jump higher.
@Wilstorm air max do make you jump higher lol its really not funny you need to press some keys really hard lol! Either that or ill just use the desktop. I even thought the keyboard code was bad because of this keyboard!
We will see if this little baby arrives before a month lol https://www.amazon.co.uk/gp/product/B01LN0ZNAW/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1
well just doing my last of today testing the retropie build script (forgot about it)
That looks like it will fit the bill. I like the cherry switches that go clickety-clack and have backlighting. I think you're onto something here. You can jump on the desk/keyboard, You'll jump higher and get a decent keypress no new shoes required.
haha that could work!
this is fantastic i cant stop laughing https://www.youtube.com/watch?v=Ct6BUPvE2sM lol
You shouldn't have told us the keyboard is at fault. Now we will expect proper spelling, punctuation and grammar once that new keyboard arrives. I know a year from now you'll be telling us I'm still waiting for the new keyboard to arrive when we spy a spelling error.
Grammer is out of window since texting arrived its global.
@markwkidd im a little closer to nailing down this fileopen bug. I believe its yest another string optimization bug. I think we will need to be very careful with casting and pay attention to any warnings.
debug without optimization
(gdb) run Starting program: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003-plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg /home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/test --verbose [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1". [INFO] RetroArch 1.7.1 (Git 6fc6bfb) [INFO] Redirecting save file to "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/test.srm". [INFO] Redirecting savestate to "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/test.state". [INFO] === Build ======================================= Capabilities: NEON VFPv3 VFPv4 Built: Mar 19 2018 [INFO] Version: 1.7.1 [INFO] Git: 6fc6bfb [INFO] ================================================= [INFO] [Config]: loading config from: /opt/retropie/configs/mame-libretro/retroarch.cfg. [New Thread 0x71b0d2c0 (LWP 16357)] [ERROR] RetroArch is built for dynamic libretro cores, but libretro_path is not set. Cannot continue. [ERROR] Fatal error received in: "init_libretro_sym()" [ERROR] This core requires a content file, could not load content.
[Thread 0x71b40000 (LWP 16354) exited] [Inferior 1 (process 16354) exited with code 01]
https://github.com/libretro/mame2003-plus-libretro/commit/4ca0fe136a1835a7bc11124cf808f99a7483cba7 that should be us fixed for the load issues mark actually itll load nothing now lol crap ill need to sort it
@grant2258 - Pen Pineapple Apple Pen...instant classic!
For sure, grammar has really has gone downhill with the advent of texting. I don't see it ever recovering.
well this is another retropie problem arrg the fix is working though thats the good news
Well the fix does work on both its because i was testing my script and I changed to the retropie script and didnt take the name change into account when testing the official retropie script my command line was wrong is all.,
backfire deluxe5 hedpanic mchampdx swatpolc superman tangtang
The fix is done please test @ZappaUtopia no more segfaults
@ZappaUtopia if your still getting issues do the following
cd /home/pi/RetroPie-Setup/ sudo git reset --hard sudo git clean -f git fetch origin pull/2398/head:mame2003-plus-fix git checkout mame2003-plus-fix
at this point you compile the 2003 plus core.
if doing it manual do a build, install, configure (the configure is important)
if building from setup it does this all anyway.
test mame in emulation station the segfaults on a none existing file are gone now as well thats fixed on the last commit.
@Wilstorm would you mind testing as well and anyone else
backfire deluxe5 hedpanic mchampdx swatpolc superman tangtang
you should be at commit f880445 when testing
I personally cant get any issues with these games at all again it depends how gcc optimized the code that was bad. im on a pi2 a pi 3 and a pi zero could have different results.
OK, just built from source, again, using your instructions. They still don't work, I give up :) This whole thread has been making me doubt myself about my findings when people keep saying they work fine. It seems i'm the only person testing this on Retropie. I think Wilstorm uses Retropie but his last 5 comments have been nothing to do with MAME :)
I have played several other (working) games but I still don't have any hiscore files in my hi directory !
Does any of this have to do with RetroArch version ? What version are you guys using ? I'm using v1.7.1. (Which is what RetroPie uses).
@ZappaUtopia im doing my best here to try get people involved my retropie is working fine. We will get there just need to figure out whats going on your end. Im testing on retropie myself. on a raspberry pi im assuming your on a raspberry pi as well.
do this (change your rom path)
sudo apt-get install gdb
gdb -args /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003_plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/tangtang.zip"
you will see this screen
GNU gdb (Raspbian 7.12-6) 7.12.0.20161007-git Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "arm-linux-gnueabihf". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /opt/retropie/emulators/retroarch/bin/retroarch...(no debugging symbols found)...done.
type run
when it comes back type bt
and paste the information ( that will tell us some information on your problem as i can recreate it)
the only time ive had random segfaults is when i overclocked the pi but you havent mentioned if youve done this
/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003_plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/mame-libretro/mame2003-plus/mame2003-plus/tangtang.zip" --verbose [INFO] RetroArch 1.7.1 (Git 6fc6bfb)#
ive upgraded to retropie 4.4 and i had to do system update right away after i installed it
if your using retropie 4.4 i stongly suggest you update your system. If your over clocked undo that.
you will have problems updating do this
cd /home/pi/RetroPie-Setup/ git checkout master git branch -D mame2003-plus-fix
run setup then pick update
Before I try your commands i'll just let you know what i'm using. My roms are currently in RetroPie/roms/arcade
. Do I have to change anything in your commands you listed ?
I am using a quite fresh install of the latest RetroPie image (v4.4 Stretch). No overclock. RPi 3.
Just about to have something to eat so I'll check back later.
gdb -args /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003-plus/mame2003_plus_libretro.so --config /opt/retropie/configs/mame-libretro/retroarch.cfg "/home/pi/RetroPie/roms/arcade/tangtang.zip"
I'm using RetroPie. Just built the latest source using @grant2258 's script and found that the following games just exit to emulationstation.
backfire brapboys deluxe5 hedpanic mchampdx shogwarr swatpolc superman tangtang
bang (used to work on an older version of lr-mame2003 but now doesn't work on 2003 or 2003+)
I used the 'Generate DAT' option in the MAME menu and rebuilt the roms.