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

[MacOS 10.14.6] MuseScore 3.7.0.12880080876 Nightly crashes. Missing libvorbisfile.3.dylib #775

Closed
Pr-Shadoko opened this issue Jan 21, 2025 · 32 comments · Fixed by #777
Closed
Labels
bug regression Regression vs. 3.6.2 or an earlier 3.7

Comments

@Pr-Shadoko
Copy link

Good evening,

I have tried installing MuScore Evolution last nightly build on my MacBook running MacOS 10.14.6 and I get a crash since Mu can't apparently find libvorbisfile.3.dylib

This is strange, since running ls -l returns the following output:

ls -l /Applications/MuseScore\ 3.7.0.12880080876\ Nightly.app/Contents/Frameworks/libvorbisfile.3.dylib
-rwxr-xr-x@ 1 pierre admin 73856 21 jan 05:57 /Applications/MuseScore 3.7.0.12880080876 Nightly.app/Contents/Frameworks/libvorbisfile.3.dylib

Here is the crash report:

Process: mscore [68844]
Path: /Applications/MuseScore 3.7.0.12880080876 Nightly.app/Contents/MacOS/mscore
Identifier: org.musescore.MuseScore
Version: 3.7.0.12880080876 (3.7.0.12880080876)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: mscore [68844]
User ID: 501

Date/Time: 2025-01-21 22:54:14.632 +0100
OS Version: Mac OS X 10.14.6 (18G9323)
Report Version: 12
Anonymous UUID: 99B71E38-5F93-B763-C8D2-D28EB1627DE6

Sleep/Wake UUID: EF1E6A29-82FF-4D9B-A1AE-99BAE479F42B

Time Awake Since Boot: 320000 seconds
Time Since Wake: 4400 seconds

System Integrity Protection: enabled

Crashed Thread: 0

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY

Termination Reason: DYLD, [0x1] Library missing

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
Library not loaded: @executable_path/../Frameworks/libvorbisfile.3.dylib
Referenced from: /Applications/MuseScore 3.7.0.12880080876 Nightly.app/Contents/MacOS/mscore
Reason: no suitable image found. Did find:
/Applications/MuseScore 3.7.0.12880080876 Nightly.app/Contents/MacOS/../Frameworks/libvorbisfile.3.dylib: cannot load 'libvorbisfile.3.dylib' (load command 0x80000034 is unknown)
/Applications/MuseScore 3.7.0.12880080876 Nightly.app/Contents/MacOS/../Frameworks/libvorbisfile.3.dylib: stat() failed with errno=1
/Applications/MuseScore 3.7.0.12880080876 Nightly.app/Contents/MacOS/../Frameworks/libvorbisfile.3.dylib: cannot load 'libvorbisfile.3.dylib' (load command 0x80000034 is unknown)
/Applications/MuseScore 3.7.0.12880080876 Nightly.app/Contents/MacOS/../Frameworks/libvorbisfile.3.dylib: stat() failed with errno=1

Any clue?

TIA

@Jojo-Schmitz Jojo-Schmitz added bug regression Regression vs. 3.6.2 or an earlier 3.7 labels Jan 22, 2025
@Jojo-Schmitz
Copy link
Owner

Jojo-Schmitz commented Jan 22, 2025

ISTR having seen (a missing) libvorbisfile.3.dylib in another report, quite recently, on musescore.org, but can't find it

As per that log (and as per me looking into the dmg), that libvorbisfile.3.dylib is clearly not missing, it is even explicitly mentioned to be found.
But there's that errno=1, which should mean EPERM, "Operation not permitted" (not to be confused with 13, EACCESS, "Permission denied").

Check whether this helps.

Another thing worth trying is to revert MuseScore to factory settings, be appending `-F? to the commandline (once).

@Jojo-Schmitz
Copy link
Owner

Jojo-Schmitz commented Jan 22, 2025

Check the artifact from #777, if the build succeeds...

@Pr-Shadoko
Copy link
Author

Thx Jojo,

I downloaded the last artifact and I still have the same issue that I don't understand. First, let me say that I also do have Mu 2.0 and Mu 3.6.2 installed. Is this a clue?

I have tried to list libraries, files. This is where I am:

$ file /Applications/MuseScore\ 3.7.0.12914608434\ Devel.app/Contents/Frameworks/libvorbisfile.3.dylib
/Applications/MuseScore 3.7.0.12914608434 Devel.app/Contents/Frameworks/libvorbisfile.3.dylib: Mach-O 64-bit dynamically linked shared library x86_64

$ otool -L /Applications/MuseScore\ 3.7.0.12914608434\ Devel.app/Contents/MacOS/mscore
/Applications/MuseScore 3.7.0.12914608434 Devel.app/Contents/MacOS/mscore:
/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 1000.0.0)
/System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI (compatibility version 1.0.0, current version 69.0.0)
/System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration (compatibility version 1.0.0, current version 1296.60.3)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 1226.0.0)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 2487.30.104)
@executable_path/../Frameworks/libvorbisfile.3.dylib (compatibility version 7.0.0, current version 7.8.0)
@executable_path/../Frameworks/libvorbis.0.dylib (compatibility version 5.0.0, current version 5.9.0)
@executable_path/../Frameworks/libogg.0.dylib (compatibility version 9.0.0, current version 9.5.0)
@executable_path/../Frameworks/libz.1.dylib (compatibility version 1.0.0, current version 1.3.1)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1336.61.1)
@executable_path/../Frameworks/libportaudio.2.dylib (compatibility version 3.0.0, current version 3.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 2202.0.0)
@executable_path/../Frameworks/libsndfile.1.dylib (compatibility version 2.0.0, current version 2.37.0)
@loader_path/../Frameworks/QtTest.framework/Versions/5/QtTest (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtQuickControls2.framework/Versions/5/QtQuickControls2 (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtQuickWidgets.framework/Versions/5/QtQuickWidgets (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtXml.framework/Versions/5/QtXml (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtXmlPatterns.framework/Versions/5/QtXmlPatterns (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtSvg.framework/Versions/5/QtSvg (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtConcurrent.framework/Versions/5/QtConcurrent (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtOpenGL.framework/Versions/5/QtOpenGL (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtHelp.framework/Versions/5/QtHelp (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtSql.framework/Versions/5/QtSql (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtQuickTemplates2.framework/Versions/5/QtQuickTemplates2 (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtQuick.framework/Versions/5/QtQuick (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtGui.framework/Versions/5/QtGui (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtQmlModels.framework/Versions/5/QtQmlModels (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtQml.framework/Versions/5/QtQml (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.15.0, current version 5.15.9)
@loader_path/../Frameworks/QtCore.framework/Versions/5/QtCore (compatibility version 5.15.0, current version 5.15.9)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1600.157.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 2202.0.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

TIA,

Pierre

@Jojo-Schmitz
Copy link
Owner

Yes, I meanwhile suspected that my attempt to fix doesn't really help :-(

@Pr-Shadoko
Copy link
Author

If you want me to run some commands to investigate, please, don't hesitate. I would be happy to help.

@Jojo-Schmitz
Copy link
Owner

Thanks for the offer, but currently I have no idea what to check for. macOS just is not where I feel at home ;-)

@Jojo-Schmitz
Copy link
Owner

One thing you could do, is to try older builds to determine when exactly this issue started

@Pr-Shadoko
Copy link
Author

Pr-Shadoko commented Jan 24, 2025

Yes, indeed, I was thinking about that.

I've tried MuseScore 3.7.0.12515686221 Devel and after a slight xattr -c it worked ! :-)

Since I now have a basis, I will start the dichotomy to find at which build it started to crash.

Dichotomy:
MuseScore 3.7.0.12768372138 Devel => Failed

@Jojo-Schmitz
Copy link
Owner

That 4th number (12515686221 > 12768372138) doesn't mean too much, better use the commit SHA from Help > About

@Pr-Shadoko
Copy link
Author

Pr-Shadoko commented Jan 24, 2025

OK, working revision is:

OS: macOS Mojave (10.14), Arch.: x86_64, MuseScore version (64-bit): 3.7.0.12515686221, revision: 356f82f

@Jojo-Schmitz
Copy link
Owner

And the first non-working?

@Pr-Shadoko
Copy link
Author

Pr-Shadoko commented Jan 24, 2025

Dichotomy is done!

Commit 0929e39 is the first not working version

OS: macOS Mojave (10.14), Arch.: x86_64, MuseScore version (64-bit): 3.7.0.12657232618, revision: GitHub-Jojo-Schmitz-MuseScore-e38e0be is the last working version.

@Pr-Shadoko
Copy link
Author

Just add another post to signal end of dichotomy. :-)

@Jojo-Schmitz
Copy link
Owner

Jojo-Schmitz commented Jan 25, 2025

There's exactly one commit between e38e0be (works) and 0929e39 (fails, but pretty unlikely the culprit): d8bc22e (from #751). That one is the more likely candidate to have caused this issue, as it uses a different libvorbis.
Can you check that one? Should be https://github.com/Jojo-Schmitz/MuseScore/actions/runs/12659542014

And the next build of #777 too...

Can't revert d8bc22e, as that made sound work on (most?) Macs (esp. Apple silicone?).

What macOS version are you on (Edit: 10.14.6, can you update?)? Apple silicone?

@Pr-Shadoko
Copy link
Author

Pr-Shadoko commented Jan 26, 2025

Hello,

I have tried the 1st one you mentioned. It failed.

I have also tried Fix GH#775. It failed as well.

I have a MacBook Pro mid-2012. I have tried once updating to Mac OS 10.15.x and it failed (and don't remember the reason) though it should work on my Mac. I'll have to find an external USB drive to try installing Mac OS 10.15.x there.

@Jojo-Schmitz
Copy link
Owner

Jojo-Schmitz commented Jan 26, 2025

And 10.15 is the latest version that MacBook can go to?
It always surprises me that more than a decade old Macs are still in use... And that with Apple having stopped supporting it since long, currently only macOS 13 and later is still under support AFAIK

@Pr-Shadoko
Copy link
Author

According to sw updater, yes, this is the maximum version I can go to.

@Jojo-Schmitz
Copy link
Owner

Jojo-Schmitz commented Jan 27, 2025

Hmm, using MacPorts latest release crashes (this is what this issue is about), use the previous minor releases crashes too (you checked that), using 2 minor releases back doesn't even build (lacking git?!), 3 minor releases back doesn't build either: there's no version for macOS 13 (as used on GitHib CI and we can't go back with that).
So I'm now trying to combine the pre d8bc22e libvorbis from HomeBrew with all other libs from the latest MacPorts, it at least builds...

Please try the new artifact from #777

@Jojo-Schmitz
Copy link
Owner

BTW: what also puzzles me is that M3.6 works for you, as that is also using libvorbis from the MacPorts (albeit in an older version, one we can't use anymore in GitHub CI)

@Pr-Shadoko
Copy link
Author

Just to let you know that I've tried the following:

I took https://github.com/Jojo-Schmitz/MuseScore/actions/runs/12992965030 and it crashed. But, if I opened (by right-clicking the App icon) the Contents/Frameworks and if I copied there few libraries from my 3.7 working copy, it didn't crash ! :-)

I copied:

  • libvorbisenc
  • libFLAC
  • libvorbis
  • libsndfile
  • libportaudio
  • libogg
  • libvorbisfile

I haven't mentioned the library version.
I determined the libraries by coping 1st libvorbfile, MU then crashed because another library was not "correct"; I then copied that particular library and so on until Mu showed up without crashing.

@Jojo-Schmitz
Copy link
Owner

So you basically fully reverted the changes that made playback work for others.
I'm afraid then we can stop here and give up on fixing the crashes you experience.
You have a workaround now though, just need to keep that set of working libs and put them into whatever 3.7 you want to use

@knoike
Copy link

knoike commented Jan 27, 2025

@Jojo-Schmitz How about separating Artifact for Intel mac and M[1-4] mac, and including the appropriate library for each?

@Jojo-Schmitz
Copy link
Owner

Jojo-Schmitz commented Jan 28, 2025

So 2 builds inside one, similar to Windows 64-bit and 32-bit. Should be possible.
I'm not sure though whether the difference really is Intel vs. Apple silicone and not old macOS vs. newer?

Please test, now there are 2 Artifacts

@knoike
Copy link

knoike commented Jan 28, 2025

I'm not sure though whether the difference really is Intel vs. Apple silicone and not old macOS vs. newer?

Yes, I don't know either.
Further testing and information is needed.

This is just my guess, I think .dylib needs to be prepared for each CPU architecture in this case.

Please test, now there are 2 Artifacts

Good! Your work is always so fast!
I don't have mac so I can't test them. I'll wait for the test results of others.

@Jojo-Schmitz
Copy link
Owner

Jojo-Schmitz commented Jan 28, 2025

What puzzles me is https://musescore.org/en/node/347226#comment-127770, also an old MacBook Pro and macOS 10.14.6, but no such issue

@knoike
Copy link

knoike commented Jan 28, 2025

Summary of past reports:

scorster : Apple silicon, macOS 13.5.2 -> works
RickyChitarrone : Intel CPU, macOS 10.14.6 -> works
Pr-Shadoko : Intel CPU, macOS 10.14.6 → crash

Pr-Shadoko and RickyChitarrone environments seem to be the same.
The artifact that each person tested may be different.
I think that the artifact tested by Pr-Shadoko is probably newer than that tested by RickyChitarrone.
I think that the .dylib included their artifacts they tested may be different.

@knoike
Copy link

knoike commented Jan 28, 2025

https://musescore.org/en/node/347226#comment-1273915
It seems that RickyChitarrone also has Apple silicon mac.
And he said "It works".
I think this "it" means to "3 Evolution".

https://musescore.org/en/node/347226#comment-1274577
It seems that RickyChitarrone also has iMac. it is Intel CPU mac and macOS Mojave(10.14.x).
And he said "it works". I think this "it" means to "3 Evolution".
And he said he hasn't tested it on Laptop(old Macbook Pro).

https://musescore.org/en/node/347226#comment-1277701
RickyChitarrone said "I’ve been running OS 10.14.6 on my old Macbook Pro all along without issue."
I'm not sure, but I think this just says that macOS 10.14.6 is working, not that it tests "3 Evolution"?

In summary:

scorster : Apple silicon, macOS 13.5.2 -> works
RickyChitarrone : Apple silicon, macOS 10.14.6 -> works
RickyChitarrone : Intel CPU(iMac), macOS Mojave(10.14.x) -> works
RickyChitarrone : Intel CPU(Macbook Pro), macOS 10.14.6 -> unknown
Pr-Shadoko : Intel CPU(Macbook Pro), macOS 10.14.6 → crash

It may not yet have been tested in the same environment as Pr-Shadoko.

(Edited)
And I think we need to keep in mind that the tested artifacts and included .dylib may be different.

@knoike
Copy link

knoike commented Jan 31, 2025

@Pr-Shadoko
As of now, the crash report is only from you. The differences with other environments are unknown.
It seems that Jojo wants to stop splitting the executable file into 2 for each architecture and go back to the single universal app. If there is no need to do so, I think that would be better.
To be honest, personally, I would like to withdraw from helping solve this mysterious issue.
However, before that, please tell us the following:

1/
https://github.com/Jojo-Schmitz/MuseScore/actions/runs/13069716592/artifacts/2515841178
What happens when you run this artifact appending with the "-F" startup option from command line?

2/
Please show us the result of "file libvorbisfile.3.dylib" both when it crashes and when it works fine.

3/
Please show us the result of "lipo -info libvorbisfile.3.dylib" both when it crashes and when it works fine.

4/
#775 (comment)

if I copied there few libraries from my 3.7 working copy, it didn't crash ! :-)

Please tell us more details about where you copied it from?
For example, that directory name, what is the "my 3.7 working copy" and so on.

@knoike
Copy link

knoike commented Feb 14, 2025

@Jojo-Schmitz
My friend recently got a MacBookPro retina 15inch Mid2012, so I asked him to do some testing.
The results I received were similar to those of @Pr-Shadoko .

1/
https://github.com/Jojo-Schmitz/MuseScore/actions/runs/13069716592/artifacts/2515841178
This artifact for Intel architechture is works fine.
Audio device was also available.

2/
https://github.com/Jojo-Schmitz/MuseScore/actions/runs/13285892658/artifacts/2578637302
This unified binary is not work.
When it launched, it crashes near the loading of libvorbisfile.3.dylib .
The entire of error message is attached.

At the present time, we don't know what is causing the crash, so splitting the executable into 2 for each architecture seems meaningful(useful).

Summary of test result:
Crash reports: 2
Works reports: 4

scorster : Apple silicon, macOS 13.5.2 -> works
RickyChitarrone : Apple silicon, macOS 10.14.6 -> works
RickyChitarrone : Intel CPU(iMac), macOS Mojave(10.14.x) -> works
RickyChitarrone : Intel CPU(Macbook Pro), macOS 10.14.6 -> unknown
Pr-Shadoko : Intel CPU(Macbook Pro), macOS 10.14.6 → crash
knoike's friend : Intel CPU(Macbook Pro), macOS 10.14.6
-> Binary for Intel -> works
-> Unified Binary -> crash

unified-crash.txt

@Jojo-Schmitz
Copy link
Owner

What would be the most usefull names for these architectures? "Apple" seems wrong, as it isn't j(just) for Apple silicone, isn't it?
So "Intel" and "Unified"?

@knoike
Copy link

knoike commented Feb 14, 2025

I have no idea.
Maybe you ask some Mac users is good.

@Jojo-Schmitz
Copy link
Owner

What the heck, let's merge it as it is

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug regression Regression vs. 3.6.2 or an earlier 3.7
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants