Thanks for your report.

Le 03/20/17 à 13:32, Santiago Vila a écrit :
> ./test
> .missing b'b/c' on destination side
> missing b'b' on destination side
> ... create new inode for b'a'
> b'a/c': missing
> F
> ======================================================================
> FAIL: test2 (__main__.Test)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "./test", line 371, in test2
>     self.assertListEqual([b'a', b'a/c'], list(self.fssync.check(b'')))
> AssertionError: Lists differ: [b'a', b'a/c'] != [b'a/c']
> 
> First differing element 0:
> b'a'
> b'a/c'
> 
> First list contains 1 additional elements.
> First extra element 1:
> b'a/c'
> 
> - [b'a', b'a/c']
> + [b'a/c']
> 
> ----------------------------------------------------------------------
> Ran 2 tests in 0.382s

This error was recently reported by reproducible-builds (2017-02-04):
  https://tests.reproducible-builds.org/debian/history/fssync.html

At that time, I already tried to reproduce it on my machine, without success.
I suspected reprotest and tried it. Your report really confirms it's something 
else.

> The bug should be reproducible with sbuild on a single CPU virtual machine,
> provided you try enough times (as the failure happens randomly).

OK, so I've just set up a single-CPU VM. Still unable to reproduce the failure.

I don't think the number of cores matters here.

The issue seems to be at the line 368 of 'test':
    os.rename(x + b'c', x + b'd')

The test assumes that this changes the modification time of the folder pointed 
to by x. On my side, it's increased by a few ms.

Maybe your /tmp folder use a FS with a very low time precision. I tried tmpfs 
and ext4.

Julien

Reply via email to