summaryrefslogtreecommitdiff
path: root/doc/bugs/git-annex-shell:_internal_error:_evacuate__40__static__41__:_strange_closure_type_30799.mdwn
diff options
context:
space:
mode:
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.mdwn75
1 files changed, 0 insertions, 75 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
deleted file mode 100644
index f9a61a859..000000000
--- a/doc/bugs/git-annex-shell:_internal_error:_evacuate__40__static__41__:_strange_closure_type_30799.mdwn
+++ /dev/null
@@ -1,75 +0,0 @@
-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"?
-
-> git-annex (and git-annex shell) always start up by learning what git
-> remotes are locally configured, and this includes checking them to
-> try to look up their annex.uuid setting.
->
-> Since git will, given a remote like "url = /foo", first look in
-> "/foo.git" for a bare git repository, so too does git-annex.
-> I do not think this is a path joining error. That seems likely to
-> be a red herring. --[[Joey]]
-
-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!
-
-> I've never seen anything like this error message. I don't know if the
-> problem is caused by building with GHC 7, or what. You didn't say what
-> OS you're using. Searching for the error message, it seems to involve
-> Mac OS X.
-
-> For example: <http://hackage.haskell.org/trac/ghc/ticket/3771>
->> The error "strange closure type" indicates some kind of memory corruption, which can have many different causes, from bugs in the GC to hardware failures.
->
-> You said that you'd been using git-annex built with that version of GHC
-> successfully before. Perhaps you could use `git bisect` to see if you can
-> identify a point in git-annex's history where this started happening?
-> Since you can reproduce the problem by just running git-annex-shell at
-> the command line with the right parameters, it should be easy to bisect it.
->
-> Probably your best bet will be changing to a different version or build of
-> GHC.. --[[Joey]]
-
----
-
-forwarded to GHC upstream; closing [[done]] --[[Joey]]