Opened 2 years ago

Closed 2 years ago

#21837 closed defect (fixed)

Fix reproducibility issues in Firefox 52 accessibility code for Windows

Reported by: gk Owned by: tbb-team
Priority: High Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords: TorBrowserTeam201704R, tbb-7.0-must-alpha, GeorgKoppen201704
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Somehow timestamps are sneaking in into the accessibility code when building Firefox 52 for Windows:

IA2Marshal.dll

--- /dev/fd/63	2017-03-30 12:00:38.614322868 +0200
+++ /dev/fd/62	2017-03-30 12:00:38.614322868 +0200
@@ -11,7 +11,7 @@
 000000a0: 0022 0100 0004 0000 0014 0000 0010 0000  ."..............
 000000b0: 0030 0000 0000 1068 0010 0000 0002 0000  .0.....h........
 000000c0: 0400 0000 0100 0000 0400 0000 0000 0000  ................
-000000d0: 0090 0100 0004 0000 3503 0200 0200 0000  ........5.......
+000000d0: 0090 0100 0004 0000 e6e1 0100 0200 0000  ................
 000000e0: 0000 2000 0010 0000 0000 1000 0010 0000  .. .............
 000000f0: 0000 0000 1000 0000 00b0 0000 c100 0000  ................
 00000100: 00c0 0000 d009 0000 00f0 0000 5086 0000  ............P...
@@ -3487,8 +3487,8 @@
 0000d9e0: 540b 0000 1a00 ff7f 3801 0000 0800 3900  T.......8.....9.
 0000d9f0: 0000 4372 6561 7465 6420 6279 2057 4944  ..Created by WID
 0000da00: 4c20 7665 7273 696f 6e20 312e 3620 6174  L version 1.6 at
-0000da10: 2057 6564 204d 6172 2032 3920 3134 3a31   Wed Mar 29 14:1
-0000da20: 393a 3137 2032 3031 370a 0a57 1300 65c2  9:17 2017..W..e.
+0000da10: 2057 6564 204d 6172 2032 3920 3131 3a35   Wed Mar 29 11:5
+0000da20: 323a 3537 2032 3031 370a 0a57 1300 19a0  2:57 2017..W....
 0000da30: db58 5757 1300 2b02 0007 5757 0300 ffff  .XWW..+...WW....
 0000da40: ffff 5757 0300 feff ffff 5757 1800 0000  ..WW......WW....
 0000da50: 0000 0000 ffff ffff 3000 0000 4000 0000  ........0...@...

Accessible.tlb

--- /dev/fd/63	2017-03-30 11:59:24.421999852 +0200
+++ /dev/fd/62	2017-03-30 11:59:24.421999852 +0200
@@ -136,8 +136,8 @@
 00000870: 0800 0000 0000 0000 0800 3900 0000 4372  ..........9...Cr
 00000880: 6561 7465 6420 6279 2057 4944 4c20 7665  eated by WIDL ve
 00000890: 7273 696f 6e20 312e 3620 6174 2057 6564  rsion 1.6 at Wed
-000008a0: 204d 6172 2032 3920 3134 3a31 393a 3136   Mar 29 14:19:16
-000008b0: 2032 3031 370a 0a57 1300 64c2 db58 5757   2017..W..d..XWW
+000008a0: 204d 6172 2032 3920 3131 3a35 323a 3537   Mar 29 11:52:57
+000008b0: 2032 3031 370a 0a57 1300 19a0 db58 5757   2017..W.....XWW
 000008c0: 1300 2b02 0007 5757 1800 0000 0000 0000  ..+...WW........
 000008d0: ffff ffff 3000 0000 4000 0000 0000 0000  ....0...@.......
 000008e0: 4800 0000 4800 0000 0c00 0000 9c00 0000  H...H...........

I guess as a fallback we could disable accessibility support, in case we find no other viable solution.

Child Tickets

Change History (10)

comment:1 Changed 2 years ago by cypherpunks

Something like

  mkdir widl32 && cd widl32
  find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
  ../../mingw-w64-git/mingw-w64-tools/widl/configure --prefix=$INSTDIR/mingw-w64 --target=i686-w64-mingw32
  make $MAKEOPTS
  make install

?

comment:2 Changed 2 years ago by gk

Keywords: TorBrowserTeam201704 added; TorBrowserTeam201703 removed

Moving tickets over to April

comment:3 Changed 2 years ago by gk

Keywords: tbb-7.0-must-alpha added; tbb-7.0-must removed

Getting this on our radar for alpha release in less than two weeks.

comment:4 Changed 2 years ago by gk

Keywords: GeorgKoppen201704 added

Putting tickets on my plate for the alpha.

comment:5 Changed 2 years ago by gk

    time_override = getenv( "WIDL_TIME_OVERRIDE");
    cur_time = time_override ? atol( time_override) : time(NULL);
    sprintf(info_string, "Created by WIDL version %s at %s\n", PACKAGE_VERSION, ctime(&cur_time));

(see: https://www.winehq.org/pipermail/wine-patches/2007-October/045900.html as well) seems to be promising.

comment:6 Changed 2 years ago by cypherpunks

Yup, they have all needed settings for time, locale, etc. This is the last thing for reproducibility. (Wondering why this is not default?)

comment:7 Changed 2 years ago by gk

Keywords: TorBrowserTeam201704R added; TorBrowserTeam201704 removed
Status: newneeds_review
Last edited 2 years ago by gk (previous) (diff)

comment:8 Changed 2 years ago by cypherpunks

Maybe, better to place it right after export REFERENCE_DATETIME?

comment:9 in reply to:  7 Changed 2 years ago by boklm

Replying to gk:

bug_21837 (https://gitweb.torproject.org/user/gk/tor-browser-bundle.git/commit/?h=bug_21837&id=c948e11060b32861d046304db607bfd673b57087) in my public tor-browser-bundle repo has a fix for review.

This patch looks good to me.

comment:10 Changed 2 years ago by gk

Resolution: fixed
Status: needs_reviewclosed

Thanks. This is commit f13a2dae1ca038a448483dc6b25f17e40c8f3c9b on master now.

Note: See TracTickets for help on using tickets.