gitui: Crash on 0.22.1: Error: receiving on an empty and disconnected channel
Describe the bug Whenever I open gitui on my main repo, it starts, and crashes after a few seconds, with this output in the console:
Error: receiving on an empty and disconnected channel
On other git repos, it does open with no issue .
To Reproduce Steps to reproduce the behavior:
- Simply open gitui on my main repo Don’t know what specifically makes it happen only on my main repo 😕
Expected behavior Gitui opens, life is good.
Context (please complete the following information):
- Ubuntu 22.04.1LTS
- GitUI Version 0.22.1
- Rust version: Tried with 1.63.0 and 1.65.0
Additional context This crash happens on gitui 0.22.1. With 0.21.0, everything is fine.
With gitui 0.22.0, gitui crashes without even opening, with this message:
Error: Permission denied (os error 13) about ["XXX"]
where XXX is a git-ignored folder owned by root inside my git folder (docker volume) No idea if this is linked or not.
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Reactions: 6
- Comments: 24 (4 by maintainers)
this should be fixed in the next release via #1444
Ah, okay, here’s the repro of what was actually wrong in my repo: having a symlink to a folder which somewhere within contains a directory that the current user cannot read leads to this crash. This happens even if the symlink in question is gitignored.
And here’s the log:
In my real-world case, my project folder has a gitignored folder which is mounted as the
/home
partition in a VM. That gitignored folder then ends up containing symlinks to the/home/$USER/.local
folder on the host, which happens to contains some installed Steam games, which apparently includes some files and folders owned by root when using Proton to install Windows games.imo, there are two bugs with the current behavior:
And then I guess it’s also debatable whether or not failing to set a watch when not in
--polling
mode should be a critical error or not. At the very least, a better error message would be nice.Hi @extrawurst ,
I also observe the same buggy behaviour with 0.22.1 :
$ gitui --directory=<my_gitdir> --workdir=<my_workdir>
=> crashes with ‘Error: receiving on an empty and disconnected channel’$ gitui --directory=<my_gitdir> --workdir=<my_workdir> --polling
=> no crashesNOTE: 0.21.0 does not have the same problem
I have hacked together a fix for this. You can try it out on https://github.com/michaeladler/gitui (master branch, rebased occassionally to keep it up to date with this repo). I have been using it for two weeks and it works like a charm for me. I’ve been meaning to submit a merge request here, but I’ll be waiting for a few days more hoping to gain some feedback from other users who are affected by it.
Regarding the use of
--polling
, in my case it does indeed bypass the issue, but at a cost: the background polling is creating an undue load on the cpu. Its ok for now, but a real fix would be better 😃I observe the same crash. I am not using
--directory
or--workdir
.A plain
gitui
crashes, while agitui --polling
does not crash.Details of software versions etc. in #1467.
you can manipulate the tab opened on startup in
.git/gitui