BlitterStudio / amiberry

Optimized Amiga emulator for Linux/macOS
https://amiberry.com
GNU General Public License v3.0
661 stars 89 forks source link

Builds above 5.6.8 (downloaded or self-compiled) quit unexpectedly on M3 chip and macOS 14.5 #1335

Closed StusBrainDump closed 5 months ago

StusBrainDump commented 6 months ago

Describe the bug As title - Builds above 5.6.8 (downloaded or self-compiled) quit unexpectedly on M3 chip and macOS 14.5

To Reproduce Download an "m1" build above 5.6.8, including preview builds, and it will display the dialog "Amiberry.app quit unexpectedly." Downloading the m1 build of 5.6.8 and running it is successful with no errors.

image

midwan commented 6 months ago

I don't have the hardware to test an Apple Silicon build here, I'm afraid. But here are a few ideas:

Beyond that, I'm not sure what might be wrong, perhaps someone else with access to the hardware might be able to help further...

StusBrainDump commented 6 months ago

Hi

midwan commented 6 months ago

@solskogen maybe you can give this a try and see if you can recreate it? The intel build seems to work fine here, on an old Mac-mini running macOS 14.

solskogen commented 6 months ago

I'm seeing the same thing on my M1.

midwan commented 5 months ago

@StusBrainDump maybe you could try a git bisect (https://git-scm.com/docs/git-bisect) to see which commit broke things? I cannot really test this here, unfortunately.

From what you mentioned so far:

If we can narrow down what change started triggering this, we could probably find a fix.

StusBrainDump commented 5 months ago

Your points are accurate. I'm going to be going on holiday for a week from tomorrow so it may have to wait for now. Will get on it as soon as I can after :)

solskogen commented 5 months ago

I reinstalled my macOS today on my M1 and now, Amiberry just works. Perhaps something happened during Xcode upgrade or something like that? Perhaps try to uninstall and install it.

solskogen commented 5 months ago

Could you also try to reinstall homebrew?

StusBrainDump commented 5 months ago

OK I've successfully reinstalled the dependencies via homebrew as listed on https://github.com/BlitterStudio/amiberry/wiki/Compiling-for-macOS.

However anything above 568 still doesn't work, including the latest 572 (downloaded 572, not tried self-compiled)

solskogen commented 5 months ago

Try Amiberry-preview (6.3.2)

StusBrainDump commented 5 months ago

6.3.2 Fails

HOWEVER ... I've done my own testing of downloading and compiling various commits and have found the following:

amiberry-ee4131061894a30d96e6eaa5976aac13a92376ce - WORKS amiberry-57a76edebb0cf29c284971815c012dd7aa3730a0 - FAILED TO COMPILE amiberry-797c2a835120a7cf0300951f885653df961fba7c - FAILED TO COMPILE amiberry-a8d5ed6723391b498eddcb3e90da4c3cc13b26f7 - FAILED TO COMPILE amiberry-fedad262f37a5576931c523e48489d6aba81c756 - FAILED TO RUN (Quit Unexpectedly) amiberry-cfa9cb0bf517c5013fb14615736d5c866adbc81a - FAILED TO RUN (Quit Unexpectedly)

So from this testing, it appears that amiberry-ee4131061894a30d96e6eaa5976aac13a92376ce was the last commit to compile and run successfully in my setup. Subsequent commits forward in time either failed to compile or produced the "Quit Unexpectedly" error.

Hope that helps somewhere :)

StusBrainDump commented 5 months ago

Last working as per my testing image

midwan commented 5 months ago

It looks like the breaking started after the refactoring to use std::string instead of char* in various places. The WHDBooter code had some references that didn't get updated, so builds failed until that commit (2 commits later). Perhaps there's something I missed, but it doesn't seem to have any issues anywhere else, which is puzzling.

Does it also fail if you skip the GUI? Many of the changes were in the GUI panels, perhaps we can narrow it down if you can test without the GUI (from the command line, that's using the -G option).

StusBrainDump commented 5 months ago

OK I went straight for 572 and went into "Contents/MacOS" and ran "Amiberry -G" and got the below:

image

So it didn't "Quit Unexpectedly" :) Edit: I understand why that error is there, but the good thing is that the app starts.

StusBrainDump commented 5 months ago

OK some further information..... I ran from the commandline without the -G and got this error:

SDLTrueTypeFont::SDLTrueTypeFont. Couldn't open /Users/blah/Documents/Amiberry/Data/AmigaTopaz.ttf Internal error; file src/osdep/gui/main_window.cpp, line 1025 zsh: abort ./Amiberry

AmigaTopaz.ttf indeed doesn't exist. BUT if I run 568 from the commandline it works, despite that file missing.

Could it simply be that I need that file?

StusBrainDump commented 5 months ago

OK, yes that file was missing. Very very odd that previous versions appear to work without it. Now I have that file, 572 works.

midwan commented 5 months ago

That's very odd indeed, considering it's always been part of the distribution, and there's a startup script that copies all relevant files in the Users folder.

Perhaps it was an issue with pre-existing data there, which didn't get overwritten. In other words, perhaps if you renamed the /Users/blah/Documents/Amiberry folder, and let Amiberry recreate it on startup, it would have worked.

In any case, glad to see it works now!