[tor-bugs] #32053 [Applications/Tor Browser]: macOS bundles for Tor Browser 9.0a8 are not reproducible

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Nov 4 22:25:59 UTC 2019


#32053: macOS bundles for Tor Browser 9.0a8 are not reproducible
-------------------------------------------------+-------------------------
 Reporter:  gk                                   |          Owner:  tbb-
                                                 |  team
     Type:  defect                               |         Status:  new
 Priority:  Immediate                            |      Milestone:
Component:  Applications/Tor Browser             |        Version:
 Severity:  Critical                             |     Resolution:
 Keywords:  TorBrowserTeam201911, tbb-9.0-must,  |  Actual Points:
  tbb-9.0-issues, tbb-regression,                |
  tbb-9.0.1-can, GeorgKoppen201911               |
Parent ID:                                       |         Points:
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------

Comment (by alexcrichton):

 Nice!

 I agree with that conclusion as well in that it looks like LLVM may have a
 nondeterministic optimization somewhere in it. Can you upload the `*.bc`
 files so I could poke around at them? Both the `no-opt` and optimized
 versions if you can. Also, what rustc commit are you using? I'll try to
 get the same set of LLVM tools used on that commit.

 In terms of how to keep minimizing, I think the first step is to use 100%
 pure LLVM tools to reproduce this. For example "run this command 1000
 times and I get different results between runs". Given that the next best
 step would probably be to use `bugpoint` from LLVM to help reduce the
 input IR file into something smaller. Historically `bugpoint` has been a
 massive pain to use, but http://blog.llvm.org/2015/11/reduce-your-
 testcases-with-bugpoint-and.html was somewhat helpful to me in the past.
 The general idea is that you'll write a script which says whether an input
 module is "interesting", and in this case "interesting" means "I ran some
 LLVM optimizations a few times and it didn't always produce the same
 result".

 In any case I can try to help with the `bugpoint` process once I'm able to
 reproduce with the input LLVM modules.

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


More information about the tor-bugs mailing list