Bug#835641: diffoscope: traceback when comparing dangling symlink to directory
Chris Lamb
lamby at debian.org
Sat Aug 27 21:51:49 UTC 2016
Package: diffoscope
Version: 59
Severity: normal
$ mkdir dir
$ ln -sf dst-file src-file
$ diffoscope dir src-file
cmp: dir: Is a directory
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 200, in main
sys.exit(run_diffoscope(parsed_args))
File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 171, in run_diffoscope
parsed_args.path1, parsed_args.path2)
File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 102, in compare_root_paths
return compare_files(file1, file2)
File "/usr/lib/python3/dist-packages/diffoscope/comparators/__init__.py", line 117, in compare_files
return file1.compare_bytes(file2, source)
File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 170, in compare_bytes
return compare_binary_files(self, other, source)
File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 55, in compare_binary_files
return Difference.from_command(diffoscope.comparators.utils.Xxd, file1.path, file2.path, source=[file1.name, file2.name])
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 356, in from_command
difference = Difference.from_feeder(feeder1, feeder2, path1, path2, *args, **kwargs)
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 306, in from_feeder
unified_diff = diff(feeder1, feeder2)
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 270, in diff
return run_diff(fd1, fd2, end_nl_q1, end_nl_q2)
File "/usr/lib/python3.5/contextlib.py", line 66, in __exit__
next(self.gen)
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 205, in fd_from_feeder
t.join()
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 183, in join
raise ex
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 169, in run
super().run(*args, **kwargs)
File "/usr/lib/python3.5/threading.py", line 862, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 190, in feed
end_nl = feeder(f)
File "/usr/lib/python3/dist-packages/diffoscope/difference.py", line 260, in feeder
raise subprocess.CalledProcessError(returncode, command.cmdline(), output=command.stderr.getvalue())
subprocess.CalledProcessError: Command '['xxd', 'dir']' returned non-zero exit status 2
Exception ignored in: <bound method File.__del__ of <<class 'abc.Symlink'> src-file>>
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/diffoscope/comparators/binary.py", line 112, in __del__
self.cleanup()
File "/usr/lib/python3/dist-packages/diffoscope/comparators/symlink.py", line 50, in cleanup
os.remove(self._placeholder)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpzvwrnvg4_diffoscope'
q(Tried writing a test but couldn't seem to reproduce there…)
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby at debian.org / chris-lamb.co.uk
`-
More information about the Reproducible-builds
mailing list