Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dependency update: macOS release tracking issue #2548

Open
DarkFenX opened this issue Dec 4, 2023 · 17 comments
Open

Dependency update: macOS release tracking issue #2548

DarkFenX opened this issue Dec 4, 2023 · 17 comments

Comments

@DarkFenX
Copy link
Member

DarkFenX commented Dec 4, 2023

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
Copy link
Member Author

DarkFenX commented Dec 4, 2023

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
Copy link

elDante commented Dec 4, 2023

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
Copy link
Member Author

DarkFenX commented Dec 4, 2023

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
Copy link

elDante commented Dec 4, 2023

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
Copy link
Member Author

DarkFenX commented Dec 4, 2023

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
Copy link
Member Author

DarkFenX commented Dec 4, 2023

@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
Copy link

elDante commented Dec 4, 2023

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
Copy link

elDante commented Dec 4, 2023

@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
Copy link
Member Author

DarkFenX commented Dec 4, 2023

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
Copy link
Member Author

DarkFenX commented Dec 4, 2023

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

@DarkFenX
Copy link
Member Author

DarkFenX commented Dec 4, 2023

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
Copy link

elDante commented Dec 4, 2023

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
Copy link
Member Author

DarkFenX commented Dec 4, 2023

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
Copy link

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
Copy link
Member Author

DarkFenX commented Dec 5, 2023

Should be fixed in cc0d646 (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
Copy link
Contributor

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
Copy link
Member Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants