musescore / MuseScore

MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
https://musescore.org
Other
12.08k stars 2.61k forks source link

Crashing upon opening on macOS Sonoma 14.6 #23970

Open ayyydoc opened 1 month ago

ayyydoc commented 1 month ago

Issue type

Crash or freeze

Description with steps to reproduce

  1. Open MuseScore 4
  2. The MuseScore 4 logo will show just for it to crash.

I have already tried to factory reset my MuseScore 4[ per the instructions listed here](https://musescore.org/en/handbook/4/r This fixes the problem temporarily; then, it goes right back to crashing. I have attached a video and the crash report that I copied and pasted from the dialog.

This temporarily fixes the problem, but then it goes right back to crashing. It's pretty frustrating, and this is really the first time I've had an issue with MuseScore in its new version.

I've checked the forum for a formal report matching my circumstances but have yet to find one. I hope my search was comprehensive lest I've duplicated an existing case.

Please let me know if you need additional information.

My best!!

— DANIEL B

Supporting files, videos and screenshots

https://github.com/user-attachments/assets/972b4ca7-6eea-470e-9207-a7bdebf5542b

Problem Report for MuseScore Studio.txt

What is the latest version of MuseScore Studio where this issue is present?

4.3.2

Regression

Yes, this used to work in a previous version of MuseScore 4.x

Operating system

macOS Sonoma 14.6

Additional context

No response

Checklist

cbjeukendrup commented 1 month ago

Thanks for this report! The crash report looks very similar to https://github.com/musescore/MuseScore/issues/23277; so this issue might turn out to be a duplicate of that one, but perhaps let's keep both open for now, just in case.

The difficulty with this crash is that on the one hand it is critical, because it means you can't use MuseScore at all, but on the other hand we cannot reproduce it ourselves, so it is almost impossible for us to fix it.

Perhaps the fact that a factory reset temporarily fixes it can give us a clue. Could you try the following:

  1. Perform factory reset
  2. Close and reopen MuseScore, without doing anything in between; repeat arbitrarily many times. I wonder whether it will start crashing again when just opening/closing and doing nothing in between. If yes, after how often? If not, of course you can't be 100% sure, because you can never know how many times you need to try before it starts crashing, but still, if it doesn't crash after a reasonable amount of tries, that might be a clue.

Depending on the result of that test, a next test would be:

  1. Perform factory reset
  2. Open MuseScore
  3. Perform one very simple action (e.g. opening some dialog and directly closing it; or opening a score and closing it)
  4. Close MuseScore

And again, repeat this a few times, but do the same in-between action every time. If the chosen action doesn't result in a crash after a few attempts, try another action.

This way, you might be able to find out which in-between action results in a crash on the next launch.

Thanks in advance!

cbjeukendrup commented 1 month ago

@ayyydoc Sorry, one more request: after reproducing the crash, could you please do the following:

  1. Open Finder
  2. Press Cmd+Shift+G
  3. Paste ~/Library/Application Support/MuseScore/ and press Return
  4. Ctrl+click the MuseScore4 folder and choose "Compress" from the menu
  5. Upload the resulting ZIP file here
  6. After doing that, you can delete the ZIP file again, because you won't need it anymore

Thanks!

ayyydoc commented 1 month ago

Thanks for this report! The crash report looks very similar to #23277; so this issue might turn out to be a duplicate of that one, but perhaps let's keep both open for now, just in case.

The difficulty with this crash is that on the one hand it is critical, because it means you can't use MuseScore at all, but on the other hand we cannot reproduce it ourselves, so it is almost impossible for us to fix it.

Perhaps the fact that a factory reset temporarily fixes it can give us a clue. Could you try the following:

  1. Perform factory reset
  2. Close and reopen MuseScore, without doing anything in between; repeat arbitrarily many times. I wonder whether it will start crashing again when just opening/closing and doing nothing in between. If yes, after how often? If not, of course you can't be 100% sure, because you can never know how many times you need to try before it starts crashing, but still, if it doesn't crash after a reasonable amount of tries, that might be a clue.

Depending on the result of that test, a next test would be:

  1. Perform factory reset
  2. Open MuseScore
  3. Perform one very simple action (e.g. opening some dialog and directly closing it; or opening a score and closing it)
  4. Close MuseScore

And again, repeat this a few times, but do the same in-between action every time. If the chosen action doesn't result in a crash after a few attempts, try another action.

This way, you might be able to find out which in-between action results in a crash on the next launch.

Thanks in advance!

Thank you so much!! Here's a result of what I did:

FIRST TEST:

SECOND TEST:

ayyydoc commented 1 month ago

3. ~/Library/Application Support/MuseScore/

MuseScore4.zip Thank you!

cbjeukendrup commented 1 month ago

Thanks! I'll think about these results, hopefully they will lead to ideas.

cbjeukendrup commented 3 weeks ago

Last week I learnt the hard way that Qt bugs often don't appear on Google, so one has to look explicitly in their issue tracker. So I did that for this crash, and indeed found something: https://bugreports.qt.io/browse/QTBUG-124750. It doesn't have exactly the same crash log, but similar enough to believe it's about the same thing. The problem: they are in the same situation of not being able to reproduce it themselves and thus not being able to fix it.

However, this does bring us one step closer to a solution. The report mentions that it has to do with closing a widget. When starting MuseScore, there is indeed a widget being closed, namely the splash screen! To test this theory, here is a build with the splash screen removed: https://github.com/musescore/MuseScore/actions/runs/10444589993. It would be great if you could download this build and try whether the crash can be reproduced in it.

(Edit: perhaps I should provide some context about what Qt is. Qt is a toolkit to build apps for multiple operating systems, and MuseScore uses that. Sporadically, there is a bug in Qt; and that means that MuseScore and all other apps that use Qt will also have that bug. That seems to be the case here. So the problem can't be fixed in MuseScore itself, but will have to be fixed in Qt. So we can do two things: 1. investigate the problem in Qt, contribute a fix to Qt, wait for them to accept it and release an update, and then switch to the updated Qt version; or 2. work around the problem, for example by providing users an option in "Advanced preferences" to disable the splash screen.)

cbjeukendrup commented 3 weeks ago

There is even better news. I scrolled a bit further in the Qt issue tracker, and found https://bugreports.qt.io/browse/QTBUG-106369. That report doesn't include a stack trace, but I'm 99% sure it's about the same problem. And, this issue has been fixed in Qt 6.2.8! We were planning to switch to Qt 6.2.9 anyway because of another issue. I've created a "pull request" here, that makes the switch: https://github.com/musescore/MuseScore/pull/24095 If you could test this version, that would be great. See https://github.com/musescore/MuseScore/wiki/Downloading-and-running-test-builds#downloading-builds-from-pull-requests for some instructions.

Jojo-Schmitz commented 3 weeks ago

The splash screen can also get disabled in preferences, of course not if MuseScore doesn't even start, but then maybe by manually tweaking the settings file?

ayyydoc commented 3 weeks ago

There is even better news. I scrolled a bit further in the Qt issue tracker, and found https://bugreports.qt.io/browse/QTBUG-106369. That report doesn't include a stack trace, but I'm 99% sure it's about the same problem. And, this issue has been fixed in Qt 6.2.8! We were planning to switch to Qt 6.2.9 anyway because of another issue. I've created a "pull request" here, that makes the switch: #24095 If you could test this version, that would be great. See https://github.com/musescore/MuseScore/wiki/Downloading-and-running-test-builds#downloading-builds-from-pull-requests for some instructions.

Apologies for my late response!

Thank you so much for your reply. I find it encouraging that there seems to be a breakthrough of sorts.

Unfortunately, I cannot run this build.

I followed the instructions, but every time I try to use it, I get this prompt.

Screenshot 2024-08-24 at 10 58 43

I click Allow, but no matter what, it doesn't open the application at all. Whether I click allow or don't allow doesn't matter: it stays doing that.

Any ideas on how to troubleshoot this?

Thank you!!

cbjeukendrup commented 3 weeks ago

Ah. This series of popups is finite, but can be difficult to get through. This happens when running an unsigned build on Apple Silicon Macs. I'll see if I can create a signed version, but that will take a while. Will get back to you!

ayyydoc commented 3 weeks ago

Ah. This series of popups is finite, but can be difficult to get through. This happens when running an unsigned build on Apple Silicon Macs. I'll see if I can create a signed version, but that will take a while. Will get back to you!

In that case, I'll power through. I have some time before I have to head out for the day

Thanks for the heads up

cbjeukendrup commented 3 weeks ago

There is one thing you can try, and that is:

  1. Open Terminal
  2. Type codesign --force --sign - (with the trailing space)
  3. Drag the MuseScore app icon onto the Terminal window, so that Terminal fills in the full path to the MuseScore app
  4. Press Return to execute the resulting command

If it works, this signs the build for running locally, which means that it will work on your machine. But I'm not sure if codesign is a built-in macOS command or that it only comes when you install Xcode. So you might get an error saying "command codesign not found". I don't want to make you install Xcode just because of this, because it takes so much disk space.

Anyway, you can try this and in the meantime I will create a signed build.

ayyydoc commented 3 weeks ago

There is one thing you can try, and that is:

  1. Open Terminal
  2. Type codesign --force --sign - (with the trailing space)
  3. Drag the MuseScore app icon onto the Terminal window, so that Terminal fills in the full path to the MuseScore app
  4. Press Return to execute the resulting command

If it works, this signs the build for running locally, which means that it will work on your machine. But I'm not sure if codesign is a built-in macOS command or that it only comes when you install Xcode. So you might get an error saying "command codesign not found". I don't want to make you install Xcode just because of this, because it takes so much disk space.

Anyway, you can try this and in the meantime I will create a signed build.

I just went through all the prompts, and now I'm in the build on my computer. None of my scores are in this build (obviously), but it's good to see that I can access

What should I do next?

cbjeukendrup commented 3 weeks ago

Basically just try if you can reproduce the crash, by doing the same as you did to reproduce it in 4.3.2. If you can't get it to crash, that would be good news.

I can imagine that the popups will become too annoying, so I started a signed build here: https://github.com/musescore/MuseScore/actions/runs/10539698714 Will take about 30 minutes to complete though.

ayyydoc commented 3 weeks ago

Basically just try if you can reproduce the crash, by doing the same as you did to reproduce it in 4.3.2. If you can't get it to crash, that would be good news.

I can imagine that the popups will become too annoying, so I started a signed build here: https://github.com/musescore/MuseScore/actions/runs/10539698714 Will take about 30 minutes to complete though.

Thank you so much for your diligence and dedication - I'll try this whenever I'm back home and update accordingly

ayyydoc commented 2 weeks ago

Basically just try if you can reproduce the crash, by doing the same as you did to reproduce it in 4.3.2. If you can't get it to crash, that would be good news.

I can imagine that the popups will become too annoying, so I started a signed build here: https://github.com/musescore/MuseScore/actions/runs/10539698714 Will take about 30 minutes to complete though.

I've been using this build all day and Musescore seems to be working fine so far

I'll follow up if I find any complications, but so far, I have not been able to replicate the crashes I experienced on normal MuseScore

cbjeukendrup commented 2 weeks ago

Thanks for checking! Glad to hear that the fix works. Always a relief when practice matches theory. Since the fix involves updating to a newer version of Qt, albeit a patch update, it is somewhat risky, and will require deep testing by our testing team. Therefore, it won't yet be part of the 4.4.0 release, but hopefully we can apply it in a potential 4.4.1 update. When the Qt update does appear to cause complications, there might be a bit more delay. But let's hope that is not the case. Anyway, at least we know a fix for this crash now, so now we will try to get that fix released as soon as we can.