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

brewtarget 4.0.1 doesn't work on macOS #809

Open
anthonykelly opened this issue Aug 12, 2024 · 20 comments · May be fixed by #874
Open

brewtarget 4.0.1 doesn't work on macOS #809

anthonykelly opened this issue Aug 12, 2024 · 20 comments · May be fixed by #874

Comments

@anthonykelly
Copy link

Brewtarget 4.0.1 quits on startup on macOS:

image

The details from clicking on Report.. are:

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               Brewtarget [31794]
Path:                  /Applications/brewtarget_4.0.1.app/Contents/MacOS/Brewtarget
Identifier:            com.brewtarget.Brewtarget
Version:               4.0.1 (4.0.1)
Code Type:             ARM-64 (Native)
Parent Process:        launchd [1]
User ID:               502

Date/Time:             2024-08-12 09:26:16.4278 +0100
OS Version:            macOS 14.6.1 (23G93)
Report Version:        12
Anonymous UUID:        EDBB4460-1137-A341-46E5-F2B759D1485C

Sleep/Wake UUID:       8FF3A03A-1C34-4951-BDAD-40A1B0919D31

Time Awake Since Boot: 30000 seconds
Time Since Wake:       1388 seconds

System Integrity Protection: enabled

Crashed Thread:        0

Exception Type:        EXC_BAD_ACCESS (SIGKILL (Code Signature Invalid))
Exception Codes:       UNKNOWN_0x32 at 0x0000000103a30000
Exception Codes:       0x0000000000000032, 0x0000000103a30000

Termination Reason:    Namespace CODESIGNING, Code 2 Invalid Page

VM Region Info: 0x103a30000 is in 0x103a30000-0x103f94000;  bytes after start: 0  bytes before end: 5652479
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      dyld private memory         103a2c000-103a30000    [   16K] ---/--- SM=NUL  
--->  mapped file                 103a30000-103f94000    [ 5520K] r--/rwx SM=COW  Object_id=47762633
      GAP OF 0x65b30000 BYTES
      Stack Guard                 169ac4000-16d2c8000    [ 56.0M] ---/rwx SM=NUL  

Thread 0 Crashed:
0   dyld                          	       0x19f14d18c dyld3::MachOFile::compatibleSlice(Diagnostics&, void const*, unsigned long, char const*, dyld3::Platform, bool, dyld3::GradedArchs const&, bool) + 84
1   dyld                          	       0x19f11db6c invocation function for block in dyld4::JustInTimeLoader::makeJustInTimeLoaderDisk(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, bool, unsigned int, mach_o::Layout const*) + 96
2   dyld                          	       0x19f1221a4 dyld4::SyscallDelegate::withReadOnlyMappedFile(Diagnostics&, char const*, bool, void (void const*, unsigned long, bool, dyld4::FileID const&, char const*) block_pointer) const + 132
3   dyld                          	       0x19f11dad8 dyld4::JustInTimeLoader::makeJustInTimeLoaderDisk(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, bool, unsigned int, mach_o::Layout const*) + 208
4   dyld                          	       0x19f112878 dyld4::Loader::makeDiskLoader(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, bool, unsigned int, mach_o::Layout const*) + 172
5   dyld                          	       0x19f113fc4 invocation function for block in dyld4::Loader::getLoader(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&) + 2332
6   dyld                          	       0x19f112cd4 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) + 184
7   dyld                          	       0x19f101d08 dyld4::ProcessConfig::PathOverrides::forEachPathVariant(char const*, dyld3::Platform, bool, bool, bool&, void (char const*, dyld4::ProcessConfig::PathOverrides::Type, bool&) block_pointer) const + 556
8   dyld                          	       0x19f112a5c dyld4::Loader::forEachPath(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, void (char const*, dyld4::ProcessConfig::PathOverrides::Type, bool&) block_pointer) + 248
9   dyld                          	       0x19f113150 dyld4::Loader::getLoader(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&) + 492
10  dyld                          	       0x19f11bb90 invocation function for block in dyld4::JustInTimeLoader::loadDependents(Diagnostics&, dyld4::RuntimeState&, dyld4::Loader::LoadOptions const&) + 388
11  dyld                          	       0x19f13bca0 invocation function for block in mach_o::Header::forEachDependentDylib(void (char const*, mach_o::DependentDylibAttributes, mach_o::Version32, mach_o::Version32, bool&) block_pointer) const + 136
12  dyld                          	       0x19f13b4cc mach_o::Header::forEachLoadCommand(void (load_command const*, bool&) block_pointer) const + 284
13  dyld                          	       0x19f13b994 mach_o::Header::forEachDependentDylib(void (char const*, mach_o::DependentDylibAttributes, mach_o::Version32, mach_o::Version32, bool&) block_pointer) const + 160
14  dyld                          	       0x19f11b8ec dyld4::JustInTimeLoader::loadDependents(Diagnostics&, dyld4::RuntimeState&, dyld4::Loader::LoadOptions const&) + 164
15  dyld                          	       0x19f0ff88c dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) + 1232
16  dyld                          	       0x19f0feef4 start + 1868


Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x000000016dac20c8   x1: 0x0000000103a30000   x2: 0x00000000005605a0   x3: 0x000000016dac21f0
    x4: 0x0000000000000001   x5: 0x0000000000000000   x6: 0x000000019f173460   x7: 0x0000000000000000
    x8: 0x85093daa1c8d00e1   x9: 0x000000019f11db0c  x10: 0x0000000001000011  x11: 0x0000000000000001
   x12: 0x000000016dac21f2  x13: 0x0000000000000000  x14: 0x000000027f31fe48  x15: 0x0000000000008000
   x16: 0x0000000000000006  x17: 0x000000019f0fcf90  x18: 0x0000000000000000  x19: 0x000000016dac20c8
   x20: 0x0000000103a30000  x21: 0x000000016dac21f0  x22: 0x0000000000000001  x23: 0x000000019f173460
   x24: 0x0000000000000000  x25: 0x0000000000000000  x26: 0x00000000005605a0  x27: 0x00000001039eee08
   x28: 0x0000000000000000   fp: 0x000000016dac19e0   lr: 0xeb3d00019f11db6c
    sp: 0x000000016dac1730   pc: 0x000000019f14d18c cpsr: 0x80001000
   far: 0x0000000103a30000  esr: 0x92000007 (Data Abort) byte read Translation fault

Binary Images:
       0x10233c000 -        0x1030e7fff com.brewtarget.Brewtarget (4.0.1) <b20a764c-45bc-3f7a-9c8a-eeaeaedffeff> /Applications/brewtarget_4.0.1.app/Contents/MacOS/Brewtarget
       0x19f0f9000 -        0x19f182507 dyld (*) <f635824e-318b-3f0c-842c-c369737f2b68> /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=543.6M resident=0K(0%) swapped_out_or_unallocated=543.6M(100%)
Writable regions: Total=12.6M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=12.6M(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
STACK GUARD                       56.0M        1 
Stack                             8176K        1 
__DATA                             491K        3 
__DATA_CONST                       327K        2 
__DATA_DIRTY                         7K        1 
__LINKEDIT                       529.4M        2 
__TEXT                            14.2M        2 
dyld private memory               4384K        4 
mapped file                       5520K        1 
===========                     =======  ======= 
TOTAL                            618.1M       17 



-----------
Full Report
-----------

{"app_name":"Brewtarget","timestamp":"2024-08-12 09:26:16.00 +0100","app_version":"4.0.1","slice_uuid":"b20a764c-45bc-3f7a-9c8a-eeaeaedffeff","build_version":"4.0.1","platform":1,"bundleID":"com.brewtarget.Brewtarget","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 14.6.1 (23G93)","roots_installed":0,"name":"Brewtarget","incident_id":"626B4E44-295B-4E45-A1FC-27EBD84D5F4B"}
{
  "uptime" : 30000,
  "procRole" : "Default",
  "version" : 2,
  "userID" : 502,
  "deployVersion" : 210,
  "modelCode" : "MacBookPro18,1",
  "coalitionID" : 11752,
  "osVersion" : {
    "train" : "macOS 14.6.1",
    "build" : "23G93",
    "releaseType" : "User"
  },
  "captureTime" : "2024-08-12 09:26:16.4278 +0100",
  "codeSigningMonitor" : 1,
  "incident" : "626B4E44-295B-4E45-A1FC-27EBD84D5F4B",
  "pid" : 31794,
  "translated" : false,
  "cpuType" : "ARM-64",
  "roots_installed" : 0,
  "bug_type" : "309",
  "procLaunch" : "2024-08-12 09:26:16.3819 +0100",
  "procStartAbsTime" : 728888352197,
  "procExitAbsTime" : 728889188579,
  "procName" : "Brewtarget",
  "procPath" : "\/Applications\/brewtarget_4.0.1.app\/Contents\/MacOS\/Brewtarget",
  "bundleInfo" : {"CFBundleShortVersionString":"4.0.1","CFBundleVersion":"4.0.1","CFBundleIdentifier":"com.brewtarget.Brewtarget"},
  "storeInfo" : {"deviceIdentifierForVendor":"DF176898-887A-5A74-A6F5-B68AAA73F8F3","thirdParty":true},
  "parentProc" : "launchd",
  "parentPid" : 1,
  "coalitionName" : "com.brewtarget.Brewtarget",
  "crashReporterKey" : "EDBB4460-1137-A341-46E5-F2B759D1485C",
  "codeSigningID" : "Brewtarget",
  "codeSigningTeamID" : "",
  "codeSigningFlags" : 587334144,
  "codeSigningValidationCategory" : 0,
  "codeSigningTrustLevel" : 4294967295,
  "instructionByteStream" : {"beforePC":"+AMFqvYDBKr1AwOq+gMCqvQDAarzAwCqSAw08AgBPJEIAUD5qIMa+A==","atPC":"KABAuQkBCDJK2Z9SSve3cj8BCmvhAQBU\/\/8EqeVDAZHmIwGR5x8BkQ=="},
  "wakeTime" : 1388,
  "sleepWakeUUID" : "8FF3A03A-1C34-4951-BDAD-40A1B0919D31",
  "sip" : "enabled",
  "vmRegionInfo" : "0x103a30000 is in 0x103a30000-0x103f94000;  bytes after start: 0  bytes before end: 5652479\n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      dyld private memory         103a2c000-103a30000    [   16K] ---\/--- SM=NUL  \n--->  mapped file                 103a30000-103f94000    [ 5520K] r--\/rwx SM=COW  Object_id=47762633\n      GAP OF 0x65b30000 BYTES\n      Stack Guard                 169ac4000-16d2c8000    [ 56.0M] ---\/rwx SM=NUL  ",
  "exception" : {"codes":"0x0000000000000032, 0x0000000103a30000","rawCodes":[50,4355981312],"type":"EXC_BAD_ACCESS","signal":"SIGKILL (Code Signature Invalid)","subtype":"UNKNOWN_0x32 at 0x0000000103a30000"},
  "termination" : {"flags":0,"code":2,"namespace":"CODESIGNING","indicator":"Invalid Page"},
  "vmregioninfo" : "0x103a30000 is in 0x103a30000-0x103f94000;  bytes after start: 0  bytes before end: 5652479\n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      dyld private memory         103a2c000-103a30000    [   16K] ---\/--- SM=NUL  \n--->  mapped file                 103a30000-103f94000    [ 5520K] r--\/rwx SM=COW  Object_id=47762633\n      GAP OF 0x65b30000 BYTES\n      Stack Guard                 169ac4000-16d2c8000    [ 56.0M] ---\/rwx SM=NUL  ",
  "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":631193,"threadState":{"x":[{"value":6134964424},{"value":4355981312},{"value":5637536},{"value":6134964720},{"value":1},{"value":0},{"value":6964065376,"symbolLocation":0,"symbol":"dyld3::GradedArchs::arm64e_keysoff"},{"value":0},{"value":9586261082667548897},{"value":6963714828,"symbolLocation":0,"symbol":"invocation function for block in dyld4::JustInTimeLoader::makeJustInTimeLoaderDisk(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, bool, unsigned int, mach_o::Layout const*)"},{"value":16777233},{"value":1},{"value":6134964722},{"value":0},{"value":10723917384},{"value":32768},{"value":6},{"value":6963580816,"symbolLocation":56,"symbol":"fcntl"},{"value":0},{"value":6134964424},{"value":4355981312},{"value":6134964720},{"value":1},{"value":6964065376,"symbolLocation":0,"symbol":"dyld3::GradedArchs::arm64e_keysoff"},{"value":0},{"value":0},{"value":5637536},{"value":4355714568},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":16950704579456129900},"cpsr":{"value":2147487744},"fp":{"value":6134962656},"sp":{"value":6134961968},"esr":{"value":2449473543,"description":"(Data Abort) byte read Translation fault"},"pc":{"value":6963909004,"matchesCrashFrame":1},"far":{"value":4355981312}},"frames":[{"imageOffset":344460,"symbol":"dyld3::MachOFile::compatibleSlice(Diagnostics&, void const*, unsigned long, char const*, dyld3::Platform, bool, dyld3::GradedArchs const&, bool)","symbolLocation":84,"imageIndex":1},{"imageOffset":150380,"symbol":"invocation function for block in dyld4::JustInTimeLoader::makeJustInTimeLoaderDisk(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, bool, unsigned int, mach_o::Layout const*)","symbolLocation":96,"imageIndex":1},{"imageOffset":168356,"symbol":"dyld4::SyscallDelegate::withReadOnlyMappedFile(Diagnostics&, char const*, bool, void (void const*, unsigned long, bool, dyld4::FileID const&, char const*) block_pointer) const","symbolLocation":132,"imageIndex":1},{"imageOffset":150232,"symbol":"dyld4::JustInTimeLoader::makeJustInTimeLoaderDisk(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, bool, unsigned int, mach_o::Layout const*)","symbolLocation":208,"imageIndex":1},{"imageOffset":104568,"symbol":"dyld4::Loader::makeDiskLoader(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, bool, unsigned int, mach_o::Layout const*)","symbolLocation":172,"imageIndex":1},{"imageOffset":110532,"symbol":"invocation function for block in dyld4::Loader::getLoader(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&)","symbolLocation":2332,"imageIndex":1},{"imageOffset":105684,"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":184,"imageIndex":1},{"imageOffset":36104,"symbol":"dyld4::ProcessConfig::PathOverrides::forEachPathVariant(char const*, dyld3::Platform, bool, bool, bool&, void (char const*, dyld4::ProcessConfig::PathOverrides::Type, bool&) block_pointer) const","symbolLocation":556,"imageIndex":1},{"imageOffset":105052,"symbol":"dyld4::Loader::forEachPath(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&, void (char const*, dyld4::ProcessConfig::PathOverrides::Type, bool&) block_pointer)","symbolLocation":248,"imageIndex":1},{"imageOffset":106832,"symbol":"dyld4::Loader::getLoader(Diagnostics&, dyld4::RuntimeState&, char const*, dyld4::Loader::LoadOptions const&)","symbolLocation":492,"imageIndex":1},{"imageOffset":142224,"symbol":"invocation function for block in dyld4::JustInTimeLoader::loadDependents(Diagnostics&, dyld4::RuntimeState&, dyld4::Loader::LoadOptions const&)","symbolLocation":388,"imageIndex":1},{"imageOffset":273568,"symbol":"invocation function for block in mach_o::Header::forEachDependentDylib(void (char const*, mach_o::DependentDylibAttributes, mach_o::Version32, mach_o::Version32, bool&) block_pointer) const","symbolLocation":136,"imageIndex":1},{"imageOffset":271564,"symbol":"mach_o::Header::forEachLoadCommand(void (load_command const*, bool&) block_pointer) const","symbolLocation":284,"imageIndex":1},{"imageOffset":272788,"symbol":"mach_o::Header::forEachDependentDylib(void (char const*, mach_o::DependentDylibAttributes, mach_o::Version32, mach_o::Version32, bool&) block_pointer) const","symbolLocation":160,"imageIndex":1},{"imageOffset":141548,"symbol":"dyld4::JustInTimeLoader::loadDependents(Diagnostics&, dyld4::RuntimeState&, dyld4::Loader::LoadOptions const&)","symbolLocation":164,"imageIndex":1},{"imageOffset":26764,"symbol":"dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*)","symbolLocation":1232,"imageIndex":1},{"imageOffset":24308,"symbol":"start","symbolLocation":1868,"imageIndex":1}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "arm64",
    "base" : 4331913216,
    "CFBundleShortVersionString" : "4.0.1",
    "CFBundleIdentifier" : "com.brewtarget.Brewtarget",
    "size" : 14336000,
    "uuid" : "b20a764c-45bc-3f7a-9c8a-eeaeaedffeff",
    "path" : "\/Applications\/brewtarget_4.0.1.app\/Contents\/MacOS\/Brewtarget",
    "name" : "Brewtarget",
    "CFBundleVersion" : "4.0.1"
  },
  {
    "source" : "P",
    "arch" : "arm64e",
    "base" : 6963564544,
    "size" : 562440,
    "uuid" : "f635824e-318b-3f0c-842c-c369737f2b68",
    "path" : "\/usr\/lib\/dyld",
    "name" : "dyld"
  },
  {
    "size" : 0,
    "source" : "A",
    "base" : 0,
    "uuid" : "00000000-0000-0000-0000-000000000000"
  }
],
  "sharedCache" : {
  "base" : 6962806784,
  "size" : 4214358016,
  "uuid" : "bb3df3d3-38bd-304c-9233-e43de95f1903"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=543.6M resident=0K(0%) swapped_out_or_unallocated=543.6M(100%)\nWritable regions: Total=12.6M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=12.6M(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nSTACK GUARD                       56.0M        1 \nStack                             8176K        1 \n__DATA                             491K        3 \n__DATA_CONST                       327K        2 \n__DATA_DIRTY                         7K        1 \n__LINKEDIT                       529.4M        2 \n__TEXT                            14.2M        2 \ndyld private memory               4384K        4 \nmapped file                       5520K        1 \n===========                     =======  ======= \nTOTAL                            618.1M       17 \n",
  "legacyInfo" : {
  "threadTriggered" : {

  }
},
  "logWritingSignature" : "d887e44f3c727916468edf52f0876995e8302125",
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "61675b89201f677a9a4cbd65",
      "factorPackIds" : {
        "HEALTH_FEATURE_AVAILABILITY" : "65a855f5f087695cfac03d1f"
      },
      "deploymentId" : 240000131
    },
    {
      "rolloutId" : "65a8173205d942272410674b",
      "factorPackIds" : {
        "SIRI_HOME_AUTOMATION_SERVER_FLOW_DEPRECATION" : "65d39fa4cb0e2417d11ce5f6"
      },
      "deploymentId" : 240000001
    }
  ],
  "experiments" : [
    {
      "treatmentId" : "c47ab4cc-c9c3-4b5d-a87c-e2433ce02597",
      "experimentId" : "6639bc6ba73d460582162323",
      "deploymentId" : 400000006
    },
    {
      "treatmentId" : "45f4e2a5-551b-4bc2-a2dc-19c244dda8f8",
      "experimentId" : "6643969b3099cf28e049862f",
      "deploymentId" : 400000007
    }
  ]
}
}

Model: MacBookPro18,1, BootROM 10151.140.19, proc 10:8:2 processors, 32 GB, SMC 
Graphics: Apple M1 Pro, Apple M1 Pro, Built-In
Display: Color LCD, 3456 x 2234 Retina, Main, MirrorOff, Online
Display: 2490W1, 1920 x 1080 (1080p FHD - Full High Definition), MirrorOff, Online
Memory Module: LPDDR5, Hynix
AirPort: spairport_wireless_card_type_wifi (0x14E4, 0x4387), wl0: May 13 2024 23:59:32 version 20.103.15.0.8.7.175 FWID 01-fd39ee3a
AirPort: 
Bluetooth: Version (null), 0 services, 0 devices, 0 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB31Bus
USB Device: USB31Bus
USB Device: USB31Bus
Thunderbolt Bus: MacBook Pro, Apple Inc.
Thunderbolt Bus: MacBook Pro, Apple Inc.
Thunderbolt Bus: MacBook Pro, Apple Inc.
@matty0ung
Copy link
Contributor

Thanks for all the debug info. Do you have the log file too?

@anthonykelly
Copy link
Author

anthonykelly commented Aug 12, 2024

It looks like it doesn't even get far enough to start the logging.

See below, I removed. the log file tried to launch v4.0.1 and there is still no log file. I then launched v3.0.11 (which works) and the log file is populated.

akelly@MBP-JQ01WW22X1 ~/L/P/brewtarget> pwd
/Users/akelly/Library/Preferences/brewtarget

akelly@MBP-JQ01WW22X1 ~/L/P/brewtarget> rm brewtarget.log

akelly@MBP-JQ01WW22X1 ~/L/P/brewtarget> /Applications/brewtarget_4.0.1.app/Contents/MacOS/Brewtarget
fish: Job 1, '/Applications/brewtarget_4.0.1.…' terminated by signal SIGKILL (Forced quit)

akelly@MBP-JQ01WW22X1 ~/L/P/brewtarget [SIGKILL]> cat brewtarget.log
cat: brewtarget.log: No such file or directory

akelly@MBP-JQ01WW22X1 ~/L/P/brewtarget [1]> /Applications/brewtarget_3.0.11.app/Contents/MacOS/Brewtarget

*** lots of STDOUT output from v3.0.11 removed *** 

akelly@MBP-JQ01WW22X1 ~/L/P/brewtarget> cat brewtarget.log
[11:05:10.332] (3z1zeps) INFO : Starting Brewtarget v 3.0.11  (app name "brewtarget" ) on  "macOS 14.6"  [main.cpp:195]
[11:05:10.332] (3z1zeps) INFO : Built at Sun Feb  4 15:06:55 UTC 2024 on darwin for darwin with clang compiler  [main.cpp:198]
[11:05:10.332] (3z1zeps) INFO : Log directory: "/Users/akelly/Library/Preferences/brewtarget"  [main.cpp:201]
[11:05:10.332] (3z1zeps) INFO : Using Qt runtime v 5.15.12  (compiled against Qt v 5.15.12 )  [main.cpp:202]
[11:05:10.332] (3z1zeps) INFO : Configuration directory: "/Users/akelly/Library/Preferences/brewtarget"  [main.cpp:203]
[11:05:10.332] (3z1zeps) INFO : Data directory: "/Users/akelly/Library/Preferences/brewtarget"  [main.cpp:204]
[11:05:10.332] (3z1zeps) INFO : void (anonymous namespace)::initResourceDir(QDir &) Determined resource directory is "/Applications/brewtarget_3.0.11.app/Contents/Resources"  [Application.cpp:342]
[11:05:10.332] (3z1zeps) INFO : Resource directory: "/Applications/brewtarget_3.0.11.app/Contents/Resources"  [main.cpp:205]
[11:05:10.391] (3z1zeps) INFO : bool Database::load() Known DB drivers:  ("QSQLITE")  [database/Database.cpp:638]
[11:05:10.391] (3z1zeps) INFO : bool Database::impl::loadSQLite(Database &) dbFileName = " /Users/akelly/Library/Preferences/brewtarget/database.sqlite "
dataDbFileName=" /Applications/brewtarget_3.0.11.app/Contents/MacOS/../Resources/default_db.sqlite "  [database/Database.cpp:251]
[11:05:10.393] (3z1zeps) INFO : bool Database::impl::loadSQLite(Database &) SQLite version QVariant(QString, "3.39.2")  [database/Database.cpp:303]
[11:05:10.395] (3z1zeps) INFO : bool Database::impl::updateSchema(Database &, bool *) Schema version in DB: 10 , current schema version in code: 10  [database/Database.cpp:399]
[11:05:10.817] (3z1zeps) WARNING : Populating font family aliases took 187 ms. Replace uses of missing font family "Sans Serif" with one that exists to avoid this cost.   [:0]

@anthonykelly
Copy link
Author

anthonykelly commented Aug 12, 2024

I should add that when I first install v4.0.1 and try to run it I get this error:
image
Clicking the ? on this message box show this Help:
image

After googling I came across this post on the macOS community and so ran xattr -c /Applications/brewtarget_4.0.1.app/ as suggested.

It's only then that I get the error reported above:
image
The line in the debug report Termination Reason: Namespace CODESIGNING, Code 2 Invalid Page makes me think it some macOS security (code signing) getting in the way.

@matty0ung
Copy link
Contributor

Hmm, I wonder if we have to work out how to sign the app - at least that seems to be what's suggested at ahrm/sioyek#806

@anthonykelly
Copy link
Author

anthonykelly commented Aug 12, 2024

I was able to build 4.0.1 on my mac and it runs successfully.

However, my mac architecture is arm64 not x86-64 so I had to change one line in CMakeLists.txt before running the build process.

   set(CMAKE_OSX_ARCHITECTURES arm64) # Build arm64 for Apple silicon
   #set(CMAKE_OSX_ARCHITECTURES x86_64) # Build intel 64-bit binary.

Perhaps you could try the following to include both architectures
set(CMAKE_OSX_ARCHITECTURES x86_64, arm64) # Build both x86_64 and arm64 for Apple silicon

I don't know if this is really the underlying problem with the release macOS build; perhaps the code signature issue doesn't apply when you build and run locally but for now this is enough for me to move to v4.

@matty0ung
Copy link
Contributor

Ah, OK, brilliant. Glad you got it working.

Will have a look at the compiler flags. Maybe we can do an Arm and an Intel build.

@matty0ung
Copy link
Contributor

Just a quick note to say I haven't forgotten about this. From what I understand we definitely need to think about separate ARM and Intel builds. I read that the ARM Macs can run Intel binaries, but not the other way around.

At the moment, I'm leaning towards thinking we should ship ARM binaries and then encourage anyone still on Intel (which is hardware over 4 years old) to build from source - mainly because GitHub MacOS actions run on ARM hardware. (I'm sure we'd be able to cross-compile Intel binaries on ARM, but I'm less sure about how easy it would be to do Intel packaging on ARM hardware.)

@anthonykelly
Copy link
Author

anthonykelly commented Oct 23, 2024

No worries. I did manage to build 4.0.7 locally on my mac so that's still good enough for me right now.

I also have an Ubuntu VM on the ARM Mac where I can do an Ubuntu build on ARM architecture. Since 4.0.7 this build is crashing on startup with './brewtarget' terminated by signal SIGSEGV (Address boundary error). Prior to 4.0.7 this wasn't happening. I'm not too concerned about this as it was just an experiment, I'm not using Brewtarget on Ubuntu on ARM but just thought I'd mention it. To be clear the Ubuntu ARM build completes cleanly but the application crashes on startup.

@matty0ung
Copy link
Contributor

Ah, hmm, interesting. Could be all sorts of things for the problem on ARM Ubuntu. Might have to wait until someone with the relevant hardware is able to reproduce and dig into the stack trace in the core file. But, in the meantime, if it's not blocking you, that's good.

@matty0ung
Copy link
Contributor

OK, to come back to the MacOS issue, from what I've been able to glean from various sources, it's not a compilation or packaging issue that we can resolve (without at least paying Apple some money). The suggestions are to run the following two commands (ie the one you mentioned before and an additional one) in the console (with the appropriate substitution for <path/to/application.app>):

$ xattr -c <path/to/application.app>
$ codesign --force --deep -s - <path/to/application.app>

This assumes you have Xcode already installed.

If you get a chance to try this at some point, I'd be keen to hear how you get on.

@anthonykelly
Copy link
Author

anthonykelly commented Oct 29, 2024

Still aborts on startup but it's a different reason. Is there some QT library missing? I did install QT6 with brew install qt.

~> xattr -c /Applications/brewtarget_4.0.8.app
~> codesign --force --deep -s - /Applications/brewtarget_4.0.8.app
/Applications/brewtarget_4.0.8.app: replacing existing signature
~> /Applications/brewtarget_4.0.8.app/Contents/MacOS/Brewtarget
dyld[24279]: Library not loaded: @rpath/QtDBus.framework/Versions/A/QtDBus
  Referenced from: <98E7CEF7-74D5-3657-9DA9-5CBBCFDDA86B> /Applications/brewtarget_4.0.8.app/Contents/Frameworks/QtGui.framework/Versions/A/QtGui
  Reason: tried: '/Applications/brewtarget_4.0.8.app/Contents/Frameworks/QtGui.framework/Versions/A/../../../QtDBus.framework/Versions/A/QtDBus' (no such file), '/Applications/brewtarget_4.0.8.app/Contents/Frameworks/QtDBus.framework/Versions/A/QtDBus' (no such file), '/Applications/brewtarget_4.0.8.app/Contents/Frameworks/QtDBus.framework/Versions/A/QtDBus' (no such file)
fish: Job 1, '/Applications/brewtarget_4.0.8.…' terminated by signal SIGABRT (Abort)
~ [SIGABRT]>

I wonder could this be the root of the problem?

@anthonykelly
Copy link
Author

I should also add that to build locally since the move to Qt6 I've had to comment out line 621 (add_executable(Qt6::macdeployqt IMPORTED)) in CMakeList.txt.

If I don't I get this error running ./configure:

-- Could NOT find WrapVulkanHeaders (missing: Vulkan_INCLUDE_DIR)
CMake Error at CMakeLists.txt:621 (add_executable):
  add_executable cannot create imported target "Qt6::macdeployqt" because
  another target with the same name already exists.

@matty0ung
Copy link
Contributor

After installing Qt 6, there are some other things you need to do to make the compilation work on Mac, including:

brew link --force qt6

and

export PATH="/usr/local/opt/qt@6/bin:$PATH"

Alternatively, if you go to the top directory of Brewtarget and run ./bt setup all, it attempts to do this all for you. (It's the same script we run to set everything up for the nightly builds.)

@anthonykelly
Copy link
Author

I got an Already Linked response for the first command and the Qt6 bin directory was already in my PATH.

@jtratcliff
Copy link

I tried 4.09 on an M1 Macbook... I run into a missing Qt Library... The Entire QtDBus.framework directory isn't present in /Applications/brewtarget_4.0.9.app/Contents/Frameworks

Termination Reason:    Namespace DYLD, Code 1 Library missing
Library not loaded: @rpath/QtDBus.framework/Versions/A/QtDBus

@matty0ung
Copy link
Contributor

Ah, hmm, OK. That's interesting. Looks like we're missing a library. Will try the fix at https://doc.qt.io/qt-6/macos-issues.html#d-bus-and-macos.

@jtratcliff
Copy link

Hold up... I didn't notice the other missing QtNetwork.framework and only cut & pasted the DBus one... Here's the rest:

Termination Reason:    Namespace DYLD, Code 1 Library missing
Library not loaded: @rpath/QtDBus.framework/Versions/A/QtDBus
Referenced from: <98E7CEF7-74D5-3657-9DA9-5CBBCFDDA86B> /Applications/brewtarget_4.0.9.app/Contents/Frameworks/QtGui.framework/Versions/A/QtGui
Reason: tried: '/Applications/brewtarget_4.0.9.app/Contents/Frameworks/QtGui.framework/Versions/A/../../../QtDBus.framework/Versions/A/QtDBus' (no such file), '/Applications/brewtarget_4.0.9.app/Contents/Frameworks/QtDBus.framework/Versions/A/QtDBus' (no such file), '/Applications/brewtarget_4.0.9.app/Contents/Frameworks/QtDBus.framework/Versions/A/QtDBus' (no such file)Library not loaded: @rpath/QtNetwork.framework/Versions/A/QtNetwork
Referenced from: <7D13C9F4-DF81-3375-9E8D-495943E84344> /Applications/brewtarget_4.0.9.app/Contents/Frameworks/QtMultimedia.framework/Versions/A/QtMultimedia
Reason: tried: '/Applications/brewtarget_4.0.9.app/Contents/Frameworks/QtMultimedia.framework/Versions/A/../../../QtNetwork.framework/Versions/A/QtNetwork' (no such file), '/Applications/brewtarget_4.0.9.app/Co
(terminated at launch; ignore backtrace)

@matty0ung
Copy link
Contributor

If you have homebrew installed, could you try:

$ brew install dbus
$ brew install dbus-glib

And then rerun Brewtarget and see if it makes any difference?

@jtratcliff
Copy link

Already had dbus... Adding dbus-glib didn't seem to make a difference:

Termination Reason:    Namespace DYLD, Code 1 Library missing
Library not loaded: @rpath/QtDBus.framework/Versions/A/QtDBus
Referenced from: <98E7CEF7-74D5-3657-9DA9-5CBBCFDDA86B> /Applications/brewtarget_4.0.9.app/Contents/Frameworks/QtGui.framework/Versions/A/QtGui
Reason: tried: '/Applications/brewtarget_4.0.9.app/Contents/Frameworks/QtGui.framework/Versions/A/../../../QtDBus.framework/Versions/A/QtDBus' (no such file), '/Applications/brewtarget_4.0.9.app/Contents/Frameworks/QtDBus.framework/Versions/A/QtDBus' (no such file), '/Applications/brewtarget_4.0.9.app/Contents/Frameworks/QtDBus.framework/Versions/A/QtDBus' (no such file)

Library not loaded: @rpath/QtNetwork.framework/Versions/A/QtNetwork
Referenced from: <7D13C9F4-DF81-3375-9E8D-495943E84344> /Applications/brewtarget_4.0.9.app/Contents/Frameworks/QtMultimedia.framework/Versions/A/QtMultimedia
Reason: tried: '/Applications/brewtarget_4.0.9.app/Contents/Frameworks/QtMultimedia.framework/Versions/A/../../../QtNetwork.framework/Versions/A/QtNetwork' (no such file), '/Applications/brewtarget_4.0.9.app/Co
(terminated at launch; ignore backtrace)

@matty0ung
Copy link
Contributor

Thanks for trying this. I've been doing some more digging. It turns out we are getting some errors during Mac packaging from the macdeployqt tool. It is possible they are related to this issue Homebrew/brew#15354. I will have a look at whether we can do some sort of workaround.

@matty0ung matty0ung linked a pull request Nov 7, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants