-
Bug
-
Resolution: Fixed
-
Normal
-
None
-
2.1.2
-
None
-
Mac OS X v10.13.6 "High Sierra" FRESH INSTALL, BUT /Users directory is on a separate disk from other OS components
This system segregates the directory /Users into a different drive than /System and other OS components. Instead of the usual directory, /Users exists as a symbolic link to the drive "Users".
- Picard launches successfully from downloaded .dmg image file.
- Picard launches successfully from /Applications directory, which is on the same drive as /System (where the default Python installation lives)
- Picard CRASHES ON LAUNCH if I attempt to launch it from ~/Applications
The crash message begins:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff5279db66 __pthread_kill + 10
1 libsystem_pthread.dylib 0x00007fff52968080 pthread_kill + 333
2 libsystem_c.dylib 0x00007fff526f91ae abort + 127
3 .Python 0x0000000103737e64 fatal_error + 548
4 .Python 0x0000000103737224 _Py_FatalInitError + 36
5 .Python 0x00000001037372ae Py_Initialize + 126
6 org.musicbrainz.picard 0x00000001033c896c 0x1033c5000 + 14700
7 org.musicbrainz.picard 0x00000001033c71b6 0x1033c5000 + 8630
8 org.musicbrainz.picard 0x00000001033c755a 0x1033c5000 + 9562
9 org.musicbrainz.picard 0x00000001033c5cb4 0x1033c5000 + 3252
But more revealingly, the error report continues:
Binary Images: 0x1033c5000 - 0x1033cbfff +org.musicbrainz.picard (2.1.2 - 2.1.2) <3D055F52-44FC-3DEA-88D5-B8EF396C4DCD> /Volumes/VOLUME/*/MusicBrainz Picard.app/Contents/MacOS/picard 0x10362b000 - 0x103803fff +.Python (0) <977C0919-F108-3AC9-8796-F42032694A62> /Volumes/VOLUME/*/MusicBrainz Picard.app/Contents/MacOS/.Python 0x1124e0000 - 0x11252aacf dyld (551.4) <8A72DE9C-A136-3506-AA02-4BA2B82DCAF3> /usr/lib/dyld
This seems to indicate that Picard is looking for itself at /Volumes/VOLUME/*, which might be an unresolved path call. Admittedly, this system configuration presents an edge case, but one approach might be to get the application path as a literal string, from the os, and then to use that literal string.