MAMEWorld >> EmuChat
View all threads Index   Threaded Mode Threaded  

Pages: 1

casm
Cinematronics > *
Reged: 08/27/07
Posts: 668
Send PM


MAME 0.182 only runs once under macOS Sierra (10.12.3)
#363049 - 01/29/17 03:10 PM


This is a weird one.

Build environment: OS X Sierra (10.12.3), Xcode 8.2.1, clang-800.0.42.1, SDL is installed as native frameworks (both 1.2.15 and 2.0.5), and SUBTARGET=arcade is set at build time. MAME builds fine - no errors, no warnings.

My usual quick test to see if I have a functional binary post-build (`mamearcade64 pacman -rompath /path/to/roms`) works fine: Pac-Man starts up, coins up, and plays with controls and audio. So far, so good.

However, attempting to start any game after that initial test run results in a black screen with the pointer on top of it (the pointer is controllable), and I have to force quit the emulator with CMD-OPTION-ESC in order to get out of it.

It doesn't seem to matter what the test game is, or the one that is specified on subsequent launches. You get one successful startup and that's it. Note that I have been testing out of 'clean' directories with fresh configs, etc. so this likely isn't a case of an older configuration, NVRAM, etc. file causing an issue.

Downloaded the official 0.182 binary from http://sdlmame.lngn.net/ and got the same result, so doubt that it's my build environment.

0.181 was running fine on here a few days ago. About the only thing I can think of that's changed is that the 10.12.3 update to OS X was pushed down recently. Unfortunately, I don't recall if I ran 0.181 after that was installed or not, so can't give a direct comparison.

Has anyone else seen this behaviour? It's really odd and I'm wondering if this isn't down to a change Apple made rather than something to do with MAME.



casm
Cinematronics > *
Reged: 08/27/07
Posts: 668
Send PM


Re: Now with logfiles [mt] new [Re: casm]
#363051 - 01/29/17 03:54 PM Attachment: 0.182_osx_startup_logs.zip 6 KB (2 downloads)


Three logfiles attached. Commandline for each run was `./mamearcade64 pacman -rompath /path/to/roms/ -v -log`; this was straight from the build directory on a fresh build from clean source.

There is no error log for the botched run - MAME didn't generate one, so no point in attaching a zero-length file



casm
Cinematronics > *
Reged: 08/27/07
Posts: 668
Send PM


Re: Just realised something that may be worth mentioning. new [Re: casm]
#363155 - 02/03/17 06:37 AM


> 0.181 was running fine on here a few days ago. About the only thing I can think of
> that's changed is that the 10.12.3 update to OS X was pushed down recently.
> Unfortunately, I don't recall if I ran 0.181 after that was installed or not, so
> can't give a direct comparison.

This hadn't occurred to me when I made the original post, but it may be relevant.

I did a clean install of 10.12.2 about three weekends ago. When I say 'clean install', I mean it: it was a total reinstall of the OS and applications from scratch. No Time Machine recoveries, no 'let's sync your Mac' stuff... Just a nuke and manual rebuild.

Now, one of the few things that was brought over from manual backups was MAME 0.181. The binary for this had been built under Yosemite (10.10.5, IIRC; I skipped El Capitan entirely). Under 10.12.2, it ran without issue.

I built MAME 0.182 after the 10.12.3 update, and I don't believe that I ever ran the 0.181 binary after that update. Unfortunately, I overwrote my 0.181 binary with 0.182 because on first run my 0.182 binary looked good... But if I'd run it a second time I would have known not to overwrite. Dumb move on my behalf, but that's my fault.

Anyway, I figured I'd mention this in case it's useful.



casm
Cinematronics > *
Reged: 08/27/07
Posts: 668
Send PM


Built 0.181 for comparison; got the same result [mt] new [Re: casm]
#363534 - 02/15/17 01:13 AM


Totally clean makefile - just did `make SUBTARGET=arcade -j8` after extracting the source. Played Pac-Man once without issue, then had exactly the same symptoms as under 0.182.

Am I the only one experiencing this issue? It's just bizarre.



R. Belmont
Cuckoo for IGAvania
Reged: 09/21/03
Posts: 9716
Loc: ECV-197 The Orville
Send PM


Re: MAME 0.182 only runs once under macOS Sierra (10.12.3) new [Re: casm]
#363560 - 02/15/17 06:55 PM


I'm doing active MAME development on my 2013 i7 MacBook Air running Sierra (actually the latest developer beta) and I'm having no problems.

To clarify: the problem is running multiple games per MAME session (exiting back to the built-in front end), or quitting out of MAME and then running it again?



casm
Cinematronics > *
Reged: 08/27/07
Posts: 668
Send PM


Re: MAME 0.182 only runs once under macOS Sierra (10.12.3) new [Re: R. Belmont]
#363562 - 02/15/17 08:06 PM


> I'm doing active MAME development on my 2013 i7 MacBook Air running Sierra (actually
> the latest developer beta) and I'm having no problems.

Hm. Weird. I'm on a late-2011-era I7 MacBook Pro (8,2) that I've had since, well, late 2011. I've seen build issues on this machine before (usually when I've done something dumb), but never anything like this.

> To clarify: the problem is running multiple games per MAME session (exiting back to
> the built-in front end), or quitting out of MAME and then running it again?

For clarification: I'm not using the built-in UI, just running MAME in single shots from Terminal. Trying to run two games in a row followed by just the binary without any switches would look like the following:


Code:

lolbox:~ casm$ ./mamearcade64 pacman -rompath /path/to/roms/ 
Average speed: 100.00% (13 seconds)
lolbox:~ casm$ ./mamearcade64 rtype -rompath /path/to/roms/
Killed: 9
lolbox:~ casm$ ./mamearcade64
Killed: 9
lolbox:~ casm$



The first run is completely normal; MAME starts up, runs Pac-Man, the game coins up, plays, and I quit it using the ESC key. No problems there.

On the subsequent two runs, the screen is completely black with the OS X pointer on top; at no point does the game start or seem to run blind. The pointer is controllable via the trackpad while this is happening.

However, I cannot exit with ESC as usual and instead have to blindly Force Quit out using CMD-OPTION-ESC on both runs. By "blindly Force Quit out," I mean that the usual Force Quit dialog doesn't pop up - it's a case of hit CMD-OPTION-ESC and wait for the black screen to time out back to the Terminal.

I did do some experimentation with tossing the -window switch onto the commandline and found that the results were pretty much the same: on the first run, everything's fine. On subsequent runs, I just get an all-white window with no indication of anything running and have to do the CMD-OPTION-ESC force quit. However, the standard Force Quit dialog does pop up in this situation.

One other thing I've noticed: if the mamearcade64 binary is moved to a different directory than the one it was last run from, it'll work again - for the first run, anyway, at which point the pattern repeats. In my setup it typically lives in /opt/local/bin, but if I move it to (for example) ~/Desktop/testrun, it will repeat the cycle from that location even if it had failed to run previously from /opt/local/bin.

This behaviour was first noticed when I tried running 0.182 via QMC2 0.71; I reverted to the commandline after that to try tracking down what the cause may be.

Let me know if any of this doesn't make sense and I'll do my best to clarify. FWIW, the only other 64-bit Mac I have sitting around here is an old Core2 Mac Mini (also running 10.12.3); I'll try moving the binary over there later and see what happens.



casm
Cinematronics > *
Reged: 08/27/07
Posts: 668
Send PM


Late addition: couple of things I forgot [mt] new [Re: casm]
#363563 - 02/15/17 08:22 PM


Forgot these in my earlier reply; adding them for reference.


  • Adding '-createconfig' to the commandline doesn't seem to make any difference to the behaviour one way or the other, but the config files are created as expected and look OK.
  • After the first successful run, the 'cfg' directory is created. I tried symlinking this to /dev/null both before and after a successful run in case something in there was throwing things off; no change in behaviour.
  • If running just the mamearcade64 binary with no additional switches (i.e., to force the UI to come up), there is an '___empty.cfg' (three leading underscores) file left in cfg/ . Not sure if this is normal behaviour or not since I don't use the built-in UI, but it only applies to a successful first run, not subsequent failed ones.


There are a couple of other things I'm not remembering right now; I'll add them if they come back to me.



R. Belmont
Cuckoo for IGAvania
Reged: 09/21/03
Posts: 9716
Loc: ECV-197 The Orville
Send PM


Re: Late addition: couple of things I forgot [mt] new [Re: casm]
#363564 - 02/15/17 08:34 PM


Does -video soft / -video bgfx change anything? And is your SDL.Framework 2.0.5?



casm
Cinematronics > *
Reged: 08/27/07
Posts: 668
Send PM


Re: Late addition: couple of things I forgot [mt] new [Re: R. Belmont]
#363565 - 02/15/17 08:54 PM


> Does -video soft / -video bgfx change anything? And is your SDL.Framework 2.0.5?

For the first part:


Code:

lolbox:~ casm$ /opt/local/bin/mamearcade64 pacman -video soft -rompath /path/to/roms/
Average speed: 100.00% (65 seconds)
lolbox:~ casm$ /opt/local/bin/mamearcade64 rtype -video soft -rompath /path/to/roms/
Killed: 9
lolbox:~ casm$



I don't have any bgfx shaders available (running the binary standalone for testing; no bgfx directory present), so get a segfault when trying -video bgfx:


Code:

lolbox:~ casm$ /opt/local/bin/mamearcade64 pacman -video bgfx -rompath /path/to/roms/
Unable to open effect file bgfx/effects/gui_opaque.json
Unable to open effect file bgfx/effects/gui_blend.json
Unable to open effect file bgfx/effects/gui_multiply.json
Unable to open effect file bgfx/effects/gui_add.json
Unable to open effect file bgfx/effects/screen_opaque.json
Unable to open effect file bgfx/effects/screen_blend.json
Unable to open effect file bgfx/effects/screen_multiply.json
Unable to open effect file bgfx/effects/screen_add.json
Ignoring MAME exception: BGFX: Unable to load required shaders. Please check and reinstall the bgfx folder

Fatal error: BGFX: Unable to load required shaders. Please check and reinstall the bgfx folder

Segmentation fault: 11
lolbox:~ casm$



I'll look into this a bit later on; will have to grab fresh source & rebuild.

For the second part: SDL2.framework is 2.0.5, installed from the libsdl.org package installer; tried a reinstall a couple of days ago with no success. 1.2.15 is also installed under /Library/Frameworks, but that shouldn't be an issue (I think).



casm
Cinematronics > *
Reged: 08/27/07
Posts: 668
Send PM


But 0.183 looks OK so far [mt] new [Re: casm]
#363930 - 02/28/17 01:36 AM


Been busy so only just getting around to looking into this again.

Built 0.183 from scratch; makefile was unaltered. The issue does not seem to be repeating itself in this version, either from commandline or in QMC2.

System environment is pretty much unchanged except for application updates, but I doubt that they would have had anything to do with it.

I'm going to try running off a few more builds with some modifications to the makefile, but things are looking up.


Pages: 1

MAMEWorld >> EmuChat
View all threads Index   Threaded Mode Threaded  

Extra information Permissions
Moderator:  Robbbert, Tafoid 
1 registered and 675 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 2013