pyfa-org / Pyfa

Python fitting assistant, cross-platform fitting tool for EVE Online
GNU General Public License v3.0
1.59k stars 402 forks source link

Dependency update: macOS release tracking issue #2548

Open DarkFenX opened 7 months ago

DarkFenX commented 7 months ago

This issue is for tracking major issues which appeared with release of https://github.com/pyfa-org/Pyfa/releases/tag/v2.57.3

Report inability to launch pyfa, crashes, weird looking UI here.

Changes relatively latest release: just dependencies were updated, but it should fix inability to launch pyfa on newer macOS versions

DarkFenX commented 7 months ago

Ok I'll start. I got baited into thinking macOS release works fine. But, just tested it, by the looks of it it doesn't launch of intel mac on macOS Monterey (12.6.1), shows generic "is damaged and can't be opened" prompt, same when launching from terminal, any idea how to debug it?

elDante commented 7 months ago

Deleting the com.apple.quarantine attribute solves the startup error. I can't figure out why the standard “pyfa” cannot be opened because the developer cannot be verified. message replaced to the is damaged...

DarkFenX commented 7 months ago

Yep, neither I am.

xattr -cr pyfa.app resolved issue for me. But distributing it this way might be bad. Might look into what signing takes (last time i checked it took a couple of hundred of usd a year for certificate).

elDante commented 7 months ago

The dev version comes with _CodeSignature/CodeResources file. Do you have a CI log of the v2.57.0dev1 and v2.56.0 versions? Maybe, a version of the PyInstaller changed during the changes.

DarkFenX commented 7 months ago

Yes, it did, from 3.6 to 6.2 (quite a jump). If anyone has any idea how to disable it from creating that file, do share. I can look into it myself later.

edit: alternatively, I can just delete it after build process before packing build up

DarkFenX commented 7 months ago

@elDante actually that file contains some info. Can you tell which bit triggers this error message? Or is it very existence of the file? (i can't do it myself atm)

elDante commented 7 months ago

PyInstaller team added code signing from the 4.5 version. If a user doesn't provide a certificate for sign it uses default ad-hoc. I'm trying to find out why the Mac OS decided to place this app in quarantine.

elDante commented 7 months ago

@DarkFenX I think I understood the problem: Need to remove the modification of the signed app from scripts/osx-package.sh. You can add the version directly in the dist_assets/mac/pyfa.spec file.

For the previous version spctl returns:

pyfa.app: rejected
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>assessment:authority</key>
        <dict>
                <key>assessment:authority:flags</key>
                <integer>0</integer>
                <key>assessment:authority:source</key>
                <string>no usable signature</string>
        </dict>
        <key>assessment:remote</key>
        <true/>
        <key>assessment:verdict</key>
        <false/>
</dict>
</plist>

But for the new:

pyfa.app: invalid Info.plist (plist or signature have been modified)
DarkFenX commented 7 months ago

Maybe it works like in windows (before enough users launched it, it puts it into "quarantine" and makes it harder to launch it)?

edit:

Need to remove the modification of the signed app

Okay thanks, I will look into it

DarkFenX commented 7 months ago

Should be fixed in c230480464b91b5de6e3e045a2d5c976103ee868, I will link build once it's done

DarkFenX commented 7 months ago

It fixed issue with quarantine. Now I get "pyfa can't be opened because Apple cannot check it for malicious software" prompt, with "OK" and "Show in finder" options. After that, I can open security settings and force open it.

The build is available here: https://ci.appveyor.com/project/pyfa-org/pyfa/builds/48675474/job/rqn6nrelab9ebtc1/artifacts

I think it's different now (because it used to direct me to security settings), but at least it works

elDante commented 7 months ago

Yep. I think the gatekeeper couldn't check the code because it signed... I tried to unsign app after build but the application stops working.

Anyway, do you have plans to build the universal app (now it intel architecture)? And switch to GitHub actions?

DarkFenX commented 7 months ago

https://github.com/pyfa-org/Pyfa/releases/tag/v2.57.0dev2 fixed version

Anyway, do you have plans to build the universal app (now it intel architecture)? And switch to GitHub actions?

I have "nextgen" pyfa somewhere in early development stage (currently doing calculations engine, ~60-70% done). It is a kind of a pipe dream, but nevertheless I'd prefer to spend the least effort on maintaining current pyfa version. So, unless I absolutely have to, I do not. But if someone can help me with that - I will gladly accept it.

Anyone willing to help can poke me on discord darkfenx.

CharlieR13 commented 7 months ago

I can open dev2 on my M1Pro MacBook Pro(running Sonoma 14.1.2), but after I clicked Global - preferences, following error message appeared:

pyfa v2.57.0dev2 EVE Data Version: 2438956 (2023-11-30 19:44:04)

OS version: macOS-10.16-x86_64-i386-64bit Python version: 3.11.0 (main, Dec 8 2022, 16:43:53) [Clang 12.0.0 (clang-1200.0.32.28)] wxPython version: 4.2.1 (wxWidgets 3.2.2.1) SQLAlchemy version: 1.4.50 Logbook version: 1.7.0.post0 Requests version: 2.31.0 Dateutil version: 2.8.2

####################

Traceback (most recent call last): File "gui/mainFrame.py", line 486, in OnShowPreferenceDialog File "gui/preferenceDialog.py", line 68, in init File "gui/builtinPreferenceViews/pyfaGeneralPreferences.py", line 56, in populatePanel File "gui/builtinPreferenceViews/pyfaGeneralPreferences.py", line 56, in File "gui/builtinPreferenceViews/pyfaGeneralPreferences.py", line 52, in langDisplay File "service/settings.py", line 575, in get_progress KeyError: 'fr_FR'

DarkFenX commented 7 months ago

Should be fixed in cc0d6465d6b6955378fa85cbe198cc541539999e (will be included in next release). Also I don't think it's dependency update-related issue, it's something generic (which breaks when crowdin fails to provide data for one of languages during build process).

Grange-Nagy commented 6 months ago

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libwx_osx_cocoau_core-3.2.0.2.1.dylib 0x1183c94dc wxListMainWindow::HighlightLine(unsigned long, bool, wxListMainWindow::SendEvent) + 60

only rosetta pyfa does this, seemingly at random

I'll look into it after finals

DarkFenX commented 6 months ago

FYI there are random crashes on linux too. I don't know what predicates them, but final trigger is double-click to remove some item (i.e. drone). I couldn't find the cause of it.