Skip to content

macos 15.4 segmentation fault #470

Closed

Description

@cxwx

after upgrade macos 15.4 xcode 16.3

╰─ gitx ─╯
zsh: segmentation fault gitx

Activity

  1. hannesa2 commented on Apr 8, 2025

    @hannesa2
    Contributor

    Ohh no ! Unfortunately even the CI doesn't work anymore
    But I'm the wrong guy for fixing segmentation faults

  2. hannesa2 commented on Apr 25, 2025

    @hannesa2
    Contributor

    I've fear to update my mac to 15.4 concerning this issue.

    Can someone confirm, that a MacOS 15.4 prevent a properly working gitx ?
    Or better: does is work for someone with MacOS 15.4.

  3. cxwx commented on Apr 25, 2025

    @cxwx
    Author

    I've reinstall gitx from homebrew, It worked now, not sure which deps cause this errors.

  4. justincbeck commented on Apr 25, 2025

    @justincbeck

    I've had no issues on the latest (as of today) of MacOS.

  5. philip-updoc commented on Aug 11, 2025

    @philip-updoc

    I'm seeing a segmentation fault on my M4 mac running Mac OS 15.6.

    Here's the log

    {"app_name":"gitx","timestamp":"2025-08-10 20:12:20.00 -0700","app_version":"0.12","slice_uuid":"329644ba-c657-3998-83f2-3dd20087bc18","build_version":"0.12","platform":1,"share_with_app_devs":0,"is_first_party":1,"bug_type":"309","os_version":"macOS 15.6 (24G84)","roots_installed":0,"incident_id":"E466BEDF-6D19-44A9-A2EA-0354257C4F52","name":"gitx"}
    {
      "uptime" : 17000,
      "procRole" : "Unspecified",
      "version" : 2,
      "userID" : 501,
      "deployVersion" : 210,
      "modelCode" : "Mac16,6",
      "coalitionID" : 2464,
      "osVersion" : {
        "train" : "macOS 15.6",
        "build" : "24G84",
        "releaseType" : "User"
      },
      "captureTime" : "2025-08-10 20:12:20.4095 -0700",
      "codeSigningMonitor" : 2,
      "incident" : "E466BEDF-6D19-44A9-A2EA-0354257C4F52",
      "pid" : 25379,
      "translated" : false,
      "cpuType" : "ARM-64",
      "roots_installed" : 0,
      "bug_type" : "309",
      "procLaunch" : "2025-08-10 20:12:20.3906 -0700",
      "procStartAbsTime" : 412999172264,
      "procExitAbsTime" : 412999620353,
      "procName" : "gitx",
      "procPath" : "\/Applications\/GitX.app\/Contents\/Resources\/gitx",
      "bundleInfo" : {"CFBundleVersion":"0.12","CFBundleShortVersionString":"0.12"},
      "parentProc" : "zsh",
      "parentPid" : 19861,
      "coalitionName" : "com.googlecode.iterm2",
      "crashReporterKey" : "489A4364-E6D4-ADB1-6EAC-645FE31D0A60",
      "appleIntelligenceStatus" : {"state":"unavailable","reasons":["siriAssetIsNotReady","notOptedIn","assetIsNotReady"]},
      "responsiblePid" : 10794,
      "responsibleProc" : "iTerm2",
      "codeSigningID" : "net.phere.GitX",
      "codeSigningTeamID" : "4RZN52RN5P",
      "codeSigningFlags" : 570503953,
      "codeSigningValidationCategory" : 6,
      "codeSigningTrustLevel" : 4294967295,
      "codeSigningAuxiliaryInfo" : 0,
      "instructionByteStream" : {"beforePC":"HwkAuaiDX\/gfBQC5AQAAFP17Qqn\/wwCRwANf1v9DANHgBwD56AdA+Q==","atPC":"CAVAueADCKr\/QwCRwANf1v+DANH9ewGp\/UMAkeAHAPnhAwD54AdA+Q=="},
      "bootSessionUUID" : "800E17BD-CEB1-40D0-AF51-C964E088D934",
      "sleepWakeUUID" : "95C78CA6-461D-4DC1-99F0-505AC84CAC38",
      "sip" : "enabled",
      "vmRegionInfo" : "0x4 is not in any region.  Bytes before following region: 4338319356\n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      UNUSED SPACE AT START\n--->  \n      __TEXT                      102958000-10295c000    [   16K] r-x\/r-x SM=COW  \/Applications\/GitX.app\/Contents\/Resources\/gitx",
      "exception" : {"codes":"0x0000000000000001, 0x0000000000000004","rawCodes":[1,4],"type":"EXC_BAD_ACCESS","signal":"SIGSEGV","subtype":"KERN_INVALID_ADDRESS at 0x0000000000000004"},
      "termination" : {"flags":0,"code":11,"namespace":"SIGNAL","indicator":"Segmentation fault: 11","byProc":"exc handler","byPid":25379},
      "vmregioninfo" : "0x4 is not in any region.  Bytes before following region: 4338319356\n      REGION TYPE                    START - END         [ VSIZE] PRT\/MAX SHRMOD  REGION DETAIL\n      UNUSED SPACE AT START\n--->  \n      __TEXT                      102958000-10295c000    [   16K] r-x\/r-x SM=COW  \/Applications\/GitX.app\/Contents\/Resources\/gitx",
      "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":348357,"threadState":{"x":[{"value":0},{"value":0},{"value":0},{"value":5542772736},{"value":5542798480},{"value":27},{"value":0},{"value":18446744069414584832},{"value":0},{"value":1381452875},{"value":604407125247884},{"value":15},{"value":3},{"value":105553139679776},{"value":72057602352891625,"symbolLocation":72057594037927937,"symbol":"OBJC_CLASS_$___NSCFString"},{"value":8314963688,"symbolLocation":0,"symbol":"OBJC_CLASS_$___NSCFString"},{"value":6469797520,"symbolLocation":0,"symbol":"pthread_rwlock_wrlock"},{"value":6470392728,"symbolLocation":0,"symbol":"-[__NSCFString release]"},{"value":0},{"value":105553131291680},{"value":0},{"value":4338352984},{"value":8528741921,"objc-selector":"count"},{"value":8561351536,"objc-selector":"fileURLForURL:"},{"value":8528753191,"objc-selector":"objectAtIndex:"},{"value":8528750303,"objc-selector":"isEqualToString:"},{"value":0},{"value":0},{"value":105553182673216}],"flavor":"ARM_THREAD_STATE64","lr":{"value":4343962940},"cpsr":{"value":536870912},"fp":{"value":6128560544},"sp":{"value":6128560512},"esr":{"value":2449473542,"description":"(Data Abort) byte read Translation fault"},"pc":{"value":4344432552,"matchesCrashFrame":1},"far":{"value":4}},"queue":"com.apple.main-thread","frames":[{"imageOffset":591784,"symbol":"git_oidmap_size","symbolLocation":12,"imageIndex":1},{"imageOffset":122172,"symbol":"git_cache_size","symbolLocation":28,"imageIndex":1},{"imageOffset":122444,"symbol":"clear_cache","symbolLocation":28,"imageIndex":1},{"imageOffset":122388,"symbol":"git_cache_clear","symbolLocation":52,"imageIndex":1},{"imageOffset":804384,"symbol":"git_repository__cleanup","symbolLocation":92,"imageIndex":1},{"imageOffset":805248,"symbol":"git_repository_free","symbolLocation":52,"imageIndex":1},{"imageOffset":9928,"imageIndex":0},{"imageOffset":10528,"imageIndex":0},{"imageOffset":8808,"imageIndex":0},{"imageOffset":9232,"imageIndex":0},{"imageOffset":27544,"symbol":"start","symbolLocation":6076,"imageIndex":2}]}],
      "usedImages" : [
      {
        "source" : "P",
        "arch" : "arm64",
        "base" : 4338319360,
        "size" : 16384,
        "uuid" : "329644ba-c657-3998-83f2-3dd20087bc18",
        "path" : "\/usr\/local\/bin\/gitx",
        "name" : "gitx"
      },
      {
        "source" : "P",
        "arch" : "arm64",
        "base" : 4343840768,
        "CFBundleShortVersionString" : "1.0",
        "CFBundleIdentifier" : "net.phere.GitX",
        "size" : 2998272,
        "uuid" : "bdca0623-0748-3e39-806b-77f762c62bc6",
        "path" : "\/Applications\/GitX.app\/Contents\/Frameworks\/ObjectiveGit.framework\/Versions\/A\/ObjectiveGit",
        "name" : "ObjectiveGit"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 6465978368,
        "size" : 636280,
        "uuid" : "3247e185-ced2-36ff-9e29-47a77c23e004",
        "path" : "\/usr\/lib\/dyld",
        "name" : "dyld"
      },
      {
        "size" : 0,
        "source" : "A",
        "base" : 0,
        "uuid" : "00000000-0000-0000-0000-000000000000"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 6469783552,
        "size" : 51784,
        "uuid" : "d6494ba9-171e-39fc-b1aa-28ecf87975d1",
        "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
        "name" : "libsystem_pthread.dylib"
      },
      {
        "source" : "P",
        "arch" : "arm64e",
        "base" : 6470262784,
        "CFBundleShortVersionString" : "6.9",
        "CFBundleIdentifier" : "com.apple.CoreFoundation",
        "size" : 5500928,
        "uuid" : "8d45baee-6cc0-3b89-93fd-ea1c8e15c6d7",
        "path" : "\/System\/Library\/Frameworks\/CoreFoundation.framework\/Versions\/A\/CoreFoundation",
        "name" : "CoreFoundation",
        "CFBundleVersion" : "3603"
      }
    ],
      "sharedCache" : {
      "base" : 6465142784,
      "size" : 5040898048,
      "uuid" : "032c7bce-a479-35b8-97bc-ce7f8f80ccab"
    },
      "vmSummary" : "ReadOnly portion of Libraries: Total=910.1M resident=0K(0%) swapped_out_or_unallocated=910.1M(100%)\nWritable regions: Total=538.4M written=208K(0%) resident=208K(0%) swapped_out=0K(0%) unallocated=538.2M(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nKernel Alloc Once                   32K        1 \nMALLOC                           530.2M       13 \nMALLOC guard page                   96K        6 \nSTACK GUARD                       56.0M        1 \nStack                             8176K        1 \n__AUTH                            1145K      210 \n__AUTH_CONST                      24.7M      363 \n__DATA                            4815K      346 \n__DATA_CONST                      15.9M      368 \n__DATA_DIRTY                       689K      106 \n__FONT_DATA                        2352        1 \n__LINKEDIT                       617.4M        3 \n__OBJC_RO                         61.4M        1 \n__OBJC_RW                         2396K        1 \n__TEXT                           292.7M      383 \n__TPRO_CONST                       128K        2 \npage table in kernel               208K        1 \nshared memory                       32K        1 \n===========                     =======  ======= \nTOTAL                              1.6G     1808 \n",
      "legacyInfo" : {
      "threadTriggered" : {
        "queue" : "com.apple.main-thread"
      }
    },
      "logWritingSignature" : "b8ee4ca4eacff99b2e4752bb9890476c29dd2e32",
      "trialInfo" : {
      "rollouts" : [
        {
          "rolloutId" : "67648e5334a82511f4acf879",
          "factorPackIds" : {
    
          },
          "deploymentId" : 240000008
        },
        {
          "rolloutId" : "661464ecda55e5192b100804",
          "factorPackIds" : {
    
          },
          "deploymentId" : 240000005
        }
      ],
      "experiments" : [
    
      ]
    }
    }
    

    Interestingly, the super old build here works fine for me:

    https://github.com/rowanj/gitx/releases

  6. philip-updoc commented on Aug 11, 2025

    @philip-updoc

    Additional clues:

    • I can launch the GitX GUI but the gitx cli command segfaults.
    • In the GitX GUI, when I open a git repository directory I get an error that the directory is not a git repository.
  7. hannesa2 commented on Aug 11, 2025

    @hannesa2
    Contributor

    Interestingly, the super old build here works fine for me:

    https://github.com/rowanj/gitx/releases

    This super old version is x86.

    On my side with MacOS 15.6 (24G84) all works fine

  8. hannesa2 commented on Aug 11, 2025

    @hannesa2
    Contributor

    @philip-updoc maybe you can give #470 (comment) a chance

  9. philip-updoc commented on Aug 13, 2025

    @philip-updoc

    @philip-updoc maybe you can give #470 (comment) a chance

    When I try brew install gitx I get the same error as for the downloaded version. AFAICT they're the same version for me.

  10. philip-updoc commented on Feb 28, 2026

    @philip-updoc

    Tested again just now on 26.3 (25D125) and it still segfaults when I run gitx inside a git repository.

    If I open the GitX app directly, it will open. But when I try to use File -> Open to open a repository it always gives me this message:

    Image
  11. philip-updoc commented on Feb 28, 2026

    @philip-updoc

    After building myself and looking at the error console, it looks like this is due to an old version of libgit2 used by gitx:

    Error opening repository "/Users/philipneustrom/updoc": Error Domain=PBGitXErrorDomain Code=0 "The document “updoc” could not be opened. /Users/philipneustrom/updoc does not appear to be a git repository." UserInfo={NSUnderlyingError=0x952914e10 {Error Domain=PBGitXErrorDomain Code=0 "Repository initialization failed" UserInfo={NSUnderlyingError=0x952915c80 {Error Domain=GTGitErrorDomain Code=-1 "Failed to open repository at URL file:///Users/philipneustrom/updoc/.git/." UserInfo={NSLocalizedDescription=Failed to open repository at URL file:///Users/philipneustrom/updoc/.git/., NSUnderlyingError=0x9529164f0 {Error Domain=GTGitErrorDomain Code=-1 "failed to parse config file: Invalid configuration key (in /Users/philipneustrom/.config/delta/themes.gitconfig:310, column 0)" UserInfo=0x951fdb2a0 (not displayed)}}}, NSLocalizedDescription=Repository initialization failed, NSLocalizedFailureReason=/Users/philipneustrom/updoc does not appear to be a git repository.}}, NSLocalizedDescription=The document “updoc” could not be opened. /Users/philipneustrom/updoc does not appear to be a git repository., NSLocalizedFailureReason=/Users/philipneustrom/updoc does not appear to be a git repository.}
    

    I use the delta git pager and the multi-line configuration string causes the old version of libgit2 to choke. My .gitconfig includes:

      [include]                                                                                                                                                                               
          path = /Users/philipneustrom/.config/delta/themes.gitconfig 
    

    and libgit2 will parse all of the config files, even if they're not applicable to the calling app (gitx in this case).

    Here's the multi-line string the older libgit2 chokes on:

    map-styles = \                                                                                                                                                             
      bold purple => syntax "#feecf7", \                                                                                                                                      
      bold blue => syntax "#e5dff6", \                                                                                                                                        
      bold cyan => syntax "#d8fdf6", \                                                                                                                                        
      bold yellow => syntax "#f4ffe0"
    

    changing it to a single-line string fixed the issue:

    map-styles = bold purple => syntax "#feecf7", bold blue => syntax "#e5dff6", bold cyan => syntax "#d8fdf6", bold yellow => syntax "#f4ffe0"
    
  12. hannesa2 commented on Feb 28, 2026

    @hannesa2
    Contributor

    Curious why this happens on your side. I use MacOS 26.3 (25D125) and gitx 1.2 as well, and I don't see this. even I use > 200 repositories.
    Just to verify if it's a general or a local issue, it would be helpful when you zip your repo and send it to me (if possible)

  13. philip-updoc commented on Feb 28, 2026

    @philip-updoc

    Yes, it is a local issue. Fixing my config file fixed the issue. It's due to the old version of libgit2 used (v0.28.5) versus current release v1.8.5.

  14. hannesa2 commented on Feb 28, 2026

    @hannesa2
    Contributor

    I tried to bump libgit2 to 1.8.5
    gitx/objective-git#87
    #509
    https://github.com/gitx/objective-git/actions/runs/22514807949/job/65230642196?pr=87
    but it runs into

    [63](https://github.com/gitx/objective-git/actions/runs/22514807949/job/65230642196?pr=87#step:10:2864)
    In file included from /Users/runner/work/objective-git/objective-git/ObjectiveGit/GTTreeEntry.m:33:
    /Users/runner/work/objective-git/objective-git/ObjectiveGit/GTRepository.h:61:25: error: use of undeclared identifier 'GIT_TRANSPORTFLAGS_NONE'
       61 |         GTTransportFlagsNone = GIT_TRANSPORTFLAGS_NONE
          |                                ^
    /Users/runner/work/objective-git/objective-git/ObjectiveGit/GTRepository.h:242:212: error: unknown type name 'git_transfer_progress'; did you mean 'git_indexer_progress'?
      242 | + (instancetype _Nullable)cloneFromURL:(NSURL *)originURL toWorkingDirectory:(NSURL *)workdirURL options:(NSDictionary * _Nullable)options error:(NSError **)error transferProgressBlock:(void (^ _Nullable)(const git_transfer_progress *, BOOL *stop))transferProgressBlock;
    

    To be honest, I've no clue how to solve it

  15. paulnicholson commented on Mar 1, 2026

    @paulnicholson

    @hannesa2 I'd like to help with this. Gitx is randomly crashing quite often for me now and I'm hopeful that upgrading this will help. That constant was removed in v1.7.0 of libgit2, I'm working on fixing and testing in my fork.

  16. paulnicholson commented on Mar 1, 2026

    @paulnicholson

    @hannesa2 I got it to build on GitHub, https://github.com/paulnicholson/objective-git/actions/runs/22538294979/job/65289440144?pr=1. I can't get it to build on my machine because of a missing architecture in the External libraries. File 'External/libgit2.a': found architecture 'arm64', required architecture 'x86_64'. I'd like to get that solved before completing my changes.

  17. hannesa2 commented on Mar 6, 2026

    @hannesa2
    Contributor

    @paulnicholson I tried your branch and I run into an build error, but after this fix (I've no clue, if this is the right way)

    Image I was able to start and run.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions