Debian Bug report logs - #827382
dwarfutils: does not build reproducibly

version graph

Package: src:dwarfutils; Maintainer for src:dwarfutils is Fabian Wolff <fabi.wolff@arcor.de>;

Reported by: Fabian Wolff <fabi.wolff@arcor.de>

Date: Wed, 15 Jun 2016 14:39:02 UTC

Severity: wishlist

Tags: patch, upstream

Found in version dwarfutils/20160507+git20160523.9086738-2

Fixed in version dwarfutils/20160613-1

Done: Fabian Wolff <fabi.wolff@arcor.de>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, reproducible-builds@lists.alioth.debian.org:
Bug#827382; Package src:dwarfutils. (Wed, 15 Jun 2016 14:39:05 GMT) (full text, mbox, link).


Acknowledgement sent to Fabian Wolff <fabi.wolff@arcor.de>:
New Bug report received and forwarded. Copy sent to reproducible-builds@lists.alioth.debian.org. (Wed, 15 Jun 2016 14:39:05 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Fabian Wolff <fabi.wolff@arcor.de>
To: submit@bugs.debian.org
Subject: dwarfutils: does not build reproducibly
Date: Wed, 15 Jun 2016 16:34:24 +0200
Source: dwarfutils
Version: 20160507+git20160523.9086738-2
Severity: wishlist
Tags: help
User: reproducible-builds@lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

The dwarfutils package currently cannot be built reproducibly.
However, I have been unable to find the source of the nondeterminism.
There are some timestamps in the code, but I already included a patch
to set those deterministically.

I have discussed this issue with the upstream developer, but he could
not tell where the (apparent) randomness originates from, either.

Could someone please have a look at this and tell me what I've been
missing?

Thanks!

Regards,
Fabian Wolff



Information forwarded to debian-bugs-dist@lists.debian.org, Fabian Wolff <fabi.wolff@arcor.de>:
Bug#827382; Package src:dwarfutils. (Wed, 15 Jun 2016 17:51:07 GMT) (full text, mbox, link).


Acknowledgement sent to Reiner Herrmann <reiner@reiner-h.de>:
Extra info received and forwarded to list. Copy sent to Fabian Wolff <fabi.wolff@arcor.de>. (Wed, 15 Jun 2016 17:51:08 GMT) (full text, mbox, link).


Message #10 received at 827382@bugs.debian.org (full text, mbox, reply):

From: Reiner Herrmann <reiner@reiner-h.de>
To: Fabian Wolff <fabi.wolff@arcor.de>, 827382@bugs.debian.org, Reproducible Builds discussion list <reproducible-builds@lists.alioth.debian.org>
Subject: Re: [Reproducible-builds] Bug#827382: dwarfutils: does not build reproducibly
Date: Wed, 15 Jun 2016 19:47:20 +0200
[Message part 1 (text/plain, inline)]
Control: tags = patch upstream

Hi,

I found that the problem is in a C file which is generated during build
(tmp-tt-table.c).  It contains some tables, and the last two elements
columsn of one table were not deterministic.
The reason is that the array is sized incorrectly.

It is declared as:

  unsigned int tag_tree_combination_table[TAG_TABLE_ROW_MAXIMUM][TAG_TABLE_COLUMN_MAXIMUM];

where TAG_TABLE_COLUMN_MAXIMUM was set to EXT_TAG_TABLE_COLS, which is 5.
But when calling this tool with -s, it uses STD_TAG_TABLE_COLUMNS for
iterating over the table, which is 7 -> two elements more than the table
is wide, which causes memory from outside the table to be written into
the file.

The attached patch fixes this by setting the maximum column width to
STD_TAG_TABLE_COLUMNS.

Kind regards,
  Reiner
[dwarfutils.patch (text/x-diff, attachment)]
[signature.asc (application/pgp-signature, inline)]

Added tag(s) patch and upstream; removed tag(s) help. Request was from Reiner Herrmann <reiner@reiner-h.de> to control@bugs.debian.org. (Wed, 15 Jun 2016 17:57:07 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#827382; Package src:dwarfutils. (Thu, 16 Jun 2016 16:33:04 GMT) (full text, mbox, link).


Acknowledgement sent to Fabian Wolff <fabi.wolff@arcor.de>:
Extra info received and forwarded to list. (Thu, 16 Jun 2016 16:33:04 GMT) (full text, mbox, link).


Message #17 received at 827382@bugs.debian.org (full text, mbox, reply):

From: Fabian Wolff <fabi.wolff@arcor.de>
To: 827382@bugs.debian.org
Cc: Reproducible Builds discussion list <reproducible-builds@lists.alioth.debian.org>
Subject: Re: Bug#827382: dwarfutils: does not build reproducibly
Date: Thu, 16 Jun 2016 18:29:40 +0200
On Wed, Jun 15, 2016 at 07:47:20PM +0200, Reiner Herrmann wrote:
> I found that the problem is in a C file which is generated during build
> (tmp-tt-table.c).  It contains some tables, and the last two elements
> columsn of one table were not deterministic.
> The reason is that the array is sized incorrectly.
> 
> It is declared as:
> 
>   unsigned int tag_tree_combination_table[TAG_TABLE_ROW_MAXIMUM][TAG_TABLE_COLUMN_MAXIMUM];
> 
> where TAG_TABLE_COLUMN_MAXIMUM was set to EXT_TAG_TABLE_COLS, which is 5.
> But when calling this tool with -s, it uses STD_TAG_TABLE_COLUMNS for
> iterating over the table, which is 7 -> two elements more than the table
> is wide, which causes memory from outside the table to be written into
> the file.
> 
> The attached patch fixes this by setting the maximum column width to
> STD_TAG_TABLE_COLUMNS.

Amazing. Thank you very much!



Reply sent to Fabian Wolff <fabi.wolff@arcor.de>:
You have taken responsibility. (Wed, 22 Jun 2016 17:27:10 GMT) (full text, mbox, link).


Notification sent to Fabian Wolff <fabi.wolff@arcor.de>:
Bug acknowledged by developer. (Wed, 22 Jun 2016 17:27:10 GMT) (full text, mbox, link).


Message #22 received at 827382-close@bugs.debian.org (full text, mbox, reply):

From: Fabian Wolff <fabi.wolff@arcor.de>
To: 827382-close@bugs.debian.org
Subject: Bug#827382: fixed in dwarfutils 20160613-1
Date: Wed, 22 Jun 2016 17:23:01 +0000
Source: dwarfutils
Source-Version: 20160613-1

We believe that the bug you reported is fixed in the latest version of
dwarfutils, 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 827382@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Fabian Wolff <fabi.wolff@arcor.de> (supplier of updated dwarfutils 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: Wed, 22 Jun 2016 17:32:11 +0200
Source: dwarfutils
Binary: dwarfdump libdwarf-dev libdwarf1
Architecture: source
Version: 20160613-1
Distribution: unstable
Urgency: medium
Maintainer: Fabian Wolff <fabi.wolff@arcor.de>
Changed-By: Fabian Wolff <fabi.wolff@arcor.de>
Closes: 827382
Description: 
 dwarfdump  - utility to dump DWARF debug information from ELF objects
 libdwarf1  - library to consume and produce DWARF debug information (runtime)
 libdwarf-dev - library to consume and produce DWARF debug information
Changes:
 dwarfutils (20160613-1) unstable; urgency=medium
 .
   * New upstream release.
   * Remove patch 02-remove-timestamps.patch (fixed upstream).
   * Shrink patch 01-fix-makefile.patch (partially fixed upstream).
   * Add patch 02-reproducibility.patch to further improve the
     reproducibility of the build (Closes: #827382) (thanks to Reiner
     Herrmann <reiner@reiner-h.de>).
   * Add 2 new symbols to symbols file.
   * Add Vcs-Git and Vcs-Browser fields to debian/control.
Checksums-Sha1: 
 dc11470b1b185dc72f4935162ae4d2a0d22ce767 2028 dwarfutils_20160613-1.dsc
 24fbdd0498449dba4e3c508dc271fffd0985273e 1585453 dwarfutils_20160613.orig.tar.gz
 ebaa032c2954579798d9e4621e4fb2d0894b7382 10092 dwarfutils_20160613-1.debian.tar.xz
Checksums-Sha256: 
 b82aff62d900da0bee7263d8a12e464ea996279fb9f14bdb42914e3e3897edea 2028 dwarfutils_20160613-1.dsc
 6fd206592cb0f67f19d9723b319e664b4d727f97eb15fe1c50cdbdcc6a9e1f11 1585453 dwarfutils_20160613.orig.tar.gz
 8a7741ac4c99304308fef59bd9a47739ab4a7e21a8c298d29b1e09af31d97317 10092 dwarfutils_20160613-1.debian.tar.xz
Files: 
 c0c9b490254e05d9e4568fd31f3eee8d 2028 libs optional dwarfutils_20160613-1.dsc
 a4cb213ec04e706e911e612e1b745ba8 1585453 libs optional dwarfutils_20160613.orig.tar.gz
 6a576bbadf3132edf70ca64b9956411e 10092 libs optional dwarfutils_20160613-1.debian.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBCgAGBQJXasJAAAoJEBXgmvTfUYLIoMwP/3jIOMq60LeAwhB8OF4HYlmk
fKZK+UZUVevexIa5K6gs9oaQsVlnCgkTFyjStNBdG8odtbqsHu1dCwe6WepsGFHT
Q/x4XnEE3eZi1HSxjGY52oLH4Z9asABvPEpXMf5g/jRxxEoHGJOu2O64Wpf3yYZ1
c1K4nFU2uH8VTWD+XNFwOfu9Yvu6YbsBzVHAUjTZSkB6Bx9Q8OtctPufZL9OC8aZ
KY28u0DFX0ujUj4kKkCf+0MACg0OIO0sjQGeQDjWKgkfryB3hPfWhXGIQ1gvaAEO
aT1MEKRXZcYvQ4vkRg2WWvEb3Dlxx0l8ce9wkPBBCto+z19rWWoeTmO1Xxwoko13
02AtipNF0yGWvJVTCB3LiRIcxZjx2jVhIBQayGzd/XgpwJrGByiMKVB8qFm6BWij
muVm4LwP+hPuIzPb1HOErjSN6W5fH/vnGYmP+nuJo4ABlg03fciEl2dnnpbXpF7/
cRWySWMzSG/s+Ptc9FUwU/Rx0cZwfkSDM8IWxtJIf8Lgjq2PC3GGXUrs5jpEgHu5
eb43qF1ewxN+mjJz1d2Lh7ZCGTMvZ2Xa+P7yJJ1GaV0vxrnonxArDuiY1HBOnvfV
cuLAc6CgENCFAZnPhSNhTjqzWgaM6ulZhpXGgRgSHzwVthXsmVrG9PooZ5jlilM4
uqVF+CPUa2k8o+crqT/z
=oBIw
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sat, 30 Jul 2016 07:41:46 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:47:03 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.