Skip to content

Instantly share code, notes, and snippets.

@mscottford
Created February 8, 2022 14:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mscottford/3aeaadbb816ba65f978272496ba86c8a to your computer and use it in GitHub Desktop.
Save mscottford/3aeaadbb816ba65f978272496ba86c8a to your computer and use it in GitHub Desktop.
Workrave macOS build troubleshooting
#!/bin/zsh
# adapted from https://apple.stackexchange.com/a/425118
brew_install() {
if brew list $1 &>/dev/null; then
echo "${1} is already installed"
else
brew install $1
fi
}
brew_install "qt6"
brew_install "gettext"
brew_install "cmake"
brew_install "pkg-config"
# looks like there's a flag that attempts to disable `boost` but errors are generated without it
brew_install "boost"
# using `pip3` isn't good enough. It doesn't appear to put `jinja2` in the "correct" location
/opt/homebrew/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -m pip install jinja2
if [[ ! -d ./workrave ]]; then
git clone git@github.com:rcaelers/workrave.git
fi
cd workrave/build
# adapted from https://github.com/rcaelers/workrave/issues/328#issuecomment-904689338
export CMAKE_PREFIX_PATH=/usr/local/Cellar/qt/6.1.2/lib/cmake/1
export PATH=/usr/local/opt/gettext/bin/:$PATH
ninja clean
cmake \
-S .. \
-G Ninja \
-DCMAKE_INSTALL_PREFIX=/Applications \
-DWITH_UI=Qt -DWITH_TESTS=ON \
-DCMAKE_SYSTEM_INCLUDE_PATH="/usr/local/opt/gettext/include" \
-DCMAKE_LIBRARY_PATH="/usr/local/opt/gettext/lib" \
-DCMAKE_BUILD_TYPE_INIT=Debug \
-DWITH_TRACING=TRUE \
-DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE \
-DBoost_NO_BOOST_CMAKE=TRUE
ninja install
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Process: workrave [22245]
Path: /Applications/Workrave.app/Contents/MacOS/Workrave
Identifier: workrave
Version: ???
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
User ID: 501
Date/Time: 2022-02-08 09:13:50.7351 -0500
OS Version: macOS 12.2 (21D49)
Report Version: 12
Anonymous UUID: ACB62B90-AB18-2EFB-5A59-828A46F083E3
Sleep/Wake UUID: 5636C1BD-18A5-4185-8C87-8788082FA3EE
Time Awake Since Boot: 12000 seconds
Time Since Wake: 4479 seconds
System Integrity Protection: enabled
Crashed Thread: 0
Exception Type: EXC_BAD_ACCESS (SIGKILL (Code Signature Invalid))
Exception Codes: UNKNOWN_0x32 at 0x00000001021a8000
Exception Codes: 0x0000000000000032, 0x00000001021a8000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace CODESIGNING, Code 2
VM Region Info: 0x1021a8000 is in 0x1021a8000-0x1021cc000; bytes after start: 0 bytes before end: 147455
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
__LINKEDIT 102170000-1021a8000 [ 224K] r--/r-- SM=COW /usr/lib/dyld
---> mapped file 1021a8000-1021cc000 [ 144K] r-x/rwx SM=COW ...t_id=f6e427ef
VM_ALLOCATE (reserved) 1021cc000-102244000 [ 480K] rw-/rwx SM=NUL ...(unallocated)
Thread 0 Crashed:
0 dyld 0x102127d88 dyld3::MachOFile::isMachO(Diagnostics&, unsigned long long) const + 20
1 dyld 0x102109174 dyld4::Loader::mapSegments(Diagnostics&, dyld4::RuntimeState&, char const*, unsigned long long, dyld4::Loader::CodeSignatureInFile const&, bool, dyld3::Array<dyld4::Loader::Region> const&, bool, bool, dyld4::Loader::FileValidationInfo const&) + 1092
2 dyld 0x102109174 dyld4::Loader::mapSegments(Diagnostics&, dyld4::RuntimeState&, char const*, unsigned long long, dyld4::Loader::CodeSignatureInFile const&, bool, dyld3::Array<dyld4::Loader::Region> const&, bool, bool, dyld4::Loader::FileValidationInfo const&) + 1092
3 dyld 0x10210e990 invocation function for block in dyld4::JustInTimeLoader::makeJustInTimeLoaderDisk(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, bool, unsigned int) + 68
4 dyld 0x10210e324 dyld4::JustInTimeLoader::withRegions(dyld3::MachOAnalyzer const*, void (dyld3::Array<dyld4::Loader::Region> const&) block_pointer) + 292
5 dyld 0x10210e8e4 invocation function for block in dyld4::JustInTimeLoader::makeJustInTimeLoaderDisk(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, bool, unsigned int) + 492
6 dyld 0x102113b44 dyld4::SyscallDelegate::withReadOnlyMappedFile(Diagnostics&, char const*, bool, void (void const*, unsigned long, bool, dyld4::FileID const&, char const*) block_pointer) const + 128
7 dyld 0x10210e6c4 dyld4::JustInTimeLoader::makeJustInTimeLoaderDisk(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, bool, unsigned int) + 204
8 dyld 0x102108580 invocation function for block in dyld4::Loader::getLoader(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&) + 1412
9 dyld 0x102107a70 dyld4::Loader::forEachResolvedAtPathVar(dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, dyld4::ProcessConfig::PathOverrides::Type, bool&, void (char const*, dyld4::ProcessConfig::PathOverrides::Type, bool&) block_pointer) + 780
10 dyld 0x1021076d8 invocation function for block in dyld4::Loader::forEachPath(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, void (char const*, dyld4::ProcessConfig::PathOverrides::Type, bool&) block_pointer) + 116
11 dyld 0x1020fde90 dyld4::ProcessConfig::PathOverrides::forEachPathVariant(char const*, dyld3::Platform, bool, bool&, void (char const*, dyld4::ProcessConfig::PathOverrides::Type, bool&) block_pointer) const + 672
12 dyld 0x10210764c dyld4::Loader::forEachPath(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, void (char const*, dyld4::ProcessConfig::PathOverrides::Type, bool&) block_pointer) + 172
13 dyld 0x102107df8 dyld4::Loader::getLoader(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&) + 840
14 dyld 0x10210c968 invocation function for block in dyld4::JustInTimeLoader::loadDependents(Diagnostics&, dyld4::RuntimeState&, dyld4::Loader::LoadOptions const&) + 380
15 dyld 0x102128ffc invocation function for block in dyld3::MachOFile::forEachDependentDylib(void (char const*, bool, bool, bool, unsigned int, unsigned int, bool&) block_pointer) const + 148
16 dyld 0x1020f5f98 dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const + 168
17 dyld 0x102128e3c dyld3::MachOFile::forEachDependentDylib(void (char const*, bool, bool, bool, unsigned int, unsigned int, bool&) block_pointer) const + 172
18 dyld 0x10210c6d0 dyld4::JustInTimeLoader::loadDependents(Diagnostics&, dyld4::RuntimeState&, dyld4::Loader::LoadOptions const&) + 164
19 dyld 0x1020f9618 dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) + 1076
20 dyld 0x1020f90d4 start + 488
Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x00000001021a8000 x1: 0x000000016fa5a028 x2: 0x0000000000024000 x3: 0x0000000000040012
x4: 0x0000000000000003 x5: 0x0000000000000000 x6: 0x0000000000000000 x7: 0x0000000000000000
x8: 0x000000010216c62c x9: 0x000000010216dea8 x10: 0x0000000000000004 x11: 0x0000000000000001
x12: 0x0000000000000001 x13: 0x080000000002c000 x14: 0x000000000002c000 x15: 0x0000000000000000
x16: 0x00000000000000c5 x17: 0x6ae100016fa59808 x18: 0x0000000000000000 x19: 0x000000016fa5a028
x20: 0x0000000101f2c060 x21: 0x000000000009c000 x22: 0x0000000000000003 x23: 0x000000016fa59b18
x24: 0x0000000000000040 x25: 0x0000000000000000 x26: 0x000000016fa5989c x27: 0x0000000000000000
x28: 0x00000001021a8000 fp: 0x000000016fa59460 lr: 0xa417800102109174
sp: 0x000000016fa59450 pc: 0x0000000102127d88 cpsr: 0x00001000
far: 0x00000001021a8000 esr: 0x92000007 (Data Abort) byte read Translation fault
Binary Images:
0x1020f4000 - 0x102153fff dyld (*) <d21a73ea-79cd-36eb-8ac9-2c5cf5181a27> /usr/lib/dyld
0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ???
External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
VM Region Summary:
ReadOnly portion of Libraries: Total=28.0M resident=0K(0%) swapped_out_or_unallocated=28.0M(100%)
Writable regions: Total=9680K written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=9680K(100%)
VIRTUAL REGION
REGION TYPE SIZE COUNT (non-coalesced)
=========== ======= =======
STACK GUARD 56.0M 1
Stack 8176K 1
VM_ALLOCATE 1.0G 1
VM_ALLOCATE (reserved) 480K 1 reserved VM address space (unallocated)
__DATA 32K 2
__DATA_CONST 224K 2
__LINKEDIT 22.9M 2
__TEXT 5184K 2
dyld private memory 1024K 1
mapped file 768K 2
=========== ======= =======
TOTAL 1.1G 15
TOTAL, minus reserved VM space 1.1G 15
-----------
Full Report
-----------
{"app_name":"workrave","timestamp":"2022-02-08 09:13:51.00 -0500","app_version":"","slice_uuid":"d4441285-d09b-3eb5-851b-eb3f958f58e8","build_version":"","platform":1,"share_with_app_devs":1,"is_first_party":1,"bug_type":"309","os_version":"macOS 12.2 (21D49)","incident_id":"5DEB2FA8-E5A4-4ECC-96F7-FC07300F568F","name":"workrave"}
{
"uptime" : 12000,
"procLaunch" : "2022-02-08 09:13:50.3985 -0500",
"procRole" : "Background",
"version" : 2,
"userID" : 501,
"deployVersion" : 210,
"modelCode" : "MacBookPro18,2",
"procStartAbsTime" : 305056406219,
"coalitionID" : 4945,
"osVersion" : {
"train" : "macOS 12.2",
"build" : "21D49",
"releaseType" : "User"
},
"captureTime" : "2022-02-08 09:13:50.7351 -0500",
"incident" : "5DEB2FA8-E5A4-4ECC-96F7-FC07300F568F",
"bug_type" : "309",
"pid" : 22245,
"procExitAbsTime" : 305064408896,
"translated" : false,
"cpuType" : "ARM-64",
"procName" : "workrave",
"procPath" : "\/Applications\/Workrave.app\/Contents\/MacOS\/Workrave",
"parentProc" : "launchd",
"parentPid" : 1,
"coalitionName" : "org.workrave.Workrave",
"crashReporterKey" : "ACB62B90-AB18-2EFB-5A59-828A46F083E3",
"wakeTime" : 4479,
"sleepWakeUUID" : "5636C1BD-18A5-4185-8C87-8788082FA3EE",
"sip" : "enabled",
"vmRegionInfo" : "0x1021a8000 is in 0x1021a8000-0x1021cc000; bytes after start: 0 bytes before end: 147455\n REGION TYPE START - END [ VSIZE] PRT\/MAX SHRMOD REGION DETAIL\n __LINKEDIT 102170000-1021a8000 [ 224K] r--\/r-- SM=COW \/usr\/lib\/dyld\n---> mapped file 1021a8000-1021cc000 [ 144K] r-x\/rwx SM=COW ...t_id=f6e427ef\n VM_ALLOCATE (reserved) 1021cc000-102244000 [ 480K] rw-\/rwx SM=NUL ...(unallocated)",
"isCorpse" : 1,
"exception" : {"codes":"0x0000000000000032, 0x00000001021a8000","rawCodes":[50,4330258432],"type":"EXC_BAD_ACCESS","signal":"SIGKILL (Code Signature Invalid)","subtype":"UNKNOWN_0x32 at 0x00000001021a8000"},
"termination" : {"namespace":"CODESIGNING","flags":0,"code":2},
"vmregioninfo" : "0x1021a8000 is in 0x1021a8000-0x1021cc000; bytes after start: 0 bytes before end: 147455\n REGION TYPE START - END [ VSIZE] PRT\/MAX SHRMOD REGION DETAIL\n __LINKEDIT 102170000-1021a8000 [ 224K] r--\/r-- SM=COW \/usr\/lib\/dyld\n---> mapped file 1021a8000-1021cc000 [ 144K] r-x\/rwx SM=COW ...t_id=f6e427ef\n VM_ALLOCATE (reserved) 1021cc000-102244000 [ 480K] rw-\/rwx SM=NUL ...(unallocated)",
"extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
"faultingThread" : 0,
"threads" : [{"triggered":true,"id":192073,"threadState":{"x":[{"value":4330258432},{"value":6168092712},{"value":147456},{"value":262162},{"value":3},{"value":0},{"value":0},{"value":0},{"value":4330014252,"symbolLocation":172,"symbol":"_main_thread"},{"value":4330020520,"symbolLocation":0,"symbol":"errno"},{"value":4},{"value":1},{"value":1},{"value":576460752303603712},{"value":180224},{"value":0},{"value":197},{"value":7701436843948349448},{"value":0},{"value":6168092712},{"value":4327653472},{"value":638976},{"value":3},{"value":6168091416},{"value":64},{"value":0},{"value":6168090780},{"value":0},{"value":4330258432}],"flavor":"ARM_THREAD_STATE64","lr":{"value":11824060088502489460},"cpsr":{"value":4096},"fp":{"value":6168089696},"sp":{"value":6168089680},"esr":{"value":2449473543,"description":"(Data Abort) byte read Translation fault"},"pc":{"value":4329733512,"matchesCrashFrame":1},"far":{"value":4330258432}},"frames":[{"imageOffset":212360,"symbol":"dyld3::MachOFile::isMachO(Diagnostics&, unsigned long long) const","symbolLocation":20,"imageIndex":0},{"imageOffset":86388,"symbol":"dyld4::Loader::mapSegments(Diagnostics&, dyld4::RuntimeState&, char const*, unsigned long long, dyld4::Loader::CodeSignatureInFile const&, bool, dyld3::Array<dyld4::Loader::Region> const&, bool, bool, dyld4::Loader::FileValidationInfo const&)","symbolLocation":1092,"imageIndex":0},{"imageOffset":86388,"symbol":"dyld4::Loader::mapSegments(Diagnostics&, dyld4::RuntimeState&, char const*, unsigned long long, dyld4::Loader::CodeSignatureInFile const&, bool, dyld3::Array<dyld4::Loader::Region> const&, bool, bool, dyld4::Loader::FileValidationInfo const&)","symbolLocation":1092,"imageIndex":0},{"imageOffset":108944,"symbol":"invocation function for block in dyld4::JustInTimeLoader::makeJustInTimeLoaderDisk(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, bool, unsigned int)","symbolLocation":68,"imageIndex":0},{"imageOffset":107300,"symbol":"dyld4::JustInTimeLoader::withRegions(dyld3::MachOAnalyzer const*, void (dyld3::Array<dyld4::Loader::Region> const&) block_pointer)","symbolLocation":292,"imageIndex":0},{"imageOffset":108772,"symbol":"invocation function for block in dyld4::JustInTimeLoader::makeJustInTimeLoaderDisk(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, bool, unsigned int)","symbolLocation":492,"imageIndex":0},{"imageOffset":129860,"symbol":"dyld4::SyscallDelegate::withReadOnlyMappedFile(Diagnostics&, char const*, bool, void (void const*, unsigned long, bool, dyld4::FileID const&, char const*) block_pointer) const","symbolLocation":128,"imageIndex":0},{"imageOffset":108228,"symbol":"dyld4::JustInTimeLoader::makeJustInTimeLoaderDisk(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, bool, unsigned int)","symbolLocation":204,"imageIndex":0},{"imageOffset":83328,"symbol":"invocation function for block in dyld4::Loader::getLoader(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&)","symbolLocation":1412,"imageIndex":0},{"imageOffset":80496,"symbol":"dyld4::Loader::forEachResolvedAtPathVar(dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, dyld4::ProcessConfig::PathOverrides::Type, bool&, void (char const*, dyld4::ProcessConfig::PathOverrides::Type, bool&) block_pointer)","symbolLocation":780,"imageIndex":0},{"imageOffset":79576,"symbol":"invocation function for block in dyld4::Loader::forEachPath(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, void (char const*, dyld4::ProcessConfig::PathOverrides::Type, bool&) block_pointer)","symbolLocation":116,"imageIndex":0},{"imageOffset":40592,"symbol":"dyld4::ProcessConfig::PathOverrides::forEachPathVariant(char const*, dyld3::Platform, bool, bool&, void (char const*, dyld4::ProcessConfig::PathOverrides::Type, bool&) block_pointer) const","symbolLocation":672,"imageIndex":0},{"imageOffset":79436,"symbol":"dyld4::Loader::forEachPath(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, void (char const*, dyld4::ProcessConfig::PathOverrides::Type, bool&) block_pointer)","symbolLocation":172,"imageIndex":0},{"imageOffset":81400,"symbol":"dyld4::Loader::getLoader(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&)","symbolLocation":840,"imageIndex":0},{"imageOffset":100712,"symbol":"invocation function for block in dyld4::JustInTimeLoader::loadDependents(Diagnostics&, dyld4::RuntimeState&, dyld4::Loader::LoadOptions const&)","symbolLocation":380,"imageIndex":0},{"imageOffset":217084,"symbol":"invocation function for block in dyld3::MachOFile::forEachDependentDylib(void (char const*, bool, bool, bool, unsigned int, unsigned int, bool&) block_pointer) const","symbolLocation":148,"imageIndex":0},{"imageOffset":8088,"symbol":"dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const","symbolLocation":168,"imageIndex":0},{"imageOffset":216636,"symbol":"dyld3::MachOFile::forEachDependentDylib(void (char const*, bool, bool, bool, unsigned int, unsigned int, bool&) block_pointer) const","symbolLocation":172,"imageIndex":0},{"imageOffset":100048,"symbol":"dyld4::JustInTimeLoader::loadDependents(Diagnostics&, dyld4::RuntimeState&, dyld4::Loader::LoadOptions const&)","symbolLocation":164,"imageIndex":0},{"imageOffset":22040,"symbol":"dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*)","symbolLocation":1076,"imageIndex":0},{"imageOffset":20692,"symbol":"start","symbolLocation":488,"imageIndex":0}]}],
"usedImages" : [
{
"source" : "P",
"arch" : "arm64e",
"base" : 4329521152,
"size" : 393216,
"uuid" : "d21a73ea-79cd-36eb-8ac9-2c5cf5181a27",
"path" : "\/usr\/lib\/dyld",
"name" : "dyld"
},
{
"size" : 0,
"source" : "A",
"base" : 0,
"uuid" : "00000000-0000-0000-0000-000000000000"
}
],
"sharedCache" : {
"base" : 6574604288,
"size" : 3091218432,
"uuid" : "b90241b2-e425-3982-b3f6-26c4567cbb49"
},
"vmSummary" : "ReadOnly portion of Libraries: Total=28.0M resident=0K(0%) swapped_out_or_unallocated=28.0M(100%)\nWritable regions: Total=9680K written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=9680K(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nSTACK GUARD 56.0M 1 \nStack 8176K 1 \nVM_ALLOCATE 1.0G 1 \nVM_ALLOCATE (reserved) 480K 1 reserved VM address space (unallocated)\n__DATA 32K 2 \n__DATA_CONST 224K 2 \n__LINKEDIT 22.9M 2 \n__TEXT 5184K 2 \ndyld private memory 1024K 1 \nmapped file 768K 2 \n=========== ======= ======= \nTOTAL 1.1G 15 \nTOTAL, minus reserved VM space 1.1G 15 \n",
"legacyInfo" : {
"threadTriggered" : {
}
},
"trialInfo" : {
"rollouts" : [
{
"rolloutId" : "5ffde50ce2aacd000d47a95f",
"factorPackIds" : {
},
"deploymentId" : 240000102
},
{
"rolloutId" : "601d9415f79519000ccd4b69",
"factorPackIds" : {
"SIRI_TEXT_TO_SPEECH" : "61f0405329647d394933a4c4"
},
"deploymentId" : 240000378
},
{
"rolloutId" : "60da5e84ab0ca017dace9abf",
"factorPackIds" : {
},
"deploymentId" : 240000008
},
{
"rolloutId" : "607844aa04477260f58a8077",
"factorPackIds" : {
"SIRI_MORPHUN_ASSETS" : "6103050cbfe6dc472e1c982a"
},
"deploymentId" : 240000066
},
{
"rolloutId" : "602ad4dac86151000cf27e46",
"factorPackIds" : {
"SIRI_DICTATION_ASSETS" : "61fb0e87c773c43cde3bb80e"
},
"deploymentId" : 240000303
},
{
"rolloutId" : "5fc94383418129005b4e9ae0",
"factorPackIds" : {
},
"deploymentId" : 240000231
}
],
"experiments" : [
]
}
}
Model: MacBookPro18,2, BootROM 7429.81.3, proc 10:8:2 processors, 64 GB, SMC
Graphics: Apple M1 Max, Apple M1 Max, Built-In
Display: LC49G95T, 5120 x 1440, Main, MirrorOff, Online
Memory Module: LPDDR5
AirPort: Wi-Fi, wl0: Dec 13 2021 17:12:34 version 20.10.853.31.8.7.109 FWID 01-804e92d8
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: USB 10/100/1000 LAN, Ethernet, en9
Network Service: Wi-Fi, AirPort, en0
USB Device: USB31Bus
USB Device: USB3.0 Hub
USB Device: USB3.1 Hub
USB Device: USB 10/100/1000 LAN
USB Device: USB Storage
USB Device: USB2.0 Hub
USB Device: USB2.0 Hub
USB Device: HD Pro Webcam C920
USB Device: PowerExpand Elite 12-in-1 Thunderbolt 4 Dock
USB Device: USB Audio
USB Device: Magic Trackpad
USB Device: USB-C dongle
USB Device: USB31Bus
USB Device: Model 01
USB Device: USB31Bus
Thunderbolt Bus: MacBook Pro, Apple Inc.
Thunderbolt Bus: MacBook Pro, Apple Inc.
Thunderbolt Bus: MacBook Pro, Apple Inc.
Thunderbolt Device: PowerExpand Elite 12-in-1 Thunderbolt 4 Dock, ANKER, 1, 33.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment