sublimehq / sublime_merge

Issue tracker for Sublime Merge
https://www.sublimemerge.com
271 stars 14 forks source link

Hangs on M2 Pro #1779

Closed c17r closed 11 months ago

c17r commented 1 year ago

Version info

Description

Never had a problems Merge in the past, it's been as rock solid and bullet proof as Edit.

Got a new laptop for work (14-inch 2023 w/ M2 Pro, 16 GB, and 500GB) and, frequently enough to be annoying but infrequently enough to make it difficult to get reliable repro steps, Merge will lock up and need a Force Quit and restart. Sometimes it'll be once a workday and sometimes, like today, it's 4-5 times.

Tried switching between "system git" and "embedded git" but still the same.

Steps to reproduce

Seems to happen the most with staging/unstaging files or switching branches.

Expected behavior

Not to lock up hard and require Force Quit

Debug Information === App Version Information === Build: 2083

=== Git Version Information === Using Git: /Applications/Sublime Merge.app/Contents/Resources/Git/bin/git (bundled) git version 2.39.1 PATH: /Users/c17r/.local/bin:/Users/c17r/.rbenv/shims:/Users/c17r/.poetry/bin:/Users/c17r/.pyenv/shims:/Users/c17r/.pyenv/bin:/usr/local/opt/php@7.4/bin:/usr/local/opt/php@7.4/sbin:/Users/c17r/.composer/vendor/bin:/Users/c17r/.nave/installed/default/bin:/Users/c17r/.dotfiles/bin:/usr/local/sbin:/usr/local/bin:/opt/homebrew/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:/opt/X11/bin:~/.dotnet/tools:/Applications/Wireshark.app/Contents/MacOS:/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:/Users/c17r/.rbenv/shims:/usr/local/opt/php@7.4/bin:/usr/local/opt/php@7.4/sbin:/Users/c17r/.composer/vendor/bin:/Users/c17r/code/erp/node_modules/.bin (from shell) environment variables loaded using: /opt/homebrew/bin/bash -l

=== Browse Page Information === HEAD: 9fca19d0f55885445291ef211baf5ef1d04d8954 Is in merge: 0 Is in cherry_pick: 0 Is in rebase: 0 Is in revert: 0

=== Git Status Information === M src/pages/orders/index.tsx M src/server/api/routers/orders.ts ?? src/pages/orders/[id].tsx

=== Our Status Information === M src/pages/orders/index.tsx M src/server/api/routers/orders.ts ?? src/pages/orders/[id].tsx

=== Git Config Information === alias.lg=log --pretty=format:'%C(yellow)%h %C(blue)%ad%C(red)%d %C(reset)%s %C(bold blue)(%cr) %C(no-bold green)[%an]%C(reset)' --date=short --abbrev-commit --color --graph alias.ls=log --pretty=format:'%C(yellow)%h %C(blue)%ad%C(red)%d %C(reset)%s %C(green)[%an]' --decorate --date=short alias.lsv=log --pretty=format:'%C(yellow)%h %C(blue)%ad%C(red)%d %C(reset)%s %C(green)[%an]' --decorate --date=short --numstat alias.s=!git fetch --all --quiet && git status -sb alias.sb=status -sb alias.sw=switch alias.tree-log=log --all --graph --decorate --oneline alias.who=!git log --pretty=format:%an | sort | uniq blame.ignorerevsfile=.git-blame-ignore-revs branch.autosetuprebase=always branch.main.merge=refs/heads/main branch.main.rebase=true branch.main.remote=origin cola.spellcheck=false color.ui=true core.bare=false core.excludesfile=~/.gitignore_global core.filemode=true core.ignorecase=true core.logallrefupdates=true core.precomposeunicode=true core.repositoryformatversion=0 core.trustctime=false gui.diffcontext=10 gui.tabsize=4 http.postbuffer=524288000 include.path=~/.gitconfig.local init.defaultbranch=main pull.rebase=true push.default=current remote.origin.fetch=+refs/heads/:refs/remotes/origin/ remote.origin.url=ShelfHub:shelfcycle/erp remote.pushdefault=origin user.email= user.name=

=== Our Config Information === Git Config Path Information Using config path: /etc/gitconfig Using config path: /Users/c17r/.config/git/config Using config path: /Users/c17r/.gitconfig Using config path: /Users/c17r/code/erp/.git/config

Our config output is identical to the Git config output

=== Git Attributes Information === git check_attr --all output src/pages/orders/[id].tsx src/pages/orders/index.tsx

=== Our Modified Files Newline Normalisation and EOL Information === src/pages/orders/index.tsx: unspecified - native src/server/api/routers/orders.ts: unspecified - native

=== Our Modified Files Flag Information === Ignoring symlinks: 0 src/pages/orders/index.tsx: Working - Normal File : Index - Normal File src/server/api/routers/orders.ts: Working - Normal File : Index - Normal File

gianluca-belvisi commented 1 year ago

Same here.

themilkman commented 1 year ago

Not sure, but could be related: #1785

gianluca-belvisi commented 1 year ago

In my case, the hanging is indefinite and not only sluggish. The app simply won't recover. I consistently reproduce by switching branches, rendering the app unusable, unfortunately.

dpjohnst commented 1 year ago

Hi all,

Thanks for reporting this issue.

Could you try disabling hardware acceleration and restarting Sublime Merge? This can be done via the application menu under Preferences > Preferences... > Advanced > Hardware Acceleration

Kind regards, - Dylan from Sublime HQ

gianluca-belvisi commented 1 year ago

Hey Dylan,

In my case, HW acceleration was disabled, so it seems unrelated. Just for fun I tried enabling it and got the same problem.

Some further information on how I consistently reproduce. For me, this happens 100% of the time when I switch from a feature branch (i.e. newly created) to either main or release.

The opposite operation, or either hopping feature branches, works often but not always.

dpjohnst commented 1 year ago

Hi @gianluca-belvisi,

When you get a chance, could you try reproduce the issue on your end while taking a sample of the Sublime Merge process.

This can be done with the following steps:

  1. Open Sublime Merge
  2. Open the Activity Monitor (via the utilities folder inside your applications folder)
  3. Select the CPU tab
  4. Select Sublime Merge in the list
  5. Click the cog icon at the top-left of the activity monitor, and select Sample Process
  6. Reproduce the bug in Sublime Merge
  7. Return to the activity monitor, and select Save to save the sample
  8. Attach the sample to this bug report

The sample won't contain any sensitive information, except for the path to Sublime Merge (which is typically not sensitive, but just be aware of this in case you've installed Sublime Merge in a custom location that you would consider sensitive).

Thanks, - Dylan from Sublime HQ

gianluca-belvisi commented 1 year ago

Sample of Sublime Merge.txt

There you go. Let me know if I can help more :)

dpjohnst commented 1 year ago

Hi @gianluca-belvisi,

Just to clarify, could you confirm if you managed to replicate the issue while taking the sample? The sample sent looks like Sublime Merge is in an idle state with no requests/processing occurring.

Kind regards, - Dylan from Sublime HQ

gianluca-belvisi commented 1 year ago

Hi Dylan, I have indeed reproduced the problem. Here is another sample after reproducing: Sample of Sublime Merge 2.txt

This time, I was able to check release once, then I tried switching to main, and reproduced.

This below is a sample I refreshed after trying to close the app and not getting a response

Sample of Sublime Merge 3.txt

At this stage, the app is unresponsive. Here the problem report I get from macos after force quitting...

problem report.txt

c17r commented 1 year ago

I ran into the issue a few times today, while it's hung with the pinwheel, I opened Activity Monitor and took a sample.

Sample of Sublime Merge While Frozen.txt

gianluca-belvisi commented 1 year ago

The latest update fixed it for me, thank you!

c17r commented 11 months ago

Been using the latest update for a while now and, I agree, this issue seems to be fixed. Awesome work, Sublime team.