sublime_merge
sublime_merge copied to clipboard
Crashes on macOS on UI actions
Version info
- OS: macOS 14.4.1
- Build: 2091
Description
On a large repo on a stage/unstage or a commit actions SM crashes sliently. Commit appears to be succeeded before the crash.
git gc
mitigated this issue, but did not fix it.
Steps to reproduce
I'm getting this on a single project, so here's the setup
Steps to reproduce the behaviour:
- Open a largerepo, in my case it's iOS project with ~500mb .git folder.
- Add 3 files as untracked.
- Modify around 8 files within the codebase.
- Hit shortcut to stage file (
super+enter
) (right on that it crashes).
Expected behavior
To stash, commit changes
Debug Information The Sublime Merge debug information can be used to narrow down the cause of an issue. It can be collected with the following steps:
- Open Sublime Merge
- Open the repository where the bug occurs
- Navigate to
Help > Debug Information
via the application menu - Before sharing, please redact any information that's sensitive such as file paths, git user information, remote URLs etc.
This section may be omitted/removed.
=== App Version Information ===
Build: 2091
=== Git Version Information ===
Using Git: git (system)
git version 2.44.0
PATH: /Users/user/.mint/bin:/Applications/Sublime Merge.app/Contents/SharedSupport/bin:/Applications/Sublime Text.app/Contents/SharedSupport/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Applications/Little Snitch.app/Contents/Components:/Users/user/.cargo/bin:/opt/homebrew/opt/openjdk@17/bin (from shell)
environment variables loaded using: /bin/zsh -l
=== Browse Page Information ===
HEAD: 789c59f05e3bada0ee926e957c60474cc28b0cd6
Is in merge: 0
Is in cherry_pick: 0
Is in rebase: 0
Is in revert: 0
=== Git Status Information ===
M Podfile
M Podfile.lock
M Shared/Services/Router/Router+RouterPresentable.swift
?? .gitattributes
?? .swift-version
?? .swiftformat
?? .swiftlint.yml
=== Our Status Information ===
M Podfile
M Podfile.lock
M Shared/Services/Router/Router+RouterPresentable.swift
?? .gitattributes
?? .swift-version
?? .swiftformat
?? .swiftlint.yml
=== Git Config Information ===
branch.XX-2179-update.merge=refs/heads/XX-2179-update
branch.XX-2179-update.remote=origin
branch.XX-3046-payment-view-transactions-fixes.merge=refs/heads/XX-3046-payment-view-transactions-fixes
branch.XX-3046-payment-view-transactions-fixes.remote=origin
branch.XX-3060-pro-detail-location-screen.merge=refs/heads/XX-3060-pro-detail-location-screen
branch.XX-3060-pro-detail-location-screen.remote=origin
branch.XX-3252-privacy-info.merge=refs/heads/XX-3252-privacy-info
branch.XX-3252-privacy-info.remote=origin
branch.bugfix/XX-1703-payments-screen-fixes.merge=refs/heads/bugfix/XX-1703-payments-screen-fixes
branch.bugfix/XX-1703-payments-screen-fixes.remote=origin
branch.bugfix/XX-2559.merge=refs/heads/bugfix/XX-2559
branch.bugfix/XX-2559.remote=origin
branch.bugfix/XX-2577.merge=refs/heads/bugfix/XX-2577
branch.bugfix/XX-2577.remote=origin
branch.bugfix/XX-3060-pro-details.merge=refs/heads/bugfix/XX-3060-pro-details
branch.bugfix/XX-3060-pro-details.remote=origin
branch.bugfix/XX-3061-location-picker-fix.merge=refs/heads/bugfix/XX-3061-location-picker-fix
branch.bugfix/XX-3061-location-picker-fix.remote=origin
branch.bugfix/duplicating-assets-fix.merge=refs/heads/bugfix/duplicating-assets-fix
branch.bugfix/duplicating-assets-fix.remote=origin
branch.design3-dev.merge=refs/heads/design3-dev
branch.design3-dev.remote=origin
branch.dev.merge=refs/heads/dev
branch.dev.remote=origin
branch.feature/XX-1181-release-notes-redesign.merge=refs/heads/feature/XX-1181-release-notes-redesign
branch.feature/XX-1181-release-notes-redesign.remote=origin
branch.feature/XX-1191.merge=refs/heads/feature/XX-1191
branch.feature/XX-1191.remote=origin
branch.feature/XX-1198-revert.merge=refs/heads/feature/XX-1198-revert
branch.feature/XX-1198-revert.remote=origin
branch.feature/XX-2446.merge=refs/heads/feature/XX-2446
branch.feature/XX-2446.remote=origin
branch.feature/XX-2577-revert.merge=refs/heads/feature/XX-2577-revert
branch.feature/XX-2577-revert.remote=origin
branch.feature/XX-2667.merge=refs/heads/feature/XX-2667
branch.feature/XX-2667.remote=origin
branch.feature/XX-3144-add-child-onboarding.merge=refs/heads/feature/XX-3144-add-child-onboarding
branch.feature/XX-3144-add-child-onboarding.remote=origin
branch.feature/XX-3173-transaction-details-screen.merge=refs/heads/feature/XX-3173-transaction-details-screen
branch.feature/XX-3173-transaction-details-screen.remote=origin
branch.feature/XX-3253-reminder-alert.merge=refs/heads/feature/XX-3253-reminder-alert
branch.feature/XX-3253-reminder-alert.remote=origin
branch.feature/XX-895-funding-sources.merge=refs/heads/feature/XX-895-funding-sources
branch.feature/XX-895-funding-sources.remote=origin
branch.redesign4.merge=refs/heads/redesign4
branch.redesign4.remote=origin
core.bare=false
core.editor=subl -n -w
core.excludesfile=~/.gitignore_global
core.filemode=true
core.ignorecase=true
core.logallrefupdates=true
core.precomposeunicode=true
core.repositoryformatversion=0
credential.helper=osxkeychain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
filter.lfs.smudge=git-lfs smudge -- %f
hub.protocol=ssh
init.defaultbranch=master
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
[email protected]:appcls/mobile-ios.git
[email protected]
user.name=useroslav
=== Our Config Information ===
Git Config Path Information
Using config path: /etc/gitconfig
Using config path: /Users/user/.config/git/config
Using config path: /Users/user/.gitconfig
Using config path: /Users/user/Development/Work/Application/mobile-ios/.git/config
Our config output is different to the Git config output
branch.XX-2179-update.merge=refs/heads/XX-2179-update
branch.XX-2179-update.remote=origin
branch.XX-3046-payment-view-transactions-fixes.merge=refs/heads/XX-3046-payment-view-transactions-fixes
branch.XX-3046-payment-view-transactions-fixes.remote=origin
branch.XX-3060-pro-detail-location-screen.merge=refs/heads/XX-3060-pro-detail-location-screen
branch.XX-3060-pro-detail-location-screen.remote=origin
branch.XX-3252-privacy-info.merge=refs/heads/XX-3252-privacy-info
branch.XX-3252-privacy-info.remote=origin
branch.bugfix/XX-1703-payments-screen-fixes.merge=refs/heads/bugfix/XX-1703-payments-screen-fixes
branch.bugfix/XX-1703-payments-screen-fixes.remote=origin
branch.bugfix/XX-2559.merge=refs/heads/bugfix/XX-2559
branch.bugfix/XX-2559.remote=origin
branch.bugfix/XX-2577.merge=refs/heads/bugfix/XX-2577
branch.bugfix/XX-2577.remote=origin
branch.bugfix/XX-3060-pro-details.merge=refs/heads/bugfix/XX-3060-pro-details
branch.bugfix/XX-3060-pro-details.remote=origin
branch.bugfix/XX-3061-location-picker-fix.merge=refs/heads/bugfix/XX-3061-location-picker-fix
branch.bugfix/XX-3061-location-picker-fix.remote=origin
branch.bugfix/duplicating-assets-fix.merge=refs/heads/bugfix/duplicating-assets-fix
branch.bugfix/duplicating-assets-fix.remote=origin
branch.design3-dev.merge=refs/heads/design3-dev
branch.design3-dev.remote=origin
branch.dev.merge=refs/heads/dev
branch.dev.remote=origin
branch.feature/XX-1181-release-notes-redesign.merge=refs/heads/feature/XX-1181-release-notes-redesign
branch.feature/XX-1181-release-notes-redesign.remote=origin
branch.feature/XX-1191.merge=refs/heads/feature/XX-1191
branch.feature/XX-1191.remote=origin
branch.feature/XX-1198-revert.merge=refs/heads/feature/XX-1198-revert
branch.feature/XX-1198-revert.remote=origin
branch.feature/XX-2446.merge=refs/heads/feature/XX-2446
branch.feature/XX-2446.remote=origin
branch.feature/XX-2577-revert.merge=refs/heads/feature/XX-2577-revert
branch.feature/XX-2577-revert.remote=origin
branch.feature/XX-2667.merge=refs/heads/feature/XX-2667
branch.feature/XX-2667.remote=origin
branch.feature/XX-3144-add-child-onboarding.merge=refs/heads/feature/XX-3144-add-child-onboarding
branch.feature/XX-3144-add-child-onboarding.remote=origin
branch.feature/XX-3173-transaction-details-screen.merge=refs/heads/feature/XX-3173-transaction-details-screen
branch.feature/XX-3173-transaction-details-screen.remote=origin
branch.feature/XX-3253-reminder-alert.merge=refs/heads/feature/XX-3253-reminder-alert
branch.feature/XX-3253-reminder-alert.remote=origin
branch.feature/XX-895-funding-sources.merge=refs/heads/feature/XX-895-funding-sources
branch.feature/XX-895-funding-sources.remote=origin
branch.redesign4.merge=refs/heads/redesign4
branch.redesign4.remote=origin
core.bare=false
core.editor=subl -n -w
core.excludesfile=~/.gitignore_global
core.filemode=true
core.ignorecase=true
core.logallrefupdates=true
core.precomposeunicode=true
core.repositoryformatversion=0
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
filter.lfs.smudge=git-lfs smudge -- %f
hub.protocol=ssh
init.defaultbranch=master
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
[email protected]:appcls/mobile-ios.git
[email protected]
user.name=Name Mame
=== Git Attributes Information ===
git check_attr --all output
.gitattributes
.swift-version
.swiftformat
=== Our Modified Files Newline Normalisation and EOL Information ===
Podfile: unspecified - native
Podfile.lock: unspecified - native
Shared/Services/Router/Router+RouterPresentable.swift: unspecified - native
=== Our Modified Files Flag Information ===
Ignoring symlinks: 0
Podfile: Working - Normal File : Index - Normal File
Podfile.lock: Working - Normal File : Index - Normal File
Shared/Services/Router/Router+RouterPresentable.swift: Working - Normal File : Index - Normal File
UPD: I noticed that it crashes on the very last unstaged file tab staging mostly. Means if stage within the middle of a unstaged file tabs row could went well, when it comes to the last one in the row it almost certain would be a crash.
Also not sure about importance of this bit, but all crashes are appears on this syntax https://github.com/Swift-Next/Swift-Next, just mentioned in the beginning of this year some rare crashes ST4 itself on it on a large project on a "go to symbol in project" hit.
At the first glance issue seems resolved on 2093 build.
I've been having a similar issue with build 2092. It's infrequent enough that I can't replicate it consistently, but when it happens, Sublime Merge doesn't even respond to Force Quit--ps
reports the process state as E
for exiting, but it cannot be killed. Tonight, the only fix that seems to work--rebooting--failed initially because macOS thought the process was still running, and recommended I try Force Quit 😬
At the first glance issue seems resolved on 2093 build.
I was excited to read this, but when I went to check for an update, 2092 was the latest. Were you offered 2093 automatically, @yaroslavyaroslav?
@lkrms yep, but you have to switch to a dev branch upfront. It could be done by downloading dev build from the official site (can't provide a link since I'm from a mobile)
@lkrms yep, but you have to switch to a dev branch upfront. It could be done by downloading dev build from the official site (can't provide a link since I'm from a mobile)
Thank you! I hadn't noticed there was a dev channel :)
I believe it could be closed due to new stable release.