The Wayback Machine - https://web.archive.org/web/20201231101701/https://github.com/TheLocehiliosan/yadm/issues/200
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

git-cola hangs when run via yadm cola #200

Closed
MarcinWieczorek opened this issue Feb 16, 2020 · 7 comments
Closed

git-cola hangs when run via yadm cola #200

MarcinWieczorek opened this issue Feb 16, 2020 · 7 comments
Assignees

Comments

@MarcinWieczorek
Copy link

@MarcinWieczorek MarcinWieczorek commented Feb 16, 2020

Describe the bug

I was trying to run yadm with git-cola, expecting to see a normal gui, but cola hangs instead. Both yadm enter git-cola and yadm cola cause this.
I have no idea what should I try here, I'm waiting for some clues ready to post any logs you would need. Also if this is git-cola's fault just let me know, but it works fine without yadm.

Edit: I'm not sure how am I supposed to use this feature... I think yadm cola fails because yadm wraps git.

To reproduce

Can this be reproduced with the yadm/testbed docker image: [Yes/No] Haven't tried

Steps to reproduce the behavior:

  1. Run command yadm cola
  2. See git-cola hang after about 1-2 seconds

Expected behavior

Git-cola should not hang

Environment

  • Operating system: Arch
  • Version yadm: 2.4.0
  • Version Git: 2.25.0
  • Version git-cola: 3.6

Additional context

I managed to catch a weird repeating pattern with yadm enter strace git-cola
This would go forever.

access("/usr/share/git-cola/icons/question-plain.svg", F_OK) = 0
access("/usr/share/git-cola/icons/question-plain.svg", F_OK) = 0
openat(AT_FDCWD, "/usr/share/git-cola/icons/question-plain.svg", O_RDONLY|O_CLOEXEC) = 17
statx(17, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=470, ...}) = 0
statx(17, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=470, ...}) = 0
read(17, "<svg width=\"22\" height=\"22\" vers"..., 16384) = 470
read(17, "", 15914)                     = 0
read(17, "", 16384)                     = 0
statx(17, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=470, ...}) = 0
close(17)                               = 0
access("/usr/share/git-cola/icons/question-plain.svg", F_OK) = 0
openat(AT_FDCWD, "/usr/share/git-cola/icons/question-plain.svg", O_RDONLY|O_CLOEXEC) = 17
statx(17, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=470, ...}) = 0
statx(17, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=470, ...}) = 0
read(17, "<svg width=\"22\" height=\"22\" vers"..., 16384) = 470
read(17, "", 15914)                     = 0
read(17, "", 16384)                     = 0
statx(17, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=470, ...}) = 0
close(17)                               = 0
access("/usr/share/git-cola/icons/question-plain.svg", F_OK) = 0
access("/usr/share/git-cola/icons/question-plain.svg", F_OK) = 0
openat(AT_FDCWD, "/usr/share/git-cola/icons/question-plain.svg", O_RDONLY|O_CLOEXEC) = 17
statx(17, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=470, ...}) = 0
statx(17, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=470, ...}) = 0
read(17, "<svg width=\"22\" height=\"22\" vers"..., 16384) = 470
read(17, "", 15914)                     = 0
read(17, "", 16384)                     = 0
statx(17, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=470, ...}) = 0
close(17)                               = 0
access("/usr/share/git-cola/icons/question-plain.svg", F_OK) = 0
openat(AT_FDCWD, "/usr/share/git-cola/icons/question-plain.svg", O_RDONLY|O_CLOEXEC) = 17
statx(17, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=470, ...}) = 0
statx(17, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=470, ...}) = 0
read(17, "<svg width=\"22\" height=\"22\" vers"..., 16384) = 470
read(17, "", 15914)                     = 0
read(17, "", 16384)                     = 0
statx(17, "", AT_STATX_SYNC_AS_STAT|AT_EMPTY_PATH, STATX_ALL, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=470, ...}) = 0
close(17)                               = 0
futex(0x7fe37c8f296c, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fe37c8f2970, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x7fe37c8f2968, FUTEX_WAIT_BITSET_PRIVATE, 0, {tv_sec=29867, tv_nsec=518366266}, FUTEX_BITSET_MATCH_ANY^C) = ? ERESTART_RESTARTBLOCK (Interrupted by signal)
strace: Process 32232 detached
@TheLocehiliosan
Copy link
Owner

@TheLocehiliosan TheLocehiliosan commented Feb 17, 2020

I'm not really very familiar with git-cola myself, but I think git-cola is something that will look at ALL of the unmanaged files and try to index them by default. Depending on how large your work-tree ($HOME directory) is, it might take some time for git-cola to process all of that. I suspect that MIGHT be part of what you are seeing.

To troubleshoot this problem, can you try the following?

echo '#!/bin/sh' > testscript.sh
yadm enter env | grep -E ^GIT >> testscript.sh
for var in $(yadm enter env | grep -E ^GIT | cut -f1 -d=); do echo "export $var"; done >> testscript.sh
echo 'git cola' >> testscript.sh
chmod a+x testscript.sh
./testscript.sh

Essentially, this will attempt to run git cola with outside of yadm, and just with the environment configured to see the yadm repo as the Git repo to operate on.

@TheLocehiliosan
Copy link
Owner

@TheLocehiliosan TheLocehiliosan commented Feb 17, 2020

Adding to my suspicion, I believe that the file /usr/share/git-cola/icons/question-plain.svg is the graphic used by git-cola to represent unmanaged files.

I suggest trying this:

yadm gitconfig gui.displayuntracked false

Which will tell git-cola to ignore unmanaged files. If that helps you out, I'll probably add this information to the FAQ.

@MarcinWieczorek
Copy link
Author

@MarcinWieczorek MarcinWieczorek commented Feb 17, 2020

You are very accurate. Adding like 70 entries to .gitignore solved the issue and so did changing the option. I guess git-cola should not try to list more entries than it's reasonable and it should be reported upstream. Do you agree?

@TheLocehiliosan
Copy link
Owner

@TheLocehiliosan TheLocehiliosan commented Feb 17, 2020

@MarcinWieczorek I'm glad there are ways you can get it to work.

If I was developing git-cola, I would consider having it respect the standard Git configuration of status.showUntrackedFiles, instead of a custom configuration of gui.displayuntracked. Maybe there is reason to treat these individually, but I don't know what that reason would be.

To be fair, most repositories do not have massive amounts of untracked files, but it's a common thing for dotfiles & using $HOME as a work-tree. But that's the reason yadm defaults to using status.showUntrackedFiles=no.

@TheLocehiliosan TheLocehiliosan self-assigned this Feb 17, 2020
@TheLocehiliosan TheLocehiliosan added this to To do in Website Changes via automation Feb 17, 2020
@TheLocehiliosan
Copy link
Owner

@TheLocehiliosan TheLocehiliosan commented Feb 17, 2020

I'm going to leave this issue open, until I update the website with information found in this issue.

@TheLocehiliosan TheLocehiliosan moved this from To do to In progress in Website Changes Jun 30, 2020
TheLocehiliosan added a commit that referenced this issue Jun 30, 2020
@TheLocehiliosan
Copy link
Owner

@TheLocehiliosan TheLocehiliosan commented Jun 30, 2020

This config has been documented on the website.

Website Changes automation moved this from In progress to Done Jun 30, 2020
@MarcinWieczorek
Copy link
Author

@MarcinWieczorek MarcinWieczorek commented Jul 1, 2020

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.