LabRecorder crashes on open macOS Big Sur 11.3.1 (20E241)
sunshineinsandiego opened this issue · comments
Hi - Downloaded Big Sur 1.14 tar release here: https://github.com/labstreaminglayer/App-LabRecorder/releases/download/v1.14.0/LabRecorder-1.14.0-MacOS_BigSur.tar.bz2. Extracted the folder to Applications and then tried to open the application. Received this error report:
Process: LabRecorder [8343]
Path: /private/var/folders/*/LabRecorder.app/Contents/MacOS/LabRecorder
Identifier: ???
Version: ??? (???)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: LabRecorder [8343]
User ID: 501
Date/Time: 2021-05-27 18:20:17.644 -0700
OS Version: macOS 11.3.1 (20E241)
Report Version: 12
Anonymous UUID: 2CB947F5-6D76-16D2-6B60-9EBF68C34E08
Sleep/Wake UUID: 35D38B3A-EF8D-4056-9105-1280F2B38C40
Time Awake Since Boot: 97000 seconds
Time Since Wake: 4300 seconds
System Integrity Protection: enabled
Notes: Translocated Process
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:
dyld: Using shared cache: 94BDF3EE-CD67-34B0-91E1-19D61487C096
Library not loaded: /usr/local/opt/qt/lib/QtWidgets.framework/Versions/5/QtWidgets
Referenced from: /private/var/folders/*/LabRecorder.app/Contents/MacOS/LabRecorder
Reason: image not found
Binary Images:
0x105353000 - 0x1053bafff + (??? - ???) <C42333DD-648D-3CBC-88BB-6D8721E036CE> /var/folders/*/LabRecorder.app/Contents/MacOS/LabRecorder
0x114df9000 - 0x114e94fff dyld (851.27) <7EAA668B-F906-3BAA-A980-139BBE6E8766> /usr/lib/dyld
Model: MacBookAir6,2, BootROM 431.0.0.0.0, 2 processors, Dual-Core Intel Core i7, 1.7 GHz, 8 GB, SMC 2.13f15
Graphics: kHW_IntelHD5000Item, Intel HD Graphics 5000, spdisplays_builtin
Memory Module: BANK 0/DIMM0, 4 GB, DDR3, 1600 MHz, 0x02FE, -
Memory Module: BANK 1/DIMM0, 4 GB, DDR3, 1600 MHz, 0x02FE, -
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x117), Broadcom BCM43xx 1.0 (7.77.111.1 AirPortDriverBrcmNIC-1680.7)
Bluetooth: Version 8.0.4d18, 3 services, 19 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
Serial ATA Device: APPLE SSD SM0512F, 500.28 GB
USB Device: USB 3.0 Bus
USB Device: BRCM20702 Hub
USB Device: Bluetooth USB Host Controller
Thunderbolt Bus: MacBook Air, Apple Inc., 23.6
Looks like a Qt dependency issue? Any advice for fixing? Thanks!
It's been a long time since I dealt with dylib hell on OSX, but I would check:
- that the Qt libraries are copied into the app package contents: Right-click on the app, open 'Contents' and look in the 'Frameworks' directory, look for the Qt*.dylib files there
- that the Qt libraries do not in fact exist in your OS's normal search paths: look at the contents of /usr/local/opt/qt/lib/QtWidgets.framework/Versions/5/QtWidgets (if it exists---probably not since it can't load the libraries)
If I recall correctly, if the Qt*.dylib files are in the app's Contents/Frameworks directory you should not get this error.
This information will be helpful to the developers who maintain LabRecorder.
Does the previous version work for you?
https://github.com/labstreaminglayer/App-LabRecorder/releases/tag/v1.13.1
Also, a question for the osx people, shouldn't it be lsl.1.14.0.dylib not liblsl.1.14.0.dylib? The linux and Windows libs got a name change at 1.14.
Sorry, didn't mean to close this. Hit the wrong button...
Nope, same error with previous version
Process: LabRecorder [8671]
Path: /private/var/folders/*/LabRecorder.app/Contents/MacOS/LabRecorder
Identifier: ???
Version: ??? (???)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: LabRecorder [8671]
User ID: 501
Date/Time: 2021-05-27 21:05:03.231 -0700
OS Version: macOS 11.3.1 (20E241)
Report Version: 12
Anonymous UUID: 2CB947F5-6D76-16D2-6B60-9EBF68C34E08
Sleep/Wake UUID: E5D9A0AB-75DC-4A58-8E7A-405A499247C4
Time Awake Since Boot: 100000 seconds
Time Since Wake: 1400 seconds
System Integrity Protection: enabled
Notes: Translocated Process
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:
dyld: Using shared cache: 94BDF3EE-CD67-34B0-91E1-19D61487C096
Library not loaded: /usr/local/opt/qt/lib/QtWidgets.framework/Versions/5/QtWidgets
Referenced from: /private/var/folders/*/LabRecorder.app/Contents/MacOS/LabRecorder
Reason: image not found
Binary Images:
0x10da9d000 - 0x10dacafff + (??? - ???) <F2110336-46F9-3CC7-A1F6-8CB41971AC55> /var/folders/*/LabRecorder.app/Contents/MacOS/LabRecorder
0x119186000 - 0x119221fff dyld (851.27) <7EAA668B-F906-3BAA-A980-139BBE6E8766> /usr/lib/dyld
Model: MacBookAir6,2, BootROM 431.0.0.0.0, 2 processors, Dual-Core Intel Core i7, 1.7 GHz, 8 GB, SMC 2.13f15
Graphics: kHW_IntelHD5000Item, Intel HD Graphics 5000, spdisplays_builtin
Memory Module: BANK 0/DIMM0, 4 GB, DDR3, 1600 MHz, 0x02FE, -
Memory Module: BANK 1/DIMM0, 4 GB, DDR3, 1600 MHz, 0x02FE, -
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x117), Broadcom BCM43xx 1.0 (7.77.111.1 AirPortDriverBrcmNIC-1680.7)
Bluetooth: Version 8.0.4d18, 3 services, 19 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
Serial ATA Device: APPLE SSD SM0512F, 500.28 GB
USB Device: USB 3.0 Bus
USB Device: BRCM20702 Hub
USB Device: Bluetooth USB Host Controller
Thunderbolt Bus: MacBook Air, Apple Inc., 23.6
OK. Then I probably don't know what I'm talking about (unless the dylibs are supposed to ship there as well, and didn't...). I'm sure either Chad or Tristan will comment with useful answers shortly.
In the meantime, you could try installing the Qt5 dependencies on your machine. If the libraries get placed in the expected search path (i.e. /usr/local/opt/qt/) then you might not have this error any more.
Got it, thanks!
Also, a question for the osx people, shouldn't it be lsl.1.14.0.dylib not liblsl.1.14.0.dylib? The linux and Windows libs got a name change at 1.14.
No that was Windows only. *NIX based systems (including MacOS) keep the lib
prefix.
Sorry for taking a while to answer. I assumed this had to do with BigSur hiding libs in different places and I thought it might take a while to hunt down. But I'm on Big Sur 11.4 and my locally-built version of LabRecorder bundles Qt and it works fine. I uploaded my locally built version here:
https://github.com/labstreaminglayer/App-LabRecorder/releases/download/v1.14.0/LabRecorder-1.14.0-MacOS_BigSur.zip
Not sure why that isn't happening on the CI servers.
OK. Then I probably don't know what I'm talking about (unless the dylibs are supposed to ship there as well, and didn't...). I'm sure either Chad or Tristan will comment with useful answers shortly.
Six messages in and and the problem is already identified, which is more than I would have found out with my limited knowledge about Macs (it boils down to "don't try weird-command-key + Q to enter the @ sign").
Not sure why that isn't happening on the CI servers.
I had feared I wouldn't have anything useful to add, but it turns out I can :-)
From the build log:
CPack: - Install project: LabRecorder []
CPack: - Install component: LabRecorder
/Applications/Xcode_12.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/runner/work/App-LabRecorder/App-LabRecorder/package/_CPack_Packages/Darwin/TBZ2/lsl-1.14.0-Darwin/LabRecorder/LabRecorder/libxdfwriter.a(mocs_compilation.cpp.o) has no symbols
CPack: - Install component: Unspecified
CMake Warning at /Users/runner/work/App-LabRecorder/App-LabRecorder/build/cmake_install.cmake:110 (message):
'/Users/runner/work/App-LabRecorder/Qt/5.15.2/clang_64/bin/macdeployqt' '/Users/runner/work/App-LabRecorder/App-LabRecorder/package/_CPack_Packages/Darwin/TBZ2/lsl-1.14.0-Darwin/Unspecified/LabRecorder/LabRecorder.app' '-verbose=1' '-always-overwrite'
Error: Could not find app bundle
"/Users/runner/work/App-LabRecorder/App-LabRecorder/package/_CPack_Packages/Darwin/TBZ2/lsl-1.14.0-Darwin/Unspecified/LabRecorder/LabRecorder.app"
It seems that CPack doesn't run macdeployqt in the wrong subfolder. I have pushed a quick'n'dirty fix in #64, but if that doesn't work I'll need to investigate it next week.
@sunshineinsandiego - Neither. I keep it in my Tools folder on a secondary partition. I don't think it matters where you put it.
@cboulay Your version works! Awesome, thanks mucho. Super helpful. Extracted and ran in system applications.
No that was Windows only. *NIX based systems (including MacOS) keep the lib prefix.
Ah yes. I see now that I read the 1.14 release notes incorrectly.