Debian Bug report logs -
#1033957
pike8.0: reproducible-builds: machine.h includes non-deterministic value for FB_CPU_TIME_IS_THREAD_LOCAL
Reply or subscribe to this bug.
Toggle useless messages
Report forwarded
to debian-bugs-dist@lists.debian.org, reproducible-bugs@lists.alioth.debian.org, Magnus Holmgren <holmgren@debian.org>:
Bug#1033957; Package src:pike8.0.
(Tue, 04 Apr 2023 22:45:04 GMT) (full text, mbox, link).
Acknowledgement sent
to Vagrant Cascadian <vagrant@reproducible-builds.org>:
New Bug report received and forwarded. Copy sent to reproducible-bugs@lists.alioth.debian.org, Magnus Holmgren <holmgren@debian.org>.
(Tue, 04 Apr 2023 22:45:04 GMT) (full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Source: pike8.0
Severity: normal
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: randomness
X-Debbugs-Cc: reproducible-bugs@lists.alioth.debian.org
A non-deterministic value is set in /usr/include/pike8.0/pike/machine.h
based on some build time tests from configure:
#define FB_CPU_TIME_IS_THREAD_LOCAL PIKE_UNKNOWN
vs.
#define FB_CPU_TIME_IS_THREAD_LOCAL PIKE_NO
I have attached a workaround patch to debian/rules which disables
threading, which does not trigger this codepath...
Understandably, threading may be highly desired and so this may not be
an appropriate way to fix the issue.
I am not familiar with the pike8.0 codebase, but maybe someone who is
would have a better idea of a proper fix.
Ideally, these tests should be done at runtime instead of relying on the
build machine's cpu characteristics, timing and possibly system load at
the time of the build, or maybe the appropriate
lowest-common-denominator value should be forced in the Debian
packaging.
Unfortunately, this patch alone does not solve all reproducibility
issues with pike8.0, but applying this patch should reduce the
differences, making it easier to debug remaining issues.
Thanks for maintaining pike8.0!
live well,
vagrant
[0003-debian-rules-Pass-without-threads-to-configure-to-av.patch (text/x-diff, inline)]
From 172263254eb9de34f1c5ceface9d8cad9e92cbde Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
Date: Mon, 3 Apr 2023 15:46:15 -0700
Subject: [PATCH 3/9] debian/rules: Pass --without-threads to configure to
avoid embedding cpu timing differences...
Otherwise, FB_CPU_TIME_IS_THREAD_LOCAL in
/usr/include/pike8.0/pike/machine.h is non-deterministically set to
either PIKE_NO or PIKE_UNKNOWN.
---
debian/rules | 2 ++
1 file changed, 2 insertions(+)
diff --git a/debian/rules b/debian/rules
index 8ee2748..bc56cf6 100755
--- a/debian/rules
+++ b/debian/rules
@@ -90,6 +90,8 @@ ifneq ($(VERSION),$(DEBVERSION))
$(error Version mismatch; buildid.txt: $(VERSION), debian/changelog: $(DEBVERSION))
endif
+CFARGSEXTRA += --without-threads
+
# --with-lib-path is just to stop configure from adding all the
# standard library directories with -L as well as -R to LDFLAGS
CFARGS=$(CFARGSEXTRA) \
--
2.39.2
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Magnus Holmgren <holmgren@debian.org>:
Bug#1033957; Package src:pike8.0.
(Wed, 05 Apr 2023 05:09:02 GMT) (full text, mbox, link).
Acknowledgement sent
to Vagrant Cascadian <vagrant@reproducible-builds.org>:
Extra info received and forwarded to list. Copy sent to Magnus Holmgren <holmgren@debian.org>.
(Wed, 05 Apr 2023 05:09:02 GMT) (full text, mbox, link).
Message #10 received at 1033957@bugs.debian.org (full text, mbox, reply):
Control: retitle 1033957 pike8.0: reproducible-builds: machine.h includes non-deterministic value for FB_CPU_TIME_IS_THREAD_LOCAL
Sorry, forgot to fix the title for the new bug.
live well,
vagrant
Changed Bug title to 'pike8.0: reproducible-builds: machine.h includes non-deterministic value for FB_CPU_TIME_IS_THREAD_LOCAL' from 'pike8.0: reproducible builds: timestamp embedded in .html documentation'.
Request was from Vagrant Cascadian <vagrant@reproducible-builds.org>
to 1033957-submit@bugs.debian.org.
(Wed, 05 Apr 2023 05:09:02 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 11:43:54 2023;
Machine Name:
bembo
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.