summaryrefslogtreecommitdiff
path: root/doc/bugs/git-annex-shell:_internal_error:_evacuate__40__static__41__:_strange_closure_...
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-04-02 21:36:51 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-04-02 21:36:51 -0400
commitc7c0a229c85adcc4cb4b0ef441ac1614e038c463 (patch)
tree64b4534e98101fc54ab0038fd6c5e318684b32e2 /doc/bugs/git-annex-shell:_internal_error:_evacuate__40__static__41__:_strange_closure_type_30799.mdwn
parent868300d4c1dafd2c4b91ad3f369cfb48f14bb82a (diff)
parenta31fb09eafb73897d63d7527f2e66bdd11f6802f (diff)
Merge remote-tracking branch 'branchable/master'
Diffstat (limited to 'doc/bugs/git-annex-shell:_internal_error:_evacuate__40__static__41__:_strange_closure_type_30799.mdwn')
-rw-r--r--doc/bugs/git-annex-shell:_internal_error:_evacuate__40__static__41__:_strange_closure_type_30799.mdwn45
1 files changed, 45 insertions, 0 deletions
diff --git a/doc/bugs/git-annex-shell:_internal_error:_evacuate__40__static__41__:_strange_closure_type_30799.mdwn b/doc/bugs/git-annex-shell:_internal_error:_evacuate__40__static__41__:_strange_closure_type_30799.mdwn
new file mode 100644
index 000000000..60f7d9ea9
--- /dev/null
+++ b/doc/bugs/git-annex-shell:_internal_error:_evacuate__40__static__41__:_strange_closure_type_30799.mdwn
@@ -0,0 +1,45 @@
+I ran git-annex (git version) on three machines with ghc-7.0.2 for about a month, but recently (no more than a week ago) I've started getting this error for every file on "git annex get":
+
+ git-annex-shell: internal error: evacuate(static): strange closure type 30799
+ (GHC version 7.0.2 for i386_unknown_linux)
+ Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
+
+There were no changes to ghc or it's modules, so I assume something has changed in git-annex itself.
+
+strace shows "git annnex get" (on "host1") performing following exec's:
+
+ [pid 9481] execve("/usr/bin/rsync", ["rsync", "-p", "--progress", "--inplace", "-e", "'ssh' 'user@host2' 'git-annex-shell ''sendkey'' ''/remote/path'' ''SHA1-s6654080--abd8edec20648ade69351d68ae1c64c8074a6f0b'' ''--'''", ":", "/local/path/.git/annex/tmp/SHA1-s6654080--abd8edec20648ade69351d68ae1c64c8074a6f0b"], [/* 41 vars */]) = 0
+ [pid 9482] execve("/usr/bin/ssh", ["ssh", "user@host2", "git-annex-shell 'sendkey' '/remote/path' 'SHA1-s6654080--abd8edec20648ade69351d68ae1c64c8074a6f0b' '--'", "", "rsync", "--server", "--sender", "-vpe.Lsf", "--inplace", ".", ""], [/* 41 vars */] <unfinished ...>
+
+I've tried running the second command directly from the shell and got the same error message from a remote GHC.
+Adding strace before git-annex-shell to remote command yielded something like this in the end:
+
+ stat64("/local/path.git", 0xb727d610) = -1 ENOENT (No such file or directory)
+ stat64("/local/path.git", 0xb727d6b0) = -1 ENOENT (No such file or directory)
+ waitpid(7525, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 7525
+ chdir("/home/user") = 0
+ rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
+ write(2, "git-annex-shell: internal error: ", 33git-annex-shell: internal error: ) = 33
+ ...
+
+Note that "/local/path" here is not what's specified in rsync arguments at all, and git repo with files-to-be-fetched on "host2" is in "/remote/path", but "/local/path" is present in git remotes there since I mount it via nfs from "host1" (yes, to the same path as it's there):
+
+ [remote "nfs"]
+ url = /local/path
+ fetch = +refs/heads/*:refs/remotes/nfs/*
+ push = refs/heads/*:refs/remotes/host2/*
+ annex-uuid = 0a4e14ba-5236-11e0-9004-7f24452c0f05
+
+If I comment that remote out from "/remote/path/.git/config", "git annex get" works fine.
+The only git-command git-annex-shell seem to exec there (on "host2") is "git config --list", so it's shouldn't be git trying to do something with it's remotes - it's git-annex itself, right?
+
+Anyways, looks like a simple path-joining error, if "/local/path.git" should be "/local/path/.git" there.
+
+I'm actually quite confused about what it's trying to do with that path.
+Connect from "host1" to "host2" just to connect back to "host1"?
+What for, when it should just fetch files from "host2"?
+
+Not sure if it's a bug or I'm doing something wrong, but if git-annex really need to check something in git remotes' paths, error message (the one at the top of this post) can be a more descriptive, I guess.
+Something like "error: failed to do something with git remote X on a remote host" would've been a lot less confusing than that GHC thing.
+
+Thanks!