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

Pharo.app fails to launch on OS X 10.15 and above, saying to contact the developer. #9833

Open
gregspurrier opened this issue Aug 26, 2021 · 5 comments

Comments

@gregspurrier
Copy link

gregspurrier commented Aug 26, 2021

Bug description
Pharo.app fails to launch on OS X 10.15 and above because the application has not been notarized. Instead of seeing the Pharo World, the user is presented with this disconcerting message:

Screen Shot 2021-08-25 at 4 31 49 PM

Note that there is no option for the user to override this check and continue. I believe this experience is negative enough to dissuade many casual potential OS X users of Pharo from giving it a try. It's probably also preventing more interested users as well.

To Reproduce
Steps to reproduce the behavior:

  1. Download the Pharo standalone package for mac on a Mac running OS X 10.15 or later.
  2. Unzip the archive
  3. Launch the Pharo.app found inside
  4. See the error message shown above.

Expected behavior

Instead of showing the dialog box warning of potential malicious code, it should have the behavior of a notarized app and allow the user to continue (assuming they have "Allow apps downloaded from App Store and identified devlopers" enabled under the Security & Privacy settings). E.g., here is what is shown from a recent release of Squeak:

Screen Shot 2021-08-25 at 4 43 46 PM

This is a much less onerous warning message and the user is able to continue to launch the app and not be bothered with the warning again.

Version information:

  • OS: OS X
  • Version: 10.15.7
  • Pharo Version 9.0.0

Expected development cost

I do not know how much work it would be to add notarization of OS X builds to Pharo's Jenkins pipeline. I'd be willing to help, but have neither Pharo build—I'm a new user wanting to give Pharo a try!—nor Apple application notarization experience.

I did attempt to build my own VM following the instructions here, but ran into issues. I received some help in the vm channel on discord, but, realistically, I'd need quite a bit more help to advance this issue. I'd be very happy to help test, though.

Additional context
Searching for similar issues, I came across #6828. That issue has a link to the documentation for notarizing the app and explains some of the motivation for doing so. It hasn't received any response. I'm hoping that a new issue focused on the user experience may get some attention.

@welcome
Copy link

welcome bot commented Aug 26, 2021

Thanks for opening your first issue! Please check the CONTRIBUTING documents for some tips about which information should be provided. You can find information of how to do a Pull Request here: https://github.com/pharo-project/pharo/wiki/Contribute-a-fix-to-Pharo

GitHub
Pharo is a dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk. - Contribute a fix to Pharo · pharo-project/pharo Wiki

@Ducasse
Copy link
Member

Ducasse commented Aug 27, 2021

Hi greg

Thanks for your bug report.
Pharo works on the M1 architecture.
You have to declare in the security manager that it is ok to execute pharo.
Did you declare it?

S

@Ducasse
Copy link
Member

Ducasse commented Aug 27, 2021

Ok OS X 10.15 is Catalina and not BigSur.

@gregspurrier
Copy link
Author

gregspurrier commented Aug 27, 2021

Hi Stéphane.

Thank you for reading my bug report. Correct, I'm running on Catalina on a 2-year-old MacBook Pro. M1 is not a factor. However, I believe that users of Big Sur would encounter the same issue, based on this comment in Apple's notarization documentation:

Important

Beginning in macOS 10.14.5, software signed with a new Developer ID certificate and all new or updated kernel extensions must be notarized to run. Beginning in macOS 10.15, all software built after June 1, 2019, and distributed with Developer ID must be notarized. However, you aren’t required to notarize software that you distribute through the Mac App Store because the App Store submission process already includes equivalent security checks.

I did not declare in the security manager that it is OK to execute Pharo. In my opinion, Pharo should not require me to do so. This bug report is requesting that the VM be notarized so that bypassing the security checks is unnecessary.

I believe that having notarized macOS builds for Pharo is important for two reasons:

  1. It would be good for adoption of Pharo. Some potential users, perhaps many, won't make it past the "This software needs to be updated. Contact the developer for more information" warning dialog.
  2. It would be better to not get users into the habit of bypassing security settings in order to run software they downloaded from the internet.

I did some research and it appears that Squeak uses a tool called xcnotary to help with the notarization of its builds. The usage is shown here in their build script. I understand that Pharo uses a different build pipeline, but I hope this information can aid in estimating the amount of work involved.

@Ducasse
Copy link
Member

Ducasse commented Sep 8, 2021

Thanks we will work on the notorization during this month cycle.

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

No branches or pull requests

2 participants