jesseduffield / lazygit

simple terminal UI for git commands
MIT License
48.45k stars 1.74k forks source link

Illegal character U+002D '-' #2918

Open argorain opened 11 months ago

argorain commented 11 months ago

Describe the bug Upon start on existing repository lazygit opens but error is shown "35:2: illegal character U+002D '-'". Then it crashes.

To Reproduce Start lazygit in repository on Windows 10 using cmd.

Expected behavior A clear and concise description of what you expected to happen.

Screenshots image

Version info: commit=5e388e21c8ca6aa883dbcbe45c47f6fdd5116815, build date=2023-08-07T14:05:48Z, build source=binaryRelease, version=0.40.2, os=windows, arch=amd64, git version=2.41.0.windows.1

git version 2.41.0.windows.1

Additional context Cmd contents after crash:

POTENTIAL DEADLOCK:
Previous place where the lock was grabbed
goroutine 82 lock 0xc0003803f0
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:452 helpers.(*RefreshHelper).refreshFilesAndSubmodules ??? <<<<<
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:451 helpers.(*RefreshHelper).refreshFilesAndSubmodules ???
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:139 helpers.(*RefreshHelper).Refresh.func2.5 ???
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:101 helpers.(*RefreshHelper).Refresh.func2.1.1 ???
/home/runner/work/lazygit/lazygit/vendor/github.com/jesseduffield/gocui/gui.go:679 gocui.(*Gui).onWorkerAux ???
/home/runner/work/lazygit/lazygit/vendor/github.com/jesseduffield/gocui/gui.go:665 gocui.(*Gui).OnWorker.func1 ???

Have been trying to lock it again for more than 30s
goroutine 181 lock 0xc0003803f0
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:452 helpers.(*RefreshHelper).refreshFilesAndSubmodules ??? <<<<<
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:451 helpers.(*RefreshHelper).refreshFilesAndSubmodules ???
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:139 helpers.(*RefreshHelper).Refresh.func2.5 ???
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:101 helpers.(*RefreshHelper).Refresh.func2.1.1 ???
/home/runner/work/lazygit/lazygit/vendor/github.com/jesseduffield/gocui/gui.go:679 gocui.(*Gui).onWorkerAux ???
/home/runner/work/lazygit/lazygit/vendor/github.com/jesseduffield/gocui/gui.go:665 gocui.(*Gui).OnWorker.func1 ???

Here is what goroutine 82 doing now
goroutine 82 [semacquire]:
os.stat({0x1568b20, 0x4}, {0xc00d54ed00, 0x32}, 0xc7aba0?)
        /opt/hostedtoolcache/go/1.20.7/x64/src/os/stat_windows.go:71 +0x325
os.statNolog(...)
        /opt/hostedtoolcache/go/1.20.7/x64/src/os/stat_windows.go:96
os.Stat({0xc00d54ed00, 0x32})
        /opt/hostedtoolcache/go/1.20.7/x64/src/os/stat.go:13 +0x45
os/exec.chkStat({0xc00d54ed00?, 0xc000c7aba0?})
        /opt/hostedtoolcache/go/1.20.7/x64/src/os/exec/lp_windows.go:20 +0x1e
os/exec.findExecutable({0xc000c7aba0, 0x2e}, {0xc002610000, 0x13, 0x1448500?})
        /opt/hostedtoolcache/go/1.20.7/x64/src/os/exec/lp_windows.go:48 +0xdf
os/exec.LookPath({0x15683af, 0x3})
        /opt/hostedtoolcache/go/1.20.7/x64/src/os/exec/lp_windows.go:114 +0x4c5
os/exec.Command({0x15683af, 0x3}, {0xc0009fd2d0, 0x4, 0x50?})
        /opt/hostedtoolcache/go/1.20.7/x64/src/os/exec/exec.go:419 +0x225
github.com/jesseduffield/lazygit/pkg/commands/oscommands.(*CmdObjBuilder).New(0xc0003882d0, {0xc0009fd2c0?, 0xcbe467?, 0x5?})
        /home/runner/work/lazygit/lazygit/pkg/commands/oscommands/cmd_obj_builder.go:30 +0x5a
github.com/jesseduffield/lazygit/pkg/commands.(*gitCmdObjBuilder).New(0xc000eb2e90?, {0xc0009fd2c0?, 0x5?, 0xc001aa2180?})
        /home/runner/work/lazygit/lazygit/pkg/commands/git_cmd_obj_builder.go:34 +0x25
github.com/jesseduffield/lazygit/pkg/commands/git_commands.(*FileLoader).gitStatus(0xc00045e270, {0x14?, {0xc00046c000?, 0x1?}})
        /home/runner/work/lazygit/lazygit/pkg/commands/git_commands/file_loader.go:111 +0x54f
github.com/jesseduffield/lazygit/pkg/commands/git_commands.(*FileLoader).GetStatusFiles(0xc00045e270, {0x4?})
        /home/runner/work/lazygit/lazygit/pkg/commands/git_commands/file_loader.go:45 +0xbd
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers.(*RefreshHelper).refreshStateFiles(0xc00007f880)
        /home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:516 +0x2c9
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers.(*RefreshHelper).refreshFilesAndSubmodules(0xc00007f880)
        /home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:463 +0x136
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers.(*RefreshHelper).Refresh.func2.5()
        /home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:139 +0x26
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers.(*RefreshHelper).Refresh.func2.1.1({0x20?, 0x15b8b64?})
        /home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:101 +0x1b
github.com/jesseduffield/gocui.(*Gui).onWorkerAux(0x19?, 0x159dc02?, {0x16b4250?, 0xc00007c780?})
        /home/runner/work/lazygit/lazygit/vendor/github.com/jesseduffield/gocui/gui.go:678 +0x71
github.com/jesseduffield/gocui.(*Gui).OnWorker.func1()
        /home/runner/work/lazygit/lazygit/vendor/github.com/jesseduffield/gocui/gui.go:665 +0x31
created by github.com/jesseduffield/gocui.(*Gui).OnWorker
        /home/runner/work/lazygit/lazygit/vendor/github.com/jesseduffield/gocui/gui.go:664 +0xaa
Other goroutines holding locks:
goroutine 48 lock 0xc000380410
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:302 helpers.(*RefreshHelper).refreshCommitsWithLimit ??? <<<<<
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:301 helpers.(*RefreshHelper).refreshCommitsWithLimit ???
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:257 helpers.(*RefreshHelper).refreshCommitsAndCommitFiles ???
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:101 helpers.(*RefreshHelper).Refresh.func2.1.1 ???
/home/runner/work/lazygit/lazygit/vendor/github.com/jesseduffield/gocui/gui.go:679 gocui.(*Gui).onWorkerAux ???
/home/runner/work/lazygit/lazygit/vendor/github.com/jesseduffield/gocui/gui.go:665 gocui.(*Gui).OnWorker.func1 ???

goroutine 49 lock 0xc0003803f8
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:415 helpers.(*RefreshHelper).refreshBranches ??? <<<<<
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:414 helpers.(*RefreshHelper).refreshBranches ???
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:253 helpers.(*RefreshHelper).refreshReflogAndBranches ???
/home/runner/work/lazygit/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:101 helpers.(*RefreshHelper).Refresh.func2.1.1 ???
/home/runner/work/lazygit/lazygit/vendor/github.com/jesseduffield/gocui/gui.go:679 gocui.(*Gui).onWorkerAux ???
/home/runner/work/lazygit/lazygit/vendor/github.com/jesseduffield/gocui/gui.go:665 gocui.(*Gui).OnWorker.func1 ???

POTENTIAL DEADLOCK:

C:\workspace\repo>

Debug log

Aug  9 15:04:55 |INFO| language: cs-CZ
Aug  9 15:04:55 |DEBU| RunCommand command="git --version"
Aug  9 15:04:56 |INFO| git --version (103.1825ms)
Aug  9 15:04:56 |DEBU| RunCommand command="git rev-parse --git-dir"
Aug  9 15:04:56 |INFO| git rev-parse --git-dir (124.9939ms)
Aug  9 15:04:56 |DEBU| RunCommand command="git rev-parse --is-bare-repository"
Aug  9 15:05:26 |INFO| refreshing all scopes in async mode
Aug  9 15:05:26 |INFO| Refresh took 0s
Aug  9 15:05:26 |ERRO| ignoring create popup panel because a popup panel is already open
Aug  9 15:05:26 |INFO| refreshing all scopes in async mode
Aug  9 15:05:26 |INFO| Refresh took 0s
Aug  9 15:05:26 |ERRO| ignoring create popup panel because a popup panel is already open
Aug  9 15:05:26 |INFO| refreshing all scopes in async mode
Aug  9 15:05:26 |INFO| Refresh took 0s
Aug  9 15:05:26 |ERRO| ignoring create popup panel because a popup panel is already open
Aug  9 15:05:27 |DEBU| RunCommand command="git tag --list -n --sort=-creatordate"
Aug  9 15:05:26 |INFO| refreshing all scopes in async mode
Aug  9 15:05:26 |INFO| Refresh took 0s
Aug  9 15:05:26 |ERRO| ignoring create popup panel because a popup panel is already open
Aug  9 15:05:27 |DEBU| RunCommand command="git tag --list -n --sort=-creatordate"
Aug  9 15:05:28 |INFO| git worktree list --porcelain (28.4922355s)
Aug  9 15:05:28 |INFO| postRefreshUpdate for localBranches took 0s
Aug  9 15:05:28 |INFO| postRefreshUpdate for worktrees took 520.7µs
Aug  9 15:05:28 |DEBU| RunCommand command="git worktree list --porcelain"
Aug  9 15:05:28 |INFO| git -c log.showSignature=false log -g --abbrev=40 --format=%h%x00%ct%x00%gs%x00%p (28.2895345s)
Aug  9 15:05:28 |INFO| postRefreshUpdate for reflogCommits took 14.779ms
Aug  9 15:05:32 |DEBU| RunCommand command="git worktree list --porcelain"
Aug  9 15:05:32 |DEBU| RunCommand command="git tag --list -n --sort=-creatordate"
Aug  9 15:05:32 |DEBU| RunCommand command="git tag --list -n --sort=-creatordate"
argorain commented 11 months ago

And before you ask, I cannot share that repository since it is corporate private repository.

argorain commented 11 months ago

Hi, I don't know GO so I don't think I'll submit any bugfix but I did some debugging and found following:

  1. It crashes in vendor\github.com\go-git\gcfg\scanner\scanner.go:335 but it really seems this library doesn't properly recognizes valid characters.
  2. It doesn't like character 0x2D which is dash - in .git/config which is odd
  3. I traced it to this character (one of many dashes in my config) image And this is breakpoint with this error: image
  4. I am attaching my .git/config
    [core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    [submodule]
    active = .
    [submodule "lib/cpputest"]
    url = https://bitbucket.velux.com/scm/tech_ap/cpputest.git
    [submodule "product/stm32g/tests/integration-test"]
    url = https://bitbucket.velux.com/scm/tech_ap/stm-product-integration-test.git
    [submodule "lib/cspy-cov"]
    url = https://bitbucket.velux.com/scm/tech_ap/iar-cspy-to-llvm-cov.git
    [submodule "lib/batch-build"]
    url = https://bitbucket.velux.com/scm/tech_ap/iar-batch-build.git
    [submodule "lib/iar-batch-build"]
    url = https://bitbucket.velux.com/scm/tech_ap/iar-batch-build.git
    [remote "upstream"]
    url = https://bitbucket.velux.com/scm/library/actuator-platform.git
    fetch = +refs/heads/*:refs/remotes/upstream/*
    [branch "activation-skipped"]
    remote = upstream
    merge = refs/heads/activation-skipped
    [branch "ci/jenkinsfile"]
    remote = upstream
    merge = refs/heads/ci/jenkinsfile
    [branch "redesing/microwink"]
    remote = upstream
    merge = refs/heads/redesing/microwink
    [branch "doxygen/position-getas"]
    remote = upstream
    merge = refs/heads/doxygen/position-getas
    [-remote "origin"]
    url = https://bitbucket.velux.com/scm/tech_ap/actuator-platform.git
    fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "3.0/ci-changes"]
    remote = upstream
    merge = refs/heads/3.0/ci-changes
    [branch "3.0/doxygen/CPP-1095-powerfail-as-an-architect-i-need-platform-to-support-new-power-fail-protocol"]
    remote = upstream
    merge = refs/heads/3.0/doxygen/CPP-1095-powerfail-as-an-architect-i-need-platform-to-support-new-power-fail-protocol
    [branch "3.0/master"]
    remote = upstream
    merge = refs/heads/3.0/master
    [branch "3.0/conf-voltage-levels"]
    remote = upstream
    merge = refs/heads/3.0/conf-voltage-levels
    [branch "3.0/lower-vrefbuf"]
    remote = upstream
    merge = refs/heads/3.0/lower-vrefbuf
    [branch "3.0/fix-vrefmax"]
    remote = upstream
    merge = refs/heads/3.0/fix-vrefmax
    [branch "3.0/redesign/MCv2-Trim-current-position-before-current-update"]
    remote = upstream
    merge = refs/heads/3.0/redesign/MCv2-Trim-current-position-before-current-update
    [branch "fix-deep-sleep-disabling"]
    remote = upstream
    merge = refs/heads/fix-deep-sleep-disabling
    [branch "setup-nib-mains"]
    remote = upstream
    merge = refs/heads/setup-nib-mains
    [branch "3.0/remove-reset-block-dependency"]
    remote = upstream
    merge = refs/heads/3.0/remove-reset-block-dependency
    [branch "3.0/vpp-remove-warining"]
    remote = upstream
    merge = refs/heads/3.0/vpp-remove-warining
    [branch "3.0/vvl/acmp"]
    remote = upstream
    merge = refs/heads/3.0/vvl/acmp
    [branch "3.0/nib-mains-configuration"]
    remote = upstream
    merge = refs/heads/3.0/nib-mains-configuration
    [branch "3.0/revert-pr-316"]
    remote = upstream
    merge = refs/heads/3.0/revert-pr-316
    [branch "3.0/fix-block-extension"]
    remote = upstream
    merge = refs/heads/3.0/fix-block-extension
    [branch "3.0/clear-up-acmp"]
    remote = upstream
    merge = refs/heads/3.0/clear-up-acmp
    [branch "3.0/power-manager-busywait"]
    remote = upstream
    merge = refs/heads/3.0/power-manager-busywait
    [branch "3.0/fix-block"]
    remote = upstream
    merge = refs/heads/3.0/fix-block
    [branch "3.0/improve-jenkins-tests"]
    remote = upstream
    merge = refs/heads/3.0/improve-jenkins-tests
    [branch "3.0/vvl/test-ci-agent"]
    remote = upstream
    merge = refs/heads/3.0/vvl/test-ci-agent
    [branch "3.0/add-nib-msg-type"]
    remote = upstream
    merge = refs/heads/3.0/add-nib-msg-type
    [branch "3.0/unify-vdd-monitoring-input"]
    remote = upstream
    merge = refs/heads/3.0/unify-vdd-monitoring-input
    [branch "3.0/ci-fix-jlink"]
    remote = upstream
    merge = refs/heads/3.0/ci-fix-jlink
    [branch "3.0/CPP-1191-store-position-on-powerfail"]
    remote = upstream
    merge = refs/heads/3.0/CPP-1191-store-position-on-powerfail
    [branch "3.0/Add-VSCode-manual"]
    remote = upstream
    merge = refs/heads/3.0/Add-VSCode-manual
    [branch "3.0/CPP-1254-two-stage-shutdown"]
    remote = upstream
    merge = refs/heads/3.0/CPP-1254-two-stage-shutdown
    [branch "3.0/ci-checkout-fix"]
    remote = upstream
    merge = refs/heads/3.0/ci-checkout-fix
    [branch "3.0/ci-fixes"]
    remote = upstream
    merge = refs/heads/3.0/ci-fixes
    [branch "3.0/vvl/vojtuv-experimentalni-master-smrt-vsem-bugum"]
    remote = upstream
    merge = refs/heads/3.0/vvl/vojtuv-experimentalni-master-smrt-vsem-bugum
    [branch "3.0/unit-test-tuning"]
    remote = upstream
    merge = refs/heads/3.0/unit-test-tuning
    [branch "3.0/remove-unused-files"]
    remote = upstream
    merge = refs/heads/3.0/remove-unused-files
    [branch "vvl/standby-experiments"]
    remote = upstream
    merge = refs/heads/vvl/standby-experiments
    [branch "3.0/ci-iar9321"]
    remote = upstream
    merge = refs/heads/3.0/ci-iar9321
    [branch "3.0/vvl/trace-energy-manager"]
    remote = upstream
    merge = refs/heads/3.0/vvl/trace-energy-manager
    [branch "fix-recalibration-request-message"]
    remote = upstream
    merge = refs/heads/fix-recalibration-request-message
    [branch "VMa/fix-recalibration-request-message"]
    remote = upstream
    merge = refs/heads/VMa/fix-recalibration-request-message
    [branch "set-vtor"]
    remote = upstream
    merge = refs/heads/set-vtor
    [branch "jenkins-nightly-builds"]
    remote = upstream
    merge = refs/heads/jenkins-nightly-builds
    [branch "prune-test-output"]
    remote = upstream
    merge = refs/heads/prune-test-output
    [branch "3.0/bootloader-test"]
    remote = upstream
    merge = refs/heads/3.0/bootloader-test
    [branch "3.0/update-testingtool-minimal"]
    remote = upstream
    merge = refs/heads/3.0/update-testingtool-minimal
    [branch "3.0/integration-test-selector"]
    remote = upstream
    merge = refs/heads/3.0/integration-test-selector
    [branch "3.0/boottrace-protocol"]
    remote = upstream
    merge = refs/heads/3.0/boottrace-protocol
    [branch "3.0/securable-option-bytes"]
    remote = upstream
    merge = refs/heads/3.0/securable-option-bytes
    [branch "3.0/CPP-1374-Fix-restricted-zone"]
    remote = upstream
    merge = refs/heads/3.0/CPP-1374-Fix-restricted-zone
    [branch "3.0/CPP-1461-have-the-cpufreq-as-parameter-in-cyclecounter"]
    remote = upstream
    merge = refs/heads/3.0/CPP-1461-have-the-cpufreq-as-parameter-in-cyclecounter
    [branch "3.0/port-rain-sensor"]
    remote = upstream
    merge = refs/heads/3.0/port-rain-sensor
    [branch "3.0/initial-rain-sensor-port"]
    remote = upstream
    merge = refs/heads/3.0/initial-rain-sensor-port
    [branch "3.0/add-switcher"]
    remote = upstream
    merge = refs/heads/3.0/add-switcher
    [branch "3.0/rain-sensor-memento"]
    remote = upstream
    merge = refs/heads/3.0/rain-sensor-memento
    [branch "3.0/update-test-strategy"]
    remote = upstream
    merge = refs/heads/3.0/update-test-strategy
    [branch "3.0/fix-debug-mains"]
    remote = upstream
    merge = refs/heads/3.0/fix-debug-mains
    [branch "4.0/update-test-strategy"]
    remote = upstream
    merge = refs/heads/4.0/update-test-strategy
    [branch "4.0/fix-debug-mains"]
    remote = upstream
    merge = refs/heads/4.0/fix-debug-mains
    [branch "4.0/boottrace-protocol"]
    remote = upstream
    merge = refs/heads/4.0/boottrace-protocol
    [branch "3.0/TKa/segger-not-working"]
    remote = upstream
    merge = refs/heads/3.0/TKa/segger-not-working
    [branch "3.1/master"]
    remote = upstream
    merge = refs/heads/3.1/master
    [branch "3.1/switch-doxygen-to-196"]
    remote = upstream
    merge = refs/heads/3.1/switch-doxygen-to-196
    [branch "3.1/fix-config-for-196"]
    remote = upstream
    merge = refs/heads/3.1/fix-config-for-196
    [branch "test/3.1/master"]
    remote = upstream
    merge = refs/heads/test/3.1/master
    [branch "3.1/build-doxygen-always"]
    remote = upstream
    merge = refs/heads/3.1/build-doxygen-always
    [branch "3.0/update-drive-test"]
    remote = upstream
    merge = refs/heads/3.0/update-drive-test
    [branch "3.0/unify-integration-test-constants"]
    remote = upstream
    merge = refs/heads/3.0/unify-integration-test-constants
    [branch "3.0/remove-obsolete-tests"]
    remote = upstream
    merge = refs/heads/3.0/remove-obsolete-tests
    [branch "3.0/remove-blinds-tests"]
    remote = upstream
    merge = refs/heads/3.0/remove-blinds-tests

I hope this will help you find fix for this issue. Thank you.

vxsx commented 8 months ago

I think I encountered a similar crash to this:

POTENTIAL DEADLOCK:
Previous place where the lock was grabbed
goroutine 58 lock 0x140002b1c88
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:302 helpers.(*RefreshHelper).refreshCommitsWithLimit ??? <<<<<
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:301 helpers.(*RefreshHelper).refreshCommitsWithLimit ???
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:257 helpers.(*RefreshHelper).refreshCommitsAndCommitFiles ???
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:101 helpers.(*RefreshHelper).Refresh.func2.1.1 ???
github.com/jesseduffield/gocui@v0.3.1-0.20230806095321-ac7b03108825/gui.go:679 gocui.(*Gui).onWorkerAux ???
github.com/jesseduffield/gocui@v0.3.1-0.20230806095321-ac7b03108825/gui.go:665 gocui.(*Gui).OnWorker.func1 ???

Have been trying to lock it again for more than 30s
goroutine 145 lock 0x140002b1c88
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:302 helpers.(*RefreshHelper).refreshCommitsWithLimit ??? <<<<<
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:301 helpers.(*RefreshHelper).refreshCommitsWithLimit ???
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:257 helpers.(*RefreshHelper).refreshCommitsAndCommitFiles ???
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:101 helpers.(*RefreshHelper).Refresh.func2.1.1 ???
github.com/jesseduffield/gocui@v0.3.1-0.20230806095321-ac7b03108825/gui.go:679 gocui.(*Gui).onWorkerAux ???
github.com/jesseduffield/gocui@v0.3.1-0.20230806095321-ac7b03108825/gui.go:665 gocui.(*Gui).OnWorker.func1 ???

Here is what goroutine 58 doing now
goroutine 58 [semacquire]:
sync.runtime_Semacquire(0x3?)
        runtime/sema.go:62 +0x2c
sync.(*WaitGroup).Wait(0x140002b0080)
        sync/waitgroup.go:116 +0x78
github.com/jesseduffield/lazygit/pkg/commands/git_commands.(*CommitLoader).GetCommits(0x140003b46c0, {0x1, {0x0, 0x0}, 0x1, {0x10526168d, 0x4}, 0x0})
        github.com/jesseduffield/lazygit/pkg/commands/git_commands/commit_loader.go:116 +0x3b4
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers.(*RefreshHelper).refreshCommitsWithLimit(0x1400009e340)
        github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:305 +0x264
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers.(*RefreshHelper).refreshCommitsAndCommitFiles(0x1400009e340)
        github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:257 +0x20
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers.(*RefreshHelper).Refresh.func2.1.1({0x0?, 0x0?})
        github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:101 +0x24
github.com/jesseduffield/gocui.(*Gui).onWorkerAux(0x0?, 0x0?, {0x10553c2b0?, 0x14000395960?})
        github.com/jesseduffield/gocui@v0.3.1-0.20230806095321-ac7b03108825/gui.go:678 +0x6c
github.com/jesseduffield/gocui.(*Gui).OnWorker.func1()
        github.com/jesseduffield/gocui@v0.3.1-0.20230806095321-ac7b03108825/gui.go:665 +0x34
created by github.com/jesseduffield/gocui.(*Gui).OnWorker
        github.com/jesseduffield/gocui@v0.3.1-0.20230806095321-ac7b03108825/gui.go:664 +0x9c
Other goroutines holding locks:
goroutine 146 lock 0x140002b1c70
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:415 helpers.(*RefreshHelper).refreshBranc
hes ??? <<<<<
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:414 helpers.(*RefreshHelper).refreshBranches ???
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:253 helpers.(*RefreshHelper).refreshReflogAndBranches ???
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:101 helpers.(*RefreshHelper).Refresh.func2.1.1 ???
github.com/jesseduffield/gocui@v0.3.1-0.20230806095321-ac7b03108825/gui.go:679 gocui.(*Gui).onWorkerAux ???
github.com/jesseduffield/gocui@v0.3.1-0.20230806095321-ac7b03108825/gui.go:665 gocui.(*Gui).OnWorker.func1 ???

goroutine 26549 lock 0x140002b1c68
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:452 helpers.(*RefreshHelper).refreshFilesAndSubmodules ??? <<<<<
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:451 helpers.(*RefreshHelper).refreshFilesAndSubmodules ???
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:139 helpers.(*RefreshHelper).Refresh.func2.5 ???
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:101 helpers.(*RefreshHelper).Refresh.func2.1.1 ???
github.com/jesseduffield/gocui@v0.3.1-0.20230806095321-ac7b03108825/gui.go:679 gocui.(*Gui).onWorkerAux ???
github.com/jesseduffield/gocui@v0.3.1-0.20230806095321-ac7b03108825/gui.go:665 gocui.(*Gui).OnWorker.func1 ???

goroutine 20733 lock 0x140002b1ca8
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/confirmation_helper.go:181 helpers.(*ConfirmationHelper).CreatePopupPanel ??? <<<<<
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/confirmation_helper.go:180 helpers.(*ConfirmationHelper).CreatePopupPanel ???
github.com/jesseduffield/lazygit/pkg/gui/gui.go:480 gui.NewGui.func1 ???
github.com/jesseduffield/lazygit/pkg/gui/popup/popup_handler.go:106 popup.(*PopupHandler).Confirm ???
github.com/jesseduffield/lazygit/pkg/gui/popup/popup_handler.go:94 popup.(*PopupHandler).ErrorMsg ???
github.com/jesseduffield/lazygit/pkg/gui/popup/popup_handler.go:94 popup.(*PopupHandler).ErrorMsg ???
github.com/jesseduffield/lazygit/pkg/gui/popup/popup_handler.go:80 popup.(*PopupHandler).Error ???
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:601 helpers.(*RefreshHelper).refreshRemotes ???
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:152 helpers.(*RefreshHelper).Refresh.func2.8 ???
github.com/jesseduffield/lazygit/pkg/gui/controllers/helpers/refresh_helper.go:101 helpers.(*RefreshHelper).Refresh.func2.1.1 ???
github.com/jesseduffield/gocui@v0.3.1-0.20230806095321-ac7b03108825/gui.go:679 gocui.(*Gui).onWorkerAux ???
github.com/jesseduffield/gocui@v0.3.1-0.20230806095321-ac7b03108825/gui.go:665 gocui.(*Gui).OnWorker.func1 ???

though the error i see in lazygit is 2:23: unknown escape sequence (and 5 more errors)

i'm on mac, version from brew: commit=, build date=, build source=homebrew, version=0.40.2, os=darwin, arch=arm64, git version=2.39.2 (Apple Git-143)

the error happens on this repository only

the log seems to go into infinite loop before crashing, producing ~20k lines before it crashes

lazygit.log