Thread (3 messages) 3 messages, 3 authors, 2016-06-15

Re: t1450-fsck (sometimes/often) failes on Mac OS X

flat view

From: Torsten Bögershausen <hidden>
Date: 2016-06-15 22:54:15

Possibly related (same subject, not in this thread)

Am 16.07.2012 um 09:57 schrieb Thomas Rast:
Torsten Bögershausen [off-list ref] writes:
quoted
Now it appeared on next as well, so it's time to look a little bit deeper.

This test case of t1450 fails:
test_expect_success 'tag pointing to something else than its type' '

To debug more, I added an exit 0 here to inspect the file named out:
diff --git a/t/t1450-fsck.sh b/t/t1450-fsck.sh
index 5b79c51..f1f45c9 100755
--- a/t/t1450-fsck.sh
+++ b/t/t1450-fsck.sh
@@ -179,6 +179,7 @@ test_expect_success 'tag pointing to something else than its type' '
       test_when_finished "git update-ref -d refs/tags/wrong" &&
       test_must_fail git fsck --tags 2>out &&
       cat out &&
+       exit 0
       grep "error in tag.*broken links" out
'

Linux:
error: Object 63499e4ea8e096b831515ceb1d5a7593e4d87ae5 is a blob, not a commit
error in tag 66f6581d549f70e05ca586bc2df5c15a95662c36: broken links
error in tag 66f6581d549f70e05ca586bc2df5c15a95662c36: could not load tagged object

Mac OS X:
error: Object 63499e4ea8e096b831515ceb1d5a7593e4d87ae5 is a commit, not a blob
error: 63499e4ea8e096b831515ceb1d5a7593e4d87ae5: object corrupt or missing
What OS X are you running?  I started a loop

 while : ; do ./t1450-fsck.sh || break; done

and it hasn't failed yet.  It is

 $ uname -a
 Darwin mackeller.inf.ethz.ch 11.4.0 Darwin Kernel Version 11.4.0: Mon Apr  9 19:32:15 PDT 2012; root:xnu-1699.26.8~1/RELEASE_X86_64 x86_64
 uname -a
Darwin birne.lan 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386
You can run 'git ls-files --debug' which should give you all the data in
the index, and then perhaps run diff over that to determine the
differences...
That lloks like this:

fileA
  ctime: 1342453768:0
  mtime: 1342453768:0
  dev: 234881026        ino: 92698027
  uid: 1500     gid: 20
  size: 4       flags: 5
fileB
  ctime: 1342453768:0
  mtime: 1342453768:0
  dev: 234881026        ino: 92698053
  uid: 1500     gid: 20
  size: 4       flags: 5

==================
But what is interesting, is that 
a) When I clone a fresh copy from git.git, it works OK. After some activity with the working dir,
  suddenly t1450 fails. Switching back to e.g. v1.7.11 makes t1450  pass again.
  Switching to origin/next , running make brings back the problem, t1450 fails

b) The failure seems to be time critical. When I run the test yesterday evening,
   being logged in via ssh makes the test pass.
   Sitting at the machine makes it fail.

c) It seems as if there is a problem when writing to disk.
   Could be the index file
   (git ls-files --debug does not dump the whole index, does it?)

d) As Peff pointed out, the fsck itself is not time critical.
  
Thanks for looking into it
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help