Debian Bug report logs -
#886736
diffoscope: mach-o disassembly with otool can fail in a way that fools diffoscope into dumping raw data instead
Reported by: Mike Hommey <mh+reportbug@glandium.org>
Date: Tue, 9 Jan 2018 12:21:02 UTC
Severity: normal
Found in version diffoscope/90
Fixed in version diffoscope/91
Done: Mattia Rizzolo <mattia@debian.org>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded
to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#886736; Package diffoscope.
(Tue, 09 Jan 2018 12:21:05 GMT) (full text, mbox, link).
Acknowledgement sent
to Mike Hommey <mh+reportbug@glandium.org>:
New Bug report received and forwarded. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>.
(Tue, 09 Jan 2018 12:21:05 GMT) (full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
Package: diffoscope
Version: 90
Severity: normal
Dear Maintainer,
In some cases, otool can fail with:
can't create x86_64 llvm disassembler
(where x86_64 may be another platform, and where the message is usually
preceded by the file path name and "(__TEXT,__text) section", well, in
fact, anything that would normally come before the disassembly for the
given command line)
"Sensibly", it does print that on stdout, and quits with exit code 0.
Which means when you're comparing two binaries that have assembly
differences, the otool output is identical and non-failing, from
diffoscope's perspective, meaning it goes on to the fallback "No file
format specific differences found inside, yet data differs", which then
goes on to do a diff on a hexdump.
When the llvm disassembler fails for some reason, one can use the -Q
option to otool to make it use its internal disassembler, which is
better than nothing.
Mike
Information forwarded
to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#886736; Package diffoscope.
(Tue, 09 Jan 2018 12:54:03 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>.
(Tue, 09 Jan 2018 12:54:03 GMT) (full text, mbox, link).
Message #10 received at 886736@bugs.debian.org (full text, mbox, reply):
Hi Mike,
> In some cases, otool can fail with:
>
> can't create x86_64 llvm disassembler
Do you happen to have example files you could point to or upload? Not
essential of course, but would be much easier and reliable to write a
fix with an addition to the testsuite armed with them...
> "Sensibly", it does print that on stdout, and quits with exit code 0.
♥
Best wishes,
--
,''`.
: :' : 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#886736; Package diffoscope.
(Tue, 09 Jan 2018 13:09:08 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>.
(Tue, 09 Jan 2018 13:09:08 GMT) (full text, mbox, link).
Message #15 received at 886736@bugs.debian.org (full text, mbox, reply):
Hi Mike,
> I only have a very large XUL library... you probably don't want that.
Probably not for the testsuite (!) but if you could make it available it
would help with a fix anyway...
Best wishes,
--
,''`.
: :' : 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#886736; Package diffoscope.
(Tue, 09 Jan 2018 13:39:12 GMT) (full text, mbox, link).
Acknowledgement sent
to Mike Hommey <mh@glandium.org>:
Extra info received and forwarded to list. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>.
(Tue, 09 Jan 2018 13:39:12 GMT) (full text, mbox, link).
Message #20 received at 886736@bugs.debian.org (full text, mbox, reply):
On Tue, Jan 09, 2018 at 12:50:05PM +0000, Chris Lamb wrote:
> Hi Mike,
>
>
> > In some cases, otool can fail with:
> >
> > can't create x86_64 llvm disassembler
>
> Do you happen to have example files you could point to or upload? Not
> essential of course, but would be much easier and reliable to write a
> fix with an addition to the testsuite armed with them...
I only have a very large XUL library... you probably don't want that.
Mike
Information forwarded
to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#886736; Package diffoscope.
(Wed, 10 Jan 2018 01:27:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Mike Hommey <mh@glandium.org>:
Extra info received and forwarded to list. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>.
(Wed, 10 Jan 2018 01:27:03 GMT) (full text, mbox, link).
Message #25 received at 886736@bugs.debian.org (full text, mbox, reply):
On Tue, Jan 09, 2018 at 01:07:58PM +0000, Chris Lamb wrote:
> Hi Mike,
>
> > I only have a very large XUL library... you probably don't want that.
>
> Probably not for the testsuite (!) but if you could make it available it
> would help with a fix anyway...
The two builds I was comparing:
https://queue.taskcluster.net/v1/task/AKmfRsZPQjqkc7ZoBmS2zw/runs/0/artifacts/public/build/target.dmg
https://queue.taskcluster.net/v1/task/Hs2lbc9dTFi4eXjwwM26NA/runs/0/artifacts/public/build/target.dmg
The corresponding diff:
https://queue.taskcluster.net/v1/task/QRazQl4PQZeuiU81C9PtlA/runs/0/artifacts/public/diff.html
Note that the actual diff you get is:
https://queue.taskcluster.net/v1/task/Uhv3G5XUQA6DDFrOhErA9Q/runs/0/artifacts/public/diff.html
which has more differences. Stripping the binaries first gets the first
diff. I should probably file another bug about that, those differences
show up when comparing nm -a output.
Mike
Information forwarded
to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#886736; Package diffoscope.
(Wed, 10 Jan 2018 01:45:04 GMT) (full text, mbox, link).
Acknowledgement sent
to Mike Hommey <mh@glandium.org>:
Extra info received and forwarded to list. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>.
(Wed, 10 Jan 2018 01:45:04 GMT) (full text, mbox, link).
Message #30 received at 886736@bugs.debian.org (full text, mbox, reply):
On Wed, Jan 10, 2018 at 10:23:59AM +0900, Mike Hommey wrote:
> On Tue, Jan 09, 2018 at 01:07:58PM +0000, Chris Lamb wrote:
> > Hi Mike,
> >
> > > I only have a very large XUL library... you probably don't want that.
> >
> > Probably not for the testsuite (!) but if you could make it available it
> > would help with a fix anyway...
>
> The two builds I was comparing:
> https://queue.taskcluster.net/v1/task/AKmfRsZPQjqkc7ZoBmS2zw/runs/0/artifacts/public/build/target.dmg
> https://queue.taskcluster.net/v1/task/Hs2lbc9dTFi4eXjwwM26NA/runs/0/artifacts/public/build/target.dmg
>
> The corresponding diff:
> https://queue.taskcluster.net/v1/task/QRazQl4PQZeuiU81C9PtlA/runs/0/artifacts/public/diff.html
>
> Note that the actual diff you get is:
> https://queue.taskcluster.net/v1/task/Uhv3G5XUQA6DDFrOhErA9Q/runs/0/artifacts/public/diff.html
>
> which has more differences. Stripping the binaries first gets the first
> diff. I should probably file another bug about that, those differences
> show up when comparing nm -a output.
BTW, since I'm also looking at where those differences are coming from,
the first one in the first diff is a UUID difference that appears in the
otool -l output.
Mike
Information forwarded
to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#886736; Package diffoscope.
(Wed, 10 Jan 2018 01:57:06 GMT) (full text, mbox, link).
Acknowledgement sent
to Mike Hommey <mh@glandium.org>:
Extra info received and forwarded to list. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>.
(Wed, 10 Jan 2018 01:57:06 GMT) (full text, mbox, link).
Message #35 received at 886736@bugs.debian.org (full text, mbox, reply):
On Wed, Jan 10, 2018 at 10:42:33AM +0900, Mike Hommey wrote:
> On Wed, Jan 10, 2018 at 10:23:59AM +0900, Mike Hommey wrote:
> > On Tue, Jan 09, 2018 at 01:07:58PM +0000, Chris Lamb wrote:
> > > Hi Mike,
> > >
> > > > I only have a very large XUL library... you probably don't want that.
> > >
> > > Probably not for the testsuite (!) but if you could make it available it
> > > would help with a fix anyway...
> >
> > The two builds I was comparing:
> > https://queue.taskcluster.net/v1/task/AKmfRsZPQjqkc7ZoBmS2zw/runs/0/artifacts/public/build/target.dmg
> > https://queue.taskcluster.net/v1/task/Hs2lbc9dTFi4eXjwwM26NA/runs/0/artifacts/public/build/target.dmg
> >
> > The corresponding diff:
> > https://queue.taskcluster.net/v1/task/QRazQl4PQZeuiU81C9PtlA/runs/0/artifacts/public/diff.html
> >
> > Note that the actual diff you get is:
> > https://queue.taskcluster.net/v1/task/Uhv3G5XUQA6DDFrOhErA9Q/runs/0/artifacts/public/diff.html
> >
> > which has more differences. Stripping the binaries first gets the first
> > diff. I should probably file another bug about that, those differences
> > show up when comparing nm -a output.
>
> BTW, since I'm also looking at where those differences are coming from,
> the first one in the first diff is a UUID difference that appears in the
> otool -l output.
And some (all?) differences that are not in the disassembly differences
are visible in `dyldinfo -bind -weak_bind -lazy_bind` output.
Mike
Information forwarded
to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#886736; Package diffoscope.
(Wed, 10 Jan 2018 05:09: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>.
(Wed, 10 Jan 2018 05:09:04 GMT) (full text, mbox, link).
Message #40 received at 886736@bugs.debian.org (full text, mbox, reply):
Mike Hommey wrote:
> The two builds I was comparing:
[…]
Thanks for sending this over. For some reason, I completely failed to
realise that I would need access to otool to make use of these, and
this is not in Debian ;)
Can you run some commands for me? In particular, is it sufficient to
fallback to, say, -tdvVQ if -tdvV does not work?
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#886736; Package diffoscope.
(Wed, 10 Jan 2018 05:15:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Mike Hommey <mh@glandium.org>:
Extra info received and forwarded to list. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>.
(Wed, 10 Jan 2018 05:15:04 GMT) (full text, mbox, link).
Message #45 received at 886736@bugs.debian.org (full text, mbox, reply):
On Wed, Jan 10, 2018 at 10:36:02AM +0530, Chris Lamb wrote:
> Mike Hommey wrote:
>
> > The two builds I was comparing:
>
> […]
>
> Thanks for sending this over. For some reason, I completely failed to
> realise that I would need access to otool to make use of these, and
> this is not in Debian ;)
>
> Can you run some commands for me? In particular, is it sufficient to
> fallback to, say, -tdvVQ if -tdvV does not work?
It's enough for me. Although some versions of otool don't support -Q,
and I don't know what they do.
Note you can get otool and other mac tools for linux from
https://github.com/tpoechtrager/cctools-port/
Mike
Information forwarded
to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#886736; Package diffoscope.
(Wed, 10 Jan 2018 05:33:03 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>.
(Wed, 10 Jan 2018 05:33:03 GMT) (full text, mbox, link).
Message #50 received at 886736@bugs.debian.org (full text, mbox, reply):
tags 886736 + pending
thanks
Cool. Should be fixed in Git...
https://anonscm.debian.org/git/reproducible/diffoscope.git/commit/?id=59dc18184ea11f3efc0236acb914e6355e8493ad
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby@debian.org / chris-lamb.co.uk
`-
Added tag(s) pending.
Request was from Chris Lamb <lamby@debian.org>
to control@bugs.debian.org.
(Wed, 10 Jan 2018 05:33:05 GMT) (full text, mbox, link).
Reply sent
to Mattia Rizzolo <mattia@debian.org>:
You have taken responsibility.
(Thu, 01 Mar 2018 13:09:15 GMT) (full text, mbox, link).
Notification sent
to Mike Hommey <mh+reportbug@glandium.org>:
Bug acknowledged by developer.
(Thu, 01 Mar 2018 13:09:16 GMT) (full text, mbox, link).
Message #57 received at 886736-close@bugs.debian.org (full text, mbox, reply):
Source: diffoscope
Source-Version: 91
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 886736@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Mattia Rizzolo <mattia@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: SHA512
Format: 1.8
Date: Thu, 01 Mar 2018 13:40:48 +0100
Source: diffoscope
Binary: diffoscope
Architecture: source
Version: 91
Distribution: unstable
Urgency: medium
Maintainer: Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>
Changed-By: Mattia Rizzolo <mattia@debian.org>
Description:
diffoscope - in-depth comparison of files, archives, and directories
Closes: 849386 863879 863880 877726 886736 886963 887180 888112 888401 888402 890528
Changes:
diffoscope (91) unstable; urgency=medium
.
[ Mattia Rizzolo ]
* d/clean: Remove .cache/.
* diff: Wrap long regular expression for improved readability.
* comparators.json: Fix UnicodeDecodeError with a non-UTF8 locale.
* d/copyright: Update for the new year.
* d/control: Bump Standards-Version to 4.1.3, no changes needed.
* tests/android:
+ Skip tests involving abootimg on BE archs (see #725729).
.
[ Daniel Shahaf ]
* diffoscope.diff: Document feeders. Closes: #863880
* Optimize the common case of feeders. Closes: #863879
.
[ Juliana Oliveira ]
* {tempfiles, utils.archive}: catch possible FileNotFoundError.
* comparators.java: add support for procyon-decompiler. Closes: #849386
* {command, feeders, diff}: replaces subprocess.Popen() by .run().
This is done in preparation for work on multiprocessing (#842837).
+ {command, zip, feeders}: replaces .wait by the new .returncode property.
+ comparators.utils.command: replaces .stderr_content by .stderr.
* tests:
+ test_progress: fix test case for some broken versions of
python-progressbar. Closes: #877726
+ utils.tools: add support for modules on skip_unless* annotations.
.
[ Chris Lamb ]
* comparators:
+ utils/compare:
- Show extended filesystem metadata even when directly comparing two
files, not just when we specify two directories. Closes: #888402
+ macho:
- If the If the LLVM disassembler does not work, try the
internal one. Closes: #886736
- Always strip the filename, not just when by itself.
+ json:
- Do some cheap fuzzy parsing to detect JSON files not named .json.
- Also match unicode JSON files.
- Optionally compare JSONs with the jsondiff module. Closes: #888112
+ directory:
- Report differences in extended file attributes when comparing files.
Closes: #888401
+ xsb:
- Add support for comparing XMLBeans binary schemas.
+ barkeley_db:
- Add support for comparing Berkeley DB files. Closes: #890528
* Misc code cleaup.
* tests:
+ comparators.test_elf: Return '0' if we can't parse the readelf
version number. Closes: #886963
* debian:
+ Explicitly build-depend and recommend e2fsprogs. Closes: #887180
.
[ Ximin Luo ]
* Partially revert the changes done for #888402 to maintain the current.
behaviour of --exclude-directory-metadata.
* Refactor how the configuration is loaded:
+ Move the defaults into a Config.reset() method.
+ reset() the configuration at the end of main(), to help the testsuite.
Checksums-Sha1:
cf78d47c07e0cea4b0d667c02a0beff82b2cb28b 3429 diffoscope_91.dsc
f10a233ff4469d6405eac3bc6c03da6d33962efb 8935512 diffoscope_91.tar.xz
1413267eea08eb05b0664a4ba13b46abc50a9df7 20151 diffoscope_91_amd64.buildinfo
Checksums-Sha256:
28e12196a5e461349d1cfdfa96bb3914337f6bd6327d13637de80a5bedd08169 3429 diffoscope_91.dsc
12034827db747b831b0c80a340f607c8ac4b85936610d38985135941b8a4f0ee 8935512 diffoscope_91.tar.xz
a456c23241bed0e2dc6230a03e3f7897ad9a715f54da1e662b4f7864c0804d5f 20151 diffoscope_91_amd64.buildinfo
Files:
4a1c8bd026d379c91fec4db88eee3679 3429 devel optional diffoscope_91.dsc
a72769fc6dc5f80c6a31b8730234444a 8935512 devel optional diffoscope_91.tar.xz
728e5ffa6fff19b50c3baf3dfe0a2ee6 20151 devel optional diffoscope_91_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEi3hoeGwz5cZMTQpICBa54Yx2K60FAlqX9qYACgkQCBa54Yx2
K62jGg/+J2JLNEmq/nVoNa182wyzTzerZVy03V5Pc4WBt1pyZ4DPbvDrAhZvWZmP
qBXr54UxkbbNfXa+fYAph4xr7D5xL4olDEOFRcDf5UJfGwdjaravc6CeE1z915eW
IJkFIOd17ySKlxM5RAVQ1xtQqXiCsBBHa4W2XryleNivJOSOKotEbkEul8MrregE
HREtWF76l7t5Mas2bFxD0xjYAfIYgB8vDLCFnsoOHsqUKksf2PYr60ge2CmCLKUO
Lw/gTcXD+T8k6UBoC2HXmU/2Wgsd9KClAOHUWwdJK78akvvjSC+zBfcewW1vtM1P
lVui0SjSmd7K3suNZgNnrCboKpq7J8ULR8g1GikElxV6orkDsmhX5SfqgsiqWsqw
yZbm1VHRBtOawnQUD8U2bLqVZsTOsE5JMF7ehHjGehEgoCgg3oNTbY8cIAWyd8y/
erk43kNYKhYdHbEfpvGRJekSvJOS8BY4h94ThJ1B4dElUhMzESJ5Fa2S/Ik3fyDS
WKWY8rS3WSons4WL+yjvd7Y2hfuf/IWt6XaG2rge3ODJlwD3BxFrLg7NzkNhH7NJ
a1yITYx2JbMahQZQribpkdPiFcx38y0LcAT25br8AY+asa0fr7qPOfshQfytFiIs
bDfMRuWM5I6KsCwvE4Gtjrawrux03EdbB0piGQzWKpfAmO3qqdE=
=L47V
-----END PGP SIGNATURE-----
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Tue, 03 Apr 2018 07:28:28 GMT) (full text, mbox, link).
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Wed May 17 13:46:22 2023;
Machine Name:
buxtehude
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.