Bug#892240: diffoscope: crashes comparing directories with python3-xattr installed

Paul Wise pabs at debian.org
Wed Mar 7 03:17:57 UTC 2018

Package: diffoscope
Version: 91
Severity: wishlist 
Usertags: crash

diffoscope crashes when comparing directories when the python3-xattr
package is installed but the python3-pyxattr package is not installed.

I would suggest that diffoscope should either conflict with the
incompatible python3-xattr package (as python3-pyxattr does), or
add support for the API provided by the python3-xattr package.

Personally I would prefer the latter, since python3-xattr has a
useful command-line tool in the xattr package that I sometimes use.

$ mkdir foo bar
$ diffoscope foo bar
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 422, in main
  File "/usr/lib/python3/dist-packages/diffoscope/main.py", line 394, in run_diffoscope
    difference = compare_root_paths(path1, path2)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/utils/compare.py", line 62, in compare_root_paths
    return compare_directories(path1, path2)
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/directory.py", line 165, in compare_directories
    return FilesystemDirectory(path1).compare(FilesystemDirectory(path2))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/directory.py", line 216, in compare
    differences.extend(compare_meta(self.name, other.name))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/directory.py", line 161, in compare_meta
    differences.append(xattr(path1, path2))
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/directory.py", line 124, in xattr
    fn(path1), fn(path2), path1, path2, source='extended file attributes',
  File "/usr/lib/python3/dist-packages/diffoscope/comparators/directory.py", line 121, in fn
    ) for k, v in sorted(xattr.get_all(x)))
AttributeError: module 'xattr' has no attribute 'get_all'

-- System Information:
Debian Release: buster/sid
  APT prefers testing-debug
  APT policy: (900, 'testing-debug'), (900, 'testing'), (800, 'unstable-debug'), (800, 'unstable'), (790, 'buildd-unstable'), (700, 'experimental-debug'), (700, 'experimental'), (690, 'buildd-experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.14.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8), LANGUAGE=en_AU.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages diffoscope depends on:
ii  python3                3.6.4-1
ii  python3-distro         1.0.1-2
ii  python3-libarchive-c   2.1-3.1
ii  python3-magic          2:0.4.15-1
ii  python3-pkg-resources  38.4.0-1

Versions of packages diffoscope recommends:
ii  abootimg                         0.6-1+b2
ii  acl                              2.2.52-3+b1
ii  apktool                          2.3.1+dfsg-1
ii  binutils-multiarch               2.30-5
ii  bzip2                            1.0.6-8.1
ii  caca-utils                       0.99.beta19-2+b2
ii  colord                           1.3.3-2
ii  db-util                          5.3.1
ii  default-jdk [java-sdk]           2:1.8-59
ii  default-jdk-headless             2:1.8-59
pn  device-tree-compiler             <none>
pn  docx2txt                         <none>
ii  e2fsprogs                        1.43.9-2
ii  enjarify                         1:1.0.3-3
ii  fontforge-extras                 0.3-4
pn  fp-utils                         <none>
ii  genisoimage                      9:1.1.11-3+b2
ii  gettext                
ii  ghc                              8.0.2-11
ii  ghostscript                      9.22~dfsg-2
ii  giflib-tools                     5.1.4-2
ii  gnupg                            2.2.5-1
ii  imagemagick                      8:
ii  imagemagick-6.q16 [imagemagick]  8:
ii  jsbeautifier                     1.6.4-6
pn  libarchive-tools                 <none>
ii  llvm                             1:4.0-40
pn  mono-utils                       <none>
pn  odt2txt                          <none>
pn  oggvideotools                    <none>
ii  openjdk-8-jdk [java-sdk]         8u151-b12-1
ii  openssh-client                   1:7.6p1-4
ii  pdftk                            2.02-4+b2
ii  pgpdump                          0.31-0.2
ii  poppler-utils                    0.61.1-2
pn  procyon-decompiler               <none>
ii  python3-argcomplete              1.8.1-1
ii  python3-binwalk                  2.1.1-16
ii  python3-debian                   0.1.32
pn  python3-defusedxml               <none>
pn  python3-guestfs                  <none>
ii  python3-jsondiff                 1.1.1-1
ii  python3-progressbar              2.3-4
ii  python3-rpm                      4.14.0+dfsg1-2
ii  python3-tlsh                     3.4.4+20151206-1+b3
ii  python3-xattr [python3-pyxattr]  0.9.3-1
pn  r-base-core                      <none>
ii  rpm2cpio                         4.14.0+dfsg1-2
ii  sng                              1.1.0-1+b1
ii  sqlite3                          3.22.0-1
ii  squashfs-tools                   1:4.3-4
ii  tcpdump                          4.9.2-2
ii  unzip                            6.0-21
ii  vim-common                       2:8.0.1453-1
pn  xmlutils                         <none>
ii  xxd                              2:8.0.1453-1+b1
ii  xz-utils                         5.2.2-1.3

Versions of packages diffoscope suggests:
ii  libjs-jquery  3.2.1-1


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/reproducible-builds/attachments/20180307/f0c1ffbd/attachment.sig>

More information about the Reproducible-builds mailing list