Acknowledgement sent
to michal marzuchowski <michal.marzuchowski@live.com>:
New Bug report received and forwarded. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>.
(Sat, 24 Feb 2018 22:18:04 GMT) (full text, mbox, link).
From: michal marzuchowski <michal.marzuchowski@live.com>
To: "submit@bugs.debian.org" <submit@bugs.debian.org>
Subject: Diffoscope crashes when cleaning non-writeable temporary files/dirs
Date: Sat, 24 Feb 2018 22:16:06 +0000
Package: diffoscope
Version: 90
When comparing two NixOS iso images (one pulled from website and one I
built myself), diffoscope fails after or during printing results with
(full error included at the bottom):
> PermissionError: [Errno 13] Permission denied: 'curl'
> Unable to delete <TemporaryDirectory '/tmp/tmpun51yx54_diffoscope'>
> Traceback (most recent call last):
> File
> "/nix/store/1ipliryvqaxixffryxw1w7ckqly0sw35-diffoscope-90/lib/python3.6/site-packages/diffoscope/main.py",
> line 412, in main
> sys.exit(run_diffoscope(parsed_args))
> SystemExit: 1
It seems that diffoscope is not able to remove r-xr-xr-x temporary file:
> ~> find /tmp/tmpun51yx54_diffoscope -name curl -exec ls -gGd {} +
> dr-xr-xr-x 2 4096 Jan 1 1970
> /tmp/tmpun51yx54_diffoscope/d1yxmlqavkg9pp02h3b20sn6wbw1ngmd-nixos-17.09.3047.8bce347f02f/nixos/pkgs/tools/networking/curl
> -r-xr-xr-x 1 151168 Jan 1 1970
> /tmp/tmpun51yx54_diffoscope/dmchxbmdbk9616xl98f0a69wb55anmq6-curl-7.58.0-bin/bin/curl
> lrwxrwxrwx 1 68 Feb 24 22:10
> /tmp/tmpun51yx54_diffoscope/plr0a7lnqmz4v453drw7q1ivrdrcamvj-system-path/bin/curl
> -> /nix/store/dmchxbmdbk9616xl98f0a69wb55anmq6-curl-7.58.0-bin/bin/curl
The 'curl' seems to be first to be removed:
> ~> rm -r /tmp/tmpun51yx54_diffoscope
> rm: descend into write-protected directory
> '/tmp/tmpun51yx54_diffoscope/dmchxbmdbk9616xl98f0a69wb55anmq6-curl-7.58.0-bin'?
> y
> rm: descend into write-protected directory
> '/tmp/tmpun51yx54_diffoscope/dmchxbmdbk9616xl98f0a69wb55anmq6-curl-7.58.0-bin/bin'?
> y
> rm: remove write-protected regular file
> '/tmp/tmpun51yx54_diffoscope/dmchxbmdbk9616xl98f0a69wb55anmq6-curl-7.58.0-bin/bin/curl'?
> y
> rm: cannot remove
> '/tmp/tmpun51yx54_diffoscope/dmchxbmdbk9616xl98f0a69wb55anmq6-curl-7.58.0-bin/bin/curl':
> Permission denied
> rm: descend into write-protected directory
> '/tmp/tmpun51yx54_diffoscope/a18nnq9b1vyh9f7f71w5lmip91cqr1px-gdbm-1.13'?
> ^C
Non-writeable files and dirs are quite common for NixOS isos:
> ~> rm -r /tmp/tmpun51yx54_diffoscope
> rm: descend into write-protected directory
> '/tmp/tmpun51yx54_diffoscope/dmchxbmdbk9616xl98f0a69wb55anmq6-curl-7.58.0-bin'?
> y
> rm: descend into write-protected directory
> '/tmp/tmpun51yx54_diffoscope/dmchxbmdbk9616xl98f0a69wb55anmq6-curl-7.58.0-bin/bin'?
> y
> rm: remove write-protected regular file
> '/tmp/tmpun51yx54_diffoscope/dmchxbmdbk9616xl98f0a69wb55anmq6-curl-7.58.0-bin/bin/curl'?
> y
> rm: cannot remove
> '/tmp/tmpun51yx54_diffoscope/dmchxbmdbk9616xl98f0a69wb55anmq6-curl-7.58.0-bin/bin/curl':
> Permission denied
> rm: descend into write-protected directory
> '/tmp/tmpun51yx54_diffoscope/a18nnq9b1vyh9f7f71w5lmip91cqr1px-gdbm-1.13'?
> ^C
Full stacktrace:
> Unable to delete <TemporaryDirectory '/tmp/tmprakoxawl_diffoscope'>
> Traceback (most recent call last):
> File
> "/nix/store/1ipliryvqaxixffryxw1w7ckqly0sw35-diffoscope-90/lib/python3.6/site-packages/diffoscope/main.py",
> line 412, in main
> sys.exit(run_diffoscope(parsed_args))
> SystemExit: 1
>
> During handling of the above exception, another exception occurred:
>
> Traceback (most recent call last):
> File
> "/nix/store/1ipliryvqaxixffryxw1w7ckqly0sw35-diffoscope-90/lib/python3.6/site-packages/diffoscope/tempfiles.py",
> line 62, in clean_all_temp_files
> x.cleanup()
> File
> "/nix/store/53dyjh7xjhnbibqllr7j27lk2h98n7j7-python3-3.6.4/lib/python3.6/tempfile.py",
> line 811, in cleanup
> _shutil.rmtree(self.name)
> File
> "/nix/store/53dyjh7xjhnbibqllr7j27lk2h98n7j7-python3-3.6.4/lib/python3.6/shutil.py",
> line 480, in rmtree
> _rmtree_safe_fd(fd, path, onerror)
> File
> "/nix/store/53dyjh7xjhnbibqllr7j27lk2h98n7j7-python3-3.6.4/lib/python3.6/shutil.py",
> line 418, in _rmtree_safe_fd
> _rmtree_safe_fd(dirfd, fullname, onerror)
> File
> "/nix/store/53dyjh7xjhnbibqllr7j27lk2h98n7j7-python3-3.6.4/lib/python3.6/shutil.py",
> line 418, in _rmtree_safe_fd
> _rmtree_safe_fd(dirfd, fullname, onerror)
> File
> "/nix/store/53dyjh7xjhnbibqllr7j27lk2h98n7j7-python3-3.6.4/lib/python3.6/shutil.py",
> line 438, in _rmtree_safe_fd
> onerror(os.unlink, fullname, sys.exc_info())
> File
> "/nix/store/53dyjh7xjhnbibqllr7j27lk2h98n7j7-python3-3.6.4/lib/python3.6/shutil.py",
> line 436, in _rmtree_safe_fd
> os.unlink(name, dir_fd=topfd)
> PermissionError: [Errno 13] Permission denied: 'curl'
> Unable to delete <TemporaryDirectory '/tmp/tmpun51yx54_diffoscope'>
> Traceback (most recent call last):
> File
> "/nix/store/1ipliryvqaxixffryxw1w7ckqly0sw35-diffoscope-90/lib/python3.6/site-packages/diffoscope/main.py",
> line 412, in main
> sys.exit(run_diffoscope(parsed_args))
> SystemExit: 1
>
> During handling of the above exception, another exception occurred:
>
> Traceback (most recent call last):
> File
> "/nix/store/1ipliryvqaxixffryxw1w7ckqly0sw35-diffoscope-90/lib/python3.6/site-packages/diffoscope/tempfiles.py",
> line 62, in clean_all_temp_files
> x.cleanup()
> File
> "/nix/store/53dyjh7xjhnbibqllr7j27lk2h98n7j7-python3-3.6.4/lib/python3.6/tempfile.py",
> line 811, in cleanup
> _shutil.rmtree(self.name)
> File
> "/nix/store/53dyjh7xjhnbibqllr7j27lk2h98n7j7-python3-3.6.4/lib/python3.6/shutil.py",
> line 480, in rmtree
> _rmtree_safe_fd(fd, path, onerror)
> File
> "/nix/store/53dyjh7xjhnbibqllr7j27lk2h98n7j7-python3-3.6.4/lib/python3.6/shutil.py",
> line 418, in _rmtree_safe_fd
> _rmtree_safe_fd(dirfd, fullname, onerror)
> File
> "/nix/store/53dyjh7xjhnbibqllr7j27lk2h98n7j7-python3-3.6.4/lib/python3.6/shutil.py",
> line 418, in _rmtree_safe_fd
> _rmtree_safe_fd(dirfd, fullname, onerror)
> File
> "/nix/store/53dyjh7xjhnbibqllr7j27lk2h98n7j7-python3-3.6.4/lib/python3.6/shutil.py",
> line 438, in _rmtree_safe_fd
> onerror(os.unlink, fullname, sys.exc_info())
> File
> "/nix/store/53dyjh7xjhnbibqllr7j27lk2h98n7j7-python3-3.6.4/lib/python3.6/shutil.py",
> line 436, in _rmtree_safe_fd
> os.unlink(name, dir_fd=topfd)
> PermissionError: [Errno 13] Permission denied: 'curl'
Information forwarded
to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>: Bug#891363; Package diffoscope.
(Sat, 24 Feb 2018 23:45:03 GMT) (full text, mbox, link).
Acknowledgement sent
to michal marzuchowski <michal.marzuchowski@live.com>:
Extra info received and forwarded to list. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>.
(Sat, 24 Feb 2018 23:45:03 GMT) (full text, mbox, link).
Information forwarded
to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>: Bug#891363; Package diffoscope.
(Mon, 26 Feb 2018 08:45:20 GMT) (full text, mbox, link).
Acknowledgement sent
to Chris Lamb <lamby@debian.org>:
Extra info received and forwarded to list. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>.
(Mon, 26 Feb 2018 08:45:20 GMT) (full text, mbox, link).
Cc: michal marzuchowski <michal.marzuchowski@live.com>
Subject: Re: Diffoscope crashes when cleaning non-writeable temporary files/dirs
Date: Mon, 26 Feb 2018 08:44:40 +0000
Hi Michal,
> The issue can be reproduced by comparing two different official images
Full (76M) --debug output here:
https://people.debian.org/~lamby/891363-debug-log.txt.xz
(Somewhat unstable URI)
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby@debian.org / chris-lamb.co.uk
`-
Information forwarded
to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>: Bug#891363; Package diffoscope.
(Sat, 03 Mar 2018 09:00:04 GMT) (full text, mbox, link).
Acknowledgement sent
to Chris Lamb <lamby@debian.org>:
Extra info received and forwarded to list. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>.
(Sat, 03 Mar 2018 09:00:04 GMT) (full text, mbox, link).
Added tag(s) pending.
Request was from Chris Lamb <lamby@debian.org>
to control@bugs.debian.org.
(Sat, 03 Mar 2018 09:00:07 GMT) (full text, mbox, link).
Reply sent
to Chris Lamb <lamby@debian.org>:
You have taken responsibility.
(Thu, 22 Mar 2018 15:09:18 GMT) (full text, mbox, link).
Notification sent
to michal marzuchowski <michal.marzuchowski@live.com>:
Bug acknowledged by developer.
(Thu, 22 Mar 2018 15:09:19 GMT) (full text, mbox, link).
Source: diffoscope
Source-Version: 92
We believe that the bug you reported is fixed in the latest version of
diffoscope, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 891363@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Chris Lamb <lamby@debian.org> (supplier of updated diffoscope package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Thu, 22 Mar 2018 10:28:44 -0400
Source: diffoscope
Binary: diffoscope
Built-For-Profiles: nocheck
Architecture: source all
Version: 92
Distribution: unstable
Urgency: medium
Maintainer: Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>
Changed-By: Chris Lamb <lamby@debian.org>
Description:
diffoscope - in-depth comparison of files, archives, and directories
Closes: 890904891363891903892240893183893311893324893443
Changes:
diffoscope (92) unstable; urgency=medium
.
[ Chris Lamb ]
.
* New features:
- Show the list of supported file types in the manual and --help output. We
can copy-paste this into the website, etc.. Thanks to Jonathan Dowland
for the suggestion. (Closes: #893443)
- Add support for comparing Gnumeric spreadsheets. (Closes: #893311)
.
* Bug fixes:
- Additionally extract the classes.dex file from .apk files; apktool does
not do this by default which was preventing us from recursing into it to
find differences. Thanks to Hans-Christoph Steiner for the report.
(Closes: #890904)
- Recursively reset the permissions of temporary directories prior to
deletion to ensure that non-writable permissions such as 0555 are removed
and do not cause a traceback. (Closes: #891363)
- Support the case where the python3-xattr package is installed but
python3-pyxattr is not. Based on an patch by Doug Freed; thanks!
(Closes: #892240)
- Update Java tests for openjdk-9. (Closes: #893183)
.
* Output:
- Print a nicer error message if you only specify one file to compare.
- Don't show progress bar if we passed --debug as it just gets in the way.
.
* Code tidying:
- Avoid some necessary indentation around unconditional control flow.
- Tidy unnecessary assignments.
- Move the documentation for maybe_decode into a docstring on the method
itself.
- Import LooseVersion as LooseVersion.
- Use more Pythonic `old_level` variable names (over `oldLabel`) and avoid
using ambiguous `l` variable names.
- Add whitespace around operators and ensure 4-line indentation throughout.
.
* debian/*:
- Move DOS/MBR check into the testsuite.
- Add explicit runtime dependency on python3-distutils as it was dropped in
src:python3.6 3.6.5~rc1-2.
.
* Misc:
- Clarify that the Reproducible Builds project is not just about
- Drop executable bit on doc/Makefile.
- Use our bin/diffoscope wrapper in manpage generation to ensure we are
using the local version of diffoscope.
.
[ Mattia Rizzolo ]
* Update terminology used in docs about exclusion options. Thanks to Paul
Wise for the idea. (Closes: #893324)
* Don't try to decode a string in comparators.utils.file. (Closes: #891903)
* Save a bunch of system calls by resetting tempfile permissions when
we actually need to do it.
Checksums-Sha1:
bf5454135e289dc72b6c90b701e236b4cf1aca96 3450 diffoscope_92.dsc
4d2de0fd8ef3e408b3c9e0ef21424a8c13e19950 8941108 diffoscope_92.tar.xz
26ca12fbbaac88d473ecefb8104d4970b5707bf7 119368 diffoscope_92_all.deb
abb5d892ed2888c52b2ef71b211f6e7821e7f87d 6496 diffoscope_92_amd64.buildinfo
Checksums-Sha256:
89825858473b26ef732bb12c0c63325ef292cc2d2c200a088d7a66e1bfe414cc 3450 diffoscope_92.dsc
dc0ec115af492d91cc3512d71a0b0882847faa1319e381cdbbc4ec155d568e06 8941108 diffoscope_92.tar.xz
e3b2e70a097f98b4c318dabf2dd09af84365d0e8c89a45f477dc1f4c91fa33d4 119368 diffoscope_92_all.deb
fbcc092a28a5874a4b46b31e03a1f9b568363481d94953c4aaad67ac9bb47972 6496 diffoscope_92_amd64.buildinfo
Files:
a91e7adac25c9b7a6a172ce72251327f 3450 devel optional diffoscope_92.dsc
8e25a63003ead4b79ed3c1eb130a3470 8941108 devel optional diffoscope_92.tar.xz
1859965190e58bd76231dcc9439d492b 119368 devel optional diffoscope_92_all.deb
e0b84b217304d667e0ea353fd5a5d79c 6496 devel optional diffoscope_92_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEwv5L0nHBObhsUz5GHpU+J9QxHlgFAlqzv4AACgkQHpU+J9Qx
HlgZ1g/9GQQhyCZFU3KETg6AjGkNGyNAjYYD2FqKAJyM0bb3o9Zyg5QWvVPxFYHf
CDaKAwMQn6yws908OEfDPWGQAtowFGMPAXab9ejy9IvyD8wGXJ9iBXzgwtOWUCD7
hvyTCBKGRNwH/LdCWNfX1sNFX+usLDB5mlZytlRZe+aOUN+MKuRzNnDhl7wt6EU9
LiXsjqxdYDMJgBCIMcOJ50q3r8RkFjK7YCHeROrwiMRd/YGIR2i9Ed+g/zIkd2pr
ztgwec9nebOmHmFbWc6bqzKMVSkmejSyOjbZmmudTg0sUKrRF1qO/b5z9kEezSL6
VxyZKHHvqXBgAuwspvluJ4HWLifsWtwOIyg5xrcAAeeGm/j8RoIP8UanOyXbm8Bk
3+MsuGwZJEuNC7y2eiGx/HvcE2R9KK9UJlbIFeKKp16AYbLIINGTMDlHiYo9ItTz
Q77N4sbjSgKIuyBf3qzoyL0luWODVB5bpht+iCJxrOVnNDE2u8xFBYG/wTSxpftA
5X3pj1vPYy+1ozBDddaxOQppoDc/DHCgp6PWAf1K1/FvqNqrOPFiBaEg+L7QMthT
ADXhzB0+z6JnPU92URh7a0/rw+5hfU4dxZElCFznQhDLf8U3NngsSpCfnY3OK3Uu
qknLgJERC2K6iJrhVB023yksPPxAeTH7L+0BDpXeXFReJ6ldOCg=
=CTQP
-----END PGP SIGNATURE-----
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Thu, 26 Apr 2018 07:29:45 GMT) (full text, mbox, link).
Debbugs is free software and licensed under the terms of the GNU General
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.