[tbb-bugs] #26475 [Applications/Tor Browser]: ESR60-based Tor Browser bundles are not built reproducibly with Stylo enabled using rustc > 1.25.0

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Oct 31 14:33:49 UTC 2018


#26475: ESR60-based Tor Browser bundles are not built reproducibly with Stylo
enabled using rustc > 1.25.0
-------------------------------------------------+-------------------------
 Reporter:  gk                                   |          Owner:  tbb-
                                                 |  team
     Type:  defect                               |         Status:  closed
 Priority:  Immediate                            |      Milestone:
Component:  Applications/Tor Browser             |        Version:
 Severity:  Normal                               |     Resolution:  fixed
 Keywords:  tbb-rbm, TorBrowserTeam201810R,      |  Actual Points:
  GeorgKoppen201810, tbb-backport                |
Parent ID:                                       |         Points:
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------

Comment (by alexcrichton):

 Ok so just to make sure I understand, LLVM is completely deterministic up
 to and including r304593 - https://reviews.llvm.org/D33320. When you go
 one more commit to r304594 - https://reviews.llvm.org/D32653 - this LLVM
 is no longer deterministic. The commit in question here that makes LLVM
 nondeterministic is enabling r301649 - https://reviews.llvm.org/D31085 - a
 heuristic for something.

 This was all tested with an adapted script, where you're compiling a fixed
 version of rustc against a varying version of LLVM. The rustc linked with
 LLVM from r304593 is deterministic and the rustc linked with LLVM form
 r304594 is nondeterministic. The script is then an adaptation of the
 comment you mentioned.

 Does that all sound right? If so I think that's definitely enough to open
 an issue on LLVM itself and try to get the ball rolling there! It'd be
 maximally useful to have a standalone test case, but I sort of suspect
 this may not have an easy standalone test case and is related to how rustc
 is using LLVM on multiple threads internally, which LLVM's CLI tools don't
 do.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/26475#comment:59>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tbb-bugs mailing list