MusicBrainz Picard does not respond on macOS 11 Big Sur Beta

    • Type: Bug
    • Resolution: Fixed
    • Priority: Normal
    • 2.5.0b1
    • Affects Version/s: 2.3.2, 2.4.0b1, 2.4.0b2, 2.4, 2.4.2, 2.4.4
    • Component/s: Packaging & Deployment
    • None
    • Environment:
      [macOS 11.0 (20A4299v), MacBook Pro (2019), GitHub Release],
      [macOS 11.0 (20A5323I, 20A5354I), MacBook Pro 13 Fn-Key (2017); Beta Release (website), 2.4.2 (Github Release), 2.4B3 (Jira)]
      [macOS 11.0 (20A5364e), MacMini (2018)]

      Application launches (passes GateKeeper verification) but does not show any UI after Dock icon finishes bouncing. Control + click icon shows "Application Not Responding". Happens every launch.

       

      I know I'm responsible for using unstable beta software. It could easily be a macOS issue. Just thought you might want to be aware.

          [PICARD-1858] MusicBrainz Picard does not respond on macOS 11 Big Sur Beta

          Philipp Wolfer added a comment - - edited

          This should now also be fixed by Qt 5.15.2, see https://www.riverbankcomputing.com/news/PyQt_v5.15.2_Released

          That means we can look into having a mac build with up-to-date Qt. It will probably mean we provide two versions, one with current Qt version build for newer macOS (at least macOS 10.15 or 11 and later, maybe 10.14), and one with older Qt for older macOS (still aiming at continued support for macOS 10.12). I'll look into this for the 2.6 release.

          See also PICARD-1950

          Philipp Wolfer added a comment - - edited This should now also be fixed by Qt 5.15.2, see https://www.riverbankcomputing.com/news/PyQt_v5.15.2_Released That means we can look into having a mac build with up-to-date Qt. It will probably mean we provide two versions, one with current Qt version build for newer macOS (at least macOS 10.15 or 11 and later, maybe 10.14), and one with older Qt for older macOS (still aiming at continued support for macOS 10.12). I'll look into this for the 2.6 release. See also PICARD-1950

          Thanks a lot for confirming this works. I'll close this issue as fixed. More than likely we will ship Picard 2.5 that way.

          For the general issue of not being able to create a working build of Picard with later PyQt versions I have added PICARD-1950.

          Philipp Wolfer added a comment - Thanks a lot for confirming this works. I'll close this issue as fixed. More than likely we will ship Picard 2.5 that way. For the general issue of not being able to create a working build of Picard with later PyQt versions I have added PICARD-1950 .

          John Walker added a comment -

          Confirming the build posted above works for me, as well, with latest Big Sur beta.  Thank you!

          John Walker added a comment - Confirming the build posted above works for me, as well, with latest Big Sur beta.  Thank you!

          Scott added a comment -

          FYI that build works for me.  I've yet to tag anything but it starts at least.  Thanks.

          Scott added a comment - FYI that build works for me.  I've yet to tag anything but it starts at least.  Thanks.

          GitHub Bot added a comment -

          See code changes in pull request #1633 submitted by phw.

          GitHub Bot added a comment - See code changes in pull request #1633 submitted by phw .

          There is some progress and I got a working build:

          https://s3.eu-central-1.amazonaws.com/artifacts.picard.uploadedlobster.com/MusicBrainz-Picard-2.5.0.dev1%2B45.ff46d6a9.20200925082215.dmg

          Unfortunately I am not so happy with the outcome. In order to get a working build I had to downgrade PyQt5 from 5.13.2 to 5.13.1. Any later version will have the issue that the application stops responding as soon as the mainloop starts running. This is true for even the most simplistic application with only an empty main window.

          Latest available version at the moment would be 5.15.1. We actually stay with version 5.13 for backward compatibility with macOS 10.12. But it is very likely that future Qt versions will contain some fixes for macOS 11, especially to adopt some theming changes. So at some point we should be able to upgrade.

          I actually don't think PyQt5 itself is the fault, as any later version will just be fine when running Picard from source. So probably it is packaging related. Maybe PyQt 5.13.2 changed something that the packaging with PyInstaller had not adopted to. Currently I can't say. I will look into this, but if I don't find something the intermediate fix will likely be to ship the next release with 5.13.1. I don't think we break anything with this minor downgrade.

          Philipp Wolfer added a comment - There is some progress and I got a working build: https://s3.eu-central-1.amazonaws.com/artifacts.picard.uploadedlobster.com/MusicBrainz-Picard-2.5.0.dev1%2B45.ff46d6a9.20200925082215.dmg Unfortunately I am not so happy with the outcome. In order to get a working build I had to downgrade PyQt5 from 5.13.2 to 5.13.1. Any later version will have the issue that the application stops responding as soon as the mainloop starts running. This is true for even the most simplistic application with only an empty main window. Latest available version at the moment would be 5.15.1. We actually stay with version 5.13 for backward compatibility with macOS 10.12. But it is very likely that future Qt versions will contain some fixes for macOS 11, especially to adopt some theming changes. So at some point we should be able to upgrade. I actually don't think PyQt5 itself is the fault, as any later version will just be fine when running Picard from source. So probably it is packaging related. Maybe PyQt 5.13.2 changed something that the packaging with PyInstaller had not adopted to. Currently I can't say. I will look into this, but if I don't find something the intermediate fix will likely be to ship the next release with 5.13.1. I don't think we break anything with this minor downgrade.

          So after another restart it now behaves more or less fine and I can reproduce the issue.

          As mentioned above running from source works, running from app not. Unfortunately it is currently not possible to build the app itself on Big Sur since PyInstaller does not work there, it is affected by the changes in handling the system's dynamic libraries which are now always cached and not available in the file system [1].

          Ultimately this needs to be fixed in Python itself, and there is WIP at [2]. If we are lucky this also is the root cause for the app failing to launch. At the very least this could have

          I also tried older versions, which give interesting results:

          • 2.1.3 and 2.2.0 both run
          • 2.2.1 to 2.2.3 fail the app verification, so don't get executed at all
          • 2.3 and later start to execute and hang before showing UI as described here

          This should help us narrow down the issue a bit more.

          But I will also try building the app on macOS 10.15 with more debug output added so we can narrow down the exact call where it hangs.

          [1] https://github.com/pyinstaller/pyinstaller/issues/5107

          [2] https://github.com/python/cpython/pull/21241

          Philipp Wolfer added a comment - So after another restart it now behaves more or less fine and I can reproduce the issue. As mentioned above running from source works, running from app not. Unfortunately it is currently not possible to build the app itself on Big Sur since PyInstaller does not work there, it is affected by the changes in handling the system's dynamic libraries which are now always cached and not available in the file system [1] . Ultimately this needs to be fixed in Python itself, and there is WIP at [2] . If we are lucky this also is the root cause for the app failing to launch. At the very least this could have I also tried older versions, which give interesting results: 2.1.3 and 2.2.0 both run 2.2.1 to 2.2.3 fail the app verification, so don't get executed at all 2.3 and later start to execute and hang before showing UI as described here This should help us narrow down the issue a bit more. But I will also try building the app on macOS 10.15 with more debug output added so we can narrow down the exact call where it hangs. [1] https://github.com/pyinstaller/pyinstaller/issues/5107 [2] https://github.com/python/cpython/pull/21241

          Scott added a comment -

          I have instaledl Xcode so if you need me to compile something let me know.

          Big Sur public beta isn't too bad.  I'm using it all day every day and while there are many little bugs it's quite usable (on my MBP13).

          I guess it's macOS 11 for a reason.  Of course my old MBP13 is in the wings running Mojave for emergencies (like tagging music)

          Scott added a comment - I have instaledl Xcode so if you need me to compile something let me know. Big Sur public beta isn't too bad.  I'm using it all day every day and while there are many little bugs it's quite usable (on my MBP13). I guess it's macOS 11 for a reason.  Of course my old MBP13 is in the wings running Mojave for emergencies (like tagging music)

          I think because there is no pre-compiled version of PyQt5 for Big Sur this needs to be installed, and for this you need Xcode or at least the Command Line Tools for Xcode installed.

          Now I actually took the effort to make room on my macmini to have a separate partition to install Big Sur on it. Install mostly went fine, but the installed OS turns out to be a pile of useless garbage. Boot time to a usable desktop is ridiculous long, and usable desktop is an overstatement anyway. I managed to install and start iTerm2, but apart from that nothing really works. It found an update to Beta 8, first attempt to install it just sat on 0% for several hours. Had to reboot, then it worked. Launching /usr/bin/python3 does nothing, just sits there until I gave up 20 minutes later. Same happens with other really simple tools like gettext. General CPU usage during this time is rather low, only XprotectService is constantly using 15-25% CPU while also crunching through gigabytes of data. Currently trying to launch "/Applications/MusicBrainz\ Picard.app/Contents/MacOS/picard-run --debug", it's going for 20 minutes now without a single line output.

          I'll let this run now during the day. But if this does not work out I'm done with this. Wake me up once Apple manages to deliver a usable OS.

          Philipp Wolfer added a comment - I think because there is no pre-compiled version of PyQt5 for Big Sur this needs to be installed, and for this you need Xcode or at least the Command Line Tools for Xcode installed. Now I actually took the effort to make room on my macmini to have a separate partition to install Big Sur on it. Install mostly went fine, but the installed OS turns out to be a pile of useless garbage. Boot time to a usable desktop is ridiculous long, and usable desktop is an overstatement anyway. I managed to install and start iTerm2, but apart from that nothing really works. It found an update to Beta 8, first attempt to install it just sat on 0% for several hours. Had to reboot, then it worked. Launching /usr/bin/python3 does nothing, just sits there until I gave up 20 minutes later. Same happens with other really simple tools like gettext. General CPU usage during this time is rather low, only XprotectService is constantly using 15-25% CPU while also crunching through gigabytes of data. Currently trying to launch "/Applications/MusicBrainz\ Picard.app/Contents/MacOS/picard-run --debug", it's going for 20 minutes now without a single line output. I'll let this run now during the day. But if this does not work out I'm done with this. Wake me up once Apple manages to deliver a usable OS.

          Scott added a comment -

          $ pip3 list
          Package Version
          ---------- -------
          pip 19.2.3
          setuptools 41.2.0
          six 1.15.0
          wheel 0.33.1
          WARNING: You are using pip version 19.2.3, however version 20.2.3 is available.
          You should consider upgrading via the 'pip install --upgrade pip' command.

          Scott added a comment - $ pip3 list Package Version ---------- ------- pip 19.2.3 setuptools 41.2.0 six 1.15.0 wheel 0.33.1 WARNING: You are using pip version 19.2.3, however version 20.2.3 is available. You should consider upgrading via the 'pip install --upgrade pip' command.

            Assignee:
            Philipp Wolfer
            Reporter:
            Yi Ding
            Votes:
            6 Vote for this issue
            Watchers:
            12 Start watching this issue

              Created:
              Updated:

                Version Package
                2.5.0b1