[tor-bugs] #10942 [Tor Messenger]: Deterministic builds for Instantbird

Tor Bug Tracker & Wiki blackhole at torproject.org
Sat Oct 24 14:34:44 UTC 2015


#10942: Deterministic builds for Instantbird
---------------------------+--------------------------
 Reporter:  sukhbir        |          Owner:  boklm
     Type:  task           |         Status:  assigned
 Priority:  Medium         |      Milestone:
Component:  Tor Messenger  |        Version:
 Severity:  Normal         |     Resolution:
 Keywords:  SponsorO       |  Actual Points:
Parent ID:                 |         Points:
  Sponsor:                 |
---------------------------+--------------------------

Comment (by boklm):

 After building on different machines, the linux builds (i686 and x86_64)
 are matching.

 The OSX and Windows builds are not matching.

 On OSX, after extracting the dmg files, the only difference is
 libotr.5.dylib. With differences like this:
 {{{
 --- build1/um/Contents/Resources/extensions/ctypes-
 otr at tormessenger/chrome/content/libotr.5.dylib
 +++ build2/um/Contents/Resources/extensions/ctypes-
 otr at tormessenger/chrome/content/libotr.5.dylib
 │ @@ -46091,15 +46091,15 @@
 │  000b40a0: 1010 1010 1010 1010 1010 1010 1010 1010  ................
 │  000b40b0: 1010 1010 1010 1010 1010 1010 1010 1010  ................
 │  000b40c0: 1010 1010 1010 1010 1010 1010 1010 1010  ................
 │  000b40d0: 2010 10d0 01d0 01b0 01b0 0110 2010 1010   ........... ...
 │  000b40e0: 1010 10b0 0110 d001 30a0 0100 0000 0000  ........0.......
 │  000b40f0: 0200 0000 6400 0000 0000 0000 0000 0000  ....d...........
 │  000b4100: 2300 0000 6400 0000 0000 0000 0000 0000  #...d...........
 │ -000b4110: 2d00 0000 6603 0100 7a91 2956 0000 0000  -...f...z.)V....
 │ +000b4110: 2d00 0000 6603 0100 ece9 2a56 0000 0000  -...f.....*V....
 │  000b4120: 0100 0000 2e01 0000 000d 0000 0000 0000  ................
 │  000b4130: 5d00 0000 2401 0000 000d 0000 0000 0000  ]...$...........
 │  000b4140: 0100 0000 2400 0000 e000 0000 0000 0000  ....$...........
 │  000b4150: 0100 0000 4e01 0000 e000 0000 0000 0000  ....N...........
 │  000b4160: 0100 0000 2e01 0000 e00d 0000 0000 0000  ................
 │  000b4170: 7900 0000 2401 0000 e00d 0000 0000 0000  y...$...........
 │  000b4180: 0100 0000 2400 0000 c000 0000 0000 0000  ....$...........
 │ @@ -46192,15 +46192,15 @@
 │  000b46f0: 0100 0000 2e01 0000 8029 0000 0000 0000  .........)......
 │  000b4700: 1a03 0000 2401 0000 8029 0000 0000 0000  ....$....)......
 │  000b4710: 0100 0000 2400 0000 9700 0000 0000 0000  ....$...........
 │  000b4720: 0100 0000 4e01 0000 9700 0000 0000 0000  ....N...........
 │  000b4730: 0100 0000 6401 0000 0000 0000 0000 0000  ....d...........
 │  000b4740: 0200 0000 6400 0000 0000 0000 0000 0000  ....d...........
 │  000b4750: 2603 0000 6400 0000 0000 0000 0000 0000  &...d...........
 │ -000b4760: 3003 0000 6603 0100 7a91 2956 0000 0000  0...f...z.)V....
 │ +000b4760: 3003 0000 6603 0100 ece9 2a56 0000 0000  0...f.....*V....
 │  000b4770: 0100 0000 2e01 0000 202a 0000 0000 0000  ........ *......
 │  000b4780: 6003 0000 2401 0000 202a 0000 0000 0000  `...$... *......
 │  000b4790: 0100 0000 2400 0000 6000 0000 0000 0000  ....$...`.......
 │  000b47a0: 0100 0000 4e01 0000 6000 0000 0000 0000  ....N...`.......
 │  000b47b0: 0100 0000 2e01 0000 802a 0000 0000 0000  .........*......
 │  000b47c0: 8303 0000 2401 0000 802a 0000 0000 0000  ....$....*......
 │  000b47d0: 0100 0000 2400 0000 2001 0000 0000 0000  ....$... .......
 │ @@ -46244,15 +46244,15 @@
 │  000b4a30: 0100 0000 2e01 0000 9036 0000 0000 0000  .........6......
 │  000b4a40: af04 0000 2401 0000 9036 0000 0000 0000  ....$....6......
 │  000b4a50: 0100 0000 2400 0000 d600 0000 0000 0000  ....$...........
 │  000b4a60: 0100 0000 4e01 0000 d600 0000 0000 0000  ....N...........
 │  000b4a70: 0100 0000 6401 0000 0000 0000 0000 0000  ....d...........
 │  000b4a80: 0200 0000 6400 0000 0000 0000 0000 0000  ....d...........
 │  000b4a90: c804 0000 6400 0000 0000 0000 0000 0000  ....d...........
 │ -000b4aa0: d004 0000 6603 0100 7a91 2956 0000 0000  ....f...z.)V....
 │ +000b4aa0: d004 0000 6603 0100 ece9 2a56 0000 0000  ....f.....*V....
 │  000b4ab0: 0100 0000 2e01 0000 7037 0000 0000 0000  ........p7......
 │  000b4ac0: fe04 0000 2401 0000 7037 0000 0000 0000  ....$...p7......
 │  000b4ad0: 0100 0000 2400 0000 b000 0000 0000 0000  ....$...........
 │  000b4ae0: 0100 0000 4e01 0000 b000 0000 0000 0000  ....N...........
 │  000b4af0: 0100 0000 2e01 0000 2038 0000 0000 0000  ........ 8......
 │  000b4b00: 0905 0000 2401 0000 2038 0000 0000 0000  ....$... 8......
 │  000b4b10: 0100 0000 2400 0000 4000 0000 0000 0000  ....$... at .......
 │ @@ -46309,15 +46309,15 @@
 │  000b4e40: 6206 0000 2401 0000 7054 0000 0000 0000  b...$...pT......
 │  000b4e50: 0100 0000 2400 0000 5d01 0000 0000 0000  ....$...].......
 │  000b4e60: 0100 0000 4e01 0000 5d01 0000 0000 0000  ....N...].......
 │  000b4e70: 6f06 0000 2000 0000 0000 0000 0000 0000  o... ...........
 │  000b4e80: 0100 0000 6401 0000 0000 0000 0000 0000  ....d...........
 │  000b4e90: 0200 0000 6400 0000 0000 0000 0000 0000  ....d...........
 │  000b4ea0: 8106 0000 6400 0000 0000 0000 0000 0000  ....d...........
 │ -000b4eb0: 8706 0000 6603 0100 7a91 2956 0000 0000  ....f...z.)V....
 │ +000b4eb0: 8706 0000 6603 0100 ece9 2a56 0000 0000  ....f.....*V....
 │  000b4ec0: 0100 0000 2e01 0000 d055 0000 0000 0000  .........U......
 │  000b4ed0: b306 0000 2401 0000 d055 0000 0000 0000  ....$....U......
 │  000b4ee0: 0100 0000 2400 0000 1001 0000 0000 0000  ....$...........
 │  000b4ef0: 0100 0000 4e01 0000 1001 0000 0000 0000  ....N...........
 │  000b4f00: 0100 0000 2e01 0000 e056 0000 0000 0000  .........V......
 │  000b4f10: c706 0000 2401 0000 e056 0000 0000 0000  ....$....V......
 │  000b4f20: 0100 0000 2400 0000 8001 0000 0000 0000  ....$...........

 ...
 }}}

 On the Windows builds, after extracting the installer files, some
 instantbird files are different:
 {{{
 Binary files winbuild1/$_OUTDIR/Messenger/components/trayToolkit.dll and
 winbuild2/$_OUTDIR/Messenger/components/trayToolkit.dll differ
 Binary files winbuild1/$_OUTDIR/Messenger/instantbird.exe and
 winbuild2/$_OUTDIR/Messenger/instantbird.exe differ
 Binary files winbuild1/$_OUTDIR/Messenger/libEGL.dll and
 winbuild2/$_OUTDIR/Messenger/libEGL.dll differ
 Binary files winbuild1/$_OUTDIR/Messenger/libGLESv2.dll and
 winbuild2/$_OUTDIR/Messenger/libGLESv2.dll differ
 Binary files winbuild1/$_OUTDIR/Messenger/mozglue.dll and
 winbuild2/$_OUTDIR/Messenger/mozglue.dll differ
 Binary files winbuild1/$_OUTDIR/Messenger/plugin-container.exe and
 winbuild2/$_OUTDIR/Messenger/plugin-container.exe differ
 Binary files winbuild1/$_OUTDIR/Messenger/xul.dll and
 winbuild2/$_OUTDIR/Messenger/xul.dll differ
 }}}

 The files have differences like this (objdump -d diff):
 {{{
 --- o1.txt      2015-10-24 15:37:51.888043607 +0200
 +++ o2.txt      2015-10-24 15:37:55.806058575 +0200
 @@ -1,5 +1,5 @@

 -winbuild1/$_OUTDIR/Messenger/libEGL.dll:     file format pei-i386
 +winbuild2/$_OUTDIR/Messenger/libEGL.dll:     file format pei-i386


  Disassembly of section .text:
 @@ -95,7 +95,7 @@
  64581127:      0f 84 17 01 00 00       je     0x64581244
  6458112d:      85 db                   test   %ebx,%ebx
  6458112f:      0f 84 cb 00 00 00       je     0x64581200
 -64581135:      a1 88 fd 63 64          mov    0x6463fd88,%eax
 +64581135:      a1 78 fd 63 64          mov    0x6463fd78,%eax
  6458113a:      85 c0                   test   %eax,%eax
  6458113c:      74 1c                   je     0x6458115a
  6458113e:      8b 54 24 28             mov    0x28(%esp),%edx
 @@ -6618,7 +6618,7 @@
  64586a09:      77 3c                   ja     0x64586a47
  64586a0b:      8b 45 0c                mov    0xc(%ebp),%eax
  64586a0e:      c1 e0 02                shl    $0x2,%eax
 -64586a11:      05 74 e8 63 64          add    $0x6463e874,%eax
 +64586a11:      05 34 e8 63 64          add    $0x6463e834,%eax
  64586a16:      8b 00                   mov    (%eax),%eax
  64586a18:      ff e0                   jmp    *%eax
  64586a1a:      83 7d 10 00             cmpl   $0x0,0x10(%ebp)
 @@ -7034,7 +7034,7 @@
  64586eba:      8b 00                   mov    (%eax),%eax
  64586ebc:      83 f8 33                cmp    $0x33,%eax
  64586ebf:      77 09                   ja     0x64586eca
 -64586ec1:      8b 04 85 a4 e9 63 64    mov    0x6463e9a4(,%eax,4),%eax
 +64586ec1:      8b 04 85 64 e9 63 64    mov    0x6463e964(,%eax,4),%eax
  64586ec8:      ff e0                   jmp    *%eax
  64586eca:      b8 00 00 00 00          mov    $0x0,%eax
  64586ecf:      eb 15                   jmp    0x64586ee6
 @@ -7253,7 +7253,7 @@
  64587154:      89 c3                   mov    %eax,%ebx
  64587156:      c7 44 24 08 03 00 00    movl   $0x3,0x8(%esp)
  6458715d:      00
 -6458715e:      c7 44 24 04 74 ea 63    movl   $0x6463ea74,0x4(%esp)
 +6458715e:      c7 44 24 04 34 ea 63    movl   $0x6463ea34,0x4(%esp)
  64587165:      64
  64587166:      8b 45 08                mov    0x8(%ebp),%eax
  64587169:      89 04 24                mov    %eax,(%esp)
 @@ -7590,7 +7590,7 @@
  645875b0:      8b 45 f4                mov    -0xc(%ebp),%eax
  645875b3:      8b 40 04                mov    0x4(%eax),%eax
  645875b6:      8b 00                   mov    (%eax),%eax
 -645875b8:      c7 44 24 04 78 ea 63    movl   $0x6463ea78,0x4(%esp)
 +645875b8:      c7 44 24 04 38 ea 63    movl   $0x6463ea38,0x4(%esp)
  645875bf:      64
  645875c0:      89 04 24                mov    %eax,(%esp)
  645875c3:      e8 c8 3e 01 00          call   0x6459b490
 @@ -7817,7 +7817,7 @@
  64587865:      0f 8e 8a 00 00 00       jle    0x645878f5
  6458786b:      c7 44 24 08 08 00 00    movl   $0x8,0x8(%esp)
  64587872:      00
 -64587873:      c7 44 24 04 7b ea 63    movl   $0x6463ea7b,0x4(%esp)
 +64587873:      c7 44 24 04 3b ea 63    movl   $0x6463ea3b,0x4(%esp)
  6458787a:      64
  6458787b:      8b 45 f4                mov    -0xc(%ebp),%eax
  6458787e:      89 04 24                mov    %eax,(%esp)
 @@ -7856,7 +7856,7 @@
  645878d5:      89 50 30                mov    %edx,0x30(%eax)
  645878d8:      c7 44 24 08 15 00 00    movl   $0x15,0x8(%esp)
  645878df:      00
 -645878e0:      c7 44 24 04 84 ea 63    movl   $0x6463ea84,0x4(%esp)
 +645878e0:      c7 44 24 04 44 ea 63    movl   $0x6463ea44,0x4(%esp)
  645878e7:      64
  645878e8:      8b 45 08                mov    0x8(%ebp),%eax
  645878eb:      89 04 24                mov    %eax,(%esp)
 @@ -7965,7 +7965,7 @@
  64587a31:      89 45 e0                mov    %eax,-0x20(%ebp)
  64587a34:      8b 45 e0                mov    -0x20(%ebp),%eax
  64587a37:      c1 e0 04                shl    $0x4,%eax
 -64587a3a:      05 40 ec 63 64          add    $0x6463ec40,%eax
 +64587a3a:      05 00 ec 63 64          add    $0x6463ec00,%eax
  64587a3f:      89 45 dc                mov    %eax,-0x24(%ebp)
  64587a42:      8b 45 dc                mov    -0x24(%ebp),%eax
  64587a45:      8b 00                   mov    (%eax),%eax
 @@ -8234,7 +8234,7 @@
  64587d85:      83 e8 43                sub    $0x43,%eax
  64587d88:      83 f8 33                cmp    $0x33,%eax
  64587d8b:      0f 87 6d 03 00 00       ja     0x645880fe
 -64587d91:      8b 04 85 20 f0 63 64    mov    0x6463f020(,%eax,4),%eax
 +64587d91:      8b 04 85 e0 ef 63 64    mov    0x6463efe0(,%eax,4),%eax
  64587d98:      ff e0                   jmp    *%eax
  64587d9a:      8b 45 08                mov    0x8(%ebp),%eax
  64587d9d:      8b 40 30                mov    0x30(%eax),%eax
 @@ -8502,7 +8502,7 @@
  64588161:      83 e8 41                sub    $0x41,%eax
  64588164:      83 f8 31                cmp    $0x31,%eax
  64588167:      0f 87 4e 01 00 00       ja     0x645882bb
 -6458816d:      8b 04 85 f0 f0 63 64    mov    0x6463f0f0(,%eax,4),%eax
 +6458816d:      8b 04 85 b0 f0 63 64    mov    0x6463f0b0(,%eax,4),%eax
  64588174:      ff e0                   jmp    *%eax
  64588176:      8b 45 08                mov    0x8(%ebp),%eax
  64588179:      89 04 24                mov    %eax,(%esp)
 }}}

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


More information about the tor-bugs mailing list