Opened 20 months ago

Closed 6 days ago

Last modified 6 days ago

#21704 closed enhancement (fixed)

Warn users when installing Tor Browser based on ESR 60 on not SSE2 capable machines

Reported by: gk Owned by: boklm
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords: ff60-esr, tbb-7.0-must, TorBrowserTeam201810R
Cc: boklm, tbb-team, mcs, brade Actual Points:
Parent ID: Points:
Reviewer: Sponsor: Sponsor4

Description (last modified by gk)

We should be proactive and warn users of installing Tor Browser 52 on Windows machines not capable of SSE 2. See: https://bugzilla.mozilla.org/show_bug.cgi?id=1271759 installer adaptions Mozilla made. We can check that in our Linux start script later with the advent of ESR 59 based Tor Browsers as well (see: comment:2:ticket:19316).

Child Tickets

Change History (44)

comment:1 Changed 20 months ago by gk

Summary: Warn users when installing Tor Browser based on ESR 52 on not SSE 2 capable machinesWarn users when installing Tor Browser based on ESR 52 on not SSE2 capable machines

comment:2 Changed 20 months ago by cypherpunks

Well, it seems you've decided to follow Mozilla blindly in all its decisions, good or bad. But it's a cul-de-sac.
Is there any chance that you could change your mind?
If Mozilla is doing something wrong in a hurry, and you see it, why don't you tell them about it?
If they want to make supplementary things mandatory (e.g. SSE2), when other FOSS devs are doing the opposite, why don't you mind?
If they advertise the worst proprietary things in history (SSE2, needed to be "fixed" by SSE3, and Pentium 4, yes, even Intel confirmed that) in 2017(!), why nobody asks what's going on?
So, having ESR52-based TBB cross-compiled and operational (w/o SSE2), why do you still drag those ### patches into Tor Browser, even when Mozilla requires them for Windows only?
Don't break the rules, please.

comment:3 in reply to:  2 ; Changed 20 months ago by gk

Replying to cypherpunks:

Well, it seems you've decided to follow Mozilla blindly in all its decisions, good or bad. But it's a cul-de-sac.
Is there any chance that you could change your mind?
If Mozilla is doing something wrong in a hurry, and you see it, why don't you tell them about it?
If they want to make supplementary things mandatory (e.g. SSE2), when other FOSS devs are doing the opposite, why don't you mind?
If they advertise the worst proprietary things in history (SSE2, needed to be "fixed" by SSE3, and Pentium 4, yes, even Intel confirmed that) in 2017(!), why nobody asks what's going on?
So, having ESR52-based TBB cross-compiled and operational (w/o SSE2), why do you still drag those ### patches into Tor Browser, even when Mozilla requires them for Windows only?
Don't break the rules, please.

Thanks for pointing this out. Actually, we only want to have this for Windows right now, as Linux at least won't break until ESR 59 (https://bugzilla.mozilla.org/show_bug.cgi?id=1274196). I am updating the ticket accordingly.

comment:4 Changed 20 months ago by gk

Description: modified (diff)
Summary: Warn users when installing Tor Browser based on ESR 52 on not SSE2 capable machinesWarn users when installing Tor Browser based on ESR 52 on not SSE2 capable Windows machines

comment:5 Changed 20 months ago by yawning

#13018 would be a compelling reason to drop non-SSE2 support everywhere since the situation would be considerably less bad.

Edit: Though I guess if the system libm ends up using gcc defaults, horrible things will happen anyway.

Last edited 20 months ago by yawning (previous) (diff)

comment:6 in reply to:  3 ; Changed 20 months ago by cypherpunks

Replying to gk:

Replying to cypherpunks:

Well, it seems you've decided to follow Mozilla blindly in all its decisions, good or bad. But it's a cul-de-sac.
Is there any chance that you could change your mind?
If Mozilla is doing something wrong in a hurry, and you see it, why don't you tell them about it?
If they want to make supplementary things mandatory (e.g. SSE2), when other FOSS devs are doing the opposite, why don't you mind?
If they advertise the worst proprietary things in history (SSE2, needed to be "fixed" by SSE3, and Pentium 4, yes, even Intel confirmed that) in 2017(!), why nobody asks what's going on?
So, having ESR52-based TBB cross-compiled and operational (w/o SSE2), why do you still drag those ### patches into Tor Browser, even when Mozilla requires them for Windows only?
Don't break the rules, please.

Thanks for pointing this out. Actually, we only want to have this for Windows right now, as Linux at least won't break until ESR 59 (https://bugzilla.mozilla.org/show_bug.cgi?id=1274196). I am updating the ticket accordingly.

Huh, it's not a surprise actually that you prefer not to answer complex questions... Let's hope it's just because of lack of time, though...
There are a lot of MoCo decisions recently which require public discussion, but we all know that Mozilla is ignoring the community, thus forking instead of ESR59 looks more and more actual.
As for your decision to break only Windows now, it looks no good. Despite your communication with mozdevs, it seems you don't know the story about this design decision, but you may ask to tell you about it.
Shortly, Windows won't break until ESR59 too, because it was required for MSVS 2015u2 and opt-in Rust (msvs target available only).

comment:7 in reply to:  5 Changed 20 months ago by cypherpunks

Replying to yawning:

#13018 would be a compelling reason to drop non-SSE2 support everywhere since the situation would be considerably less bad.

Only lamers from google chrome think so. Look at their discussions for fun ;) Just because of such geniuses JS is not suitable for floating point computations.

comment:8 in reply to:  6 ; Changed 20 months ago by gk

Replying to cypherpunks:

Replying to gk:

Replying to cypherpunks:

Well, it seems you've decided to follow Mozilla blindly in all its decisions, good or bad. But it's a cul-de-sac.
Is there any chance that you could change your mind?
If Mozilla is doing something wrong in a hurry, and you see it, why don't you tell them about it?
If they want to make supplementary things mandatory (e.g. SSE2), when other FOSS devs are doing the opposite, why don't you mind?
If they advertise the worst proprietary things in history (SSE2, needed to be "fixed" by SSE3, and Pentium 4, yes, even Intel confirmed that) in 2017(!), why nobody asks what's going on?
So, having ESR52-based TBB cross-compiled and operational (w/o SSE2), why do you still drag those ### patches into Tor Browser, even when Mozilla requires them for Windows only?
Don't break the rules, please.

Thanks for pointing this out. Actually, we only want to have this for Windows right now, as Linux at least won't break until ESR 59 (https://bugzilla.mozilla.org/show_bug.cgi?id=1274196). I am updating the ticket accordingly.

Huh, it's not a surprise actually that you prefer not to answer complex questions... Let's hope it's just because of lack of time, though...
There are a lot of MoCo decisions recently which require public discussion, but we all know that Mozilla is ignoring the community, thus forking instead of ESR59 looks more and more actual.
As for your decision to break only Windows now, it looks no good. Despite your communication with mozdevs, it seems you don't know the story about this design decision, but you may ask to tell you about it.
Shortly, Windows won't break until ESR59 too, because it was required for MSVS 2015u2 and opt-in Rust (msvs target available only).

Have you tried to compile it with non-MSVC? If you e.g. use mingw-w64 you'd see pretty fast that that statement is wrong: https://bugzilla.mozilla.org/show_bug.cgi?id=1331335. Thus, we need SSE2 support unless we want to specifically patch code for non-SSE2 support. In addition to that, not following Mozilla here has the great risk of getting security fixes that rely in their Windows variant on SSE2. We'd have to backport those fixes as well while being under time pressure which I think we don't want to risk.

Last edited 20 months ago by gk (previous) (diff)

comment:9 in reply to:  8 Changed 20 months ago by gk

Replying to gk:

Replying to cypherpunks:

Replying to gk:

Replying to cypherpunks:

Well, it seems you've decided to follow Mozilla blindly in all its decisions, good or bad. But it's a cul-de-sac.
Is there any chance that you could change your mind?
If Mozilla is doing something wrong in a hurry, and you see it, why don't you tell them about it?
If they want to make supplementary things mandatory (e.g. SSE2), when other FOSS devs are doing the opposite, why don't you mind?
If they advertise the worst proprietary things in history (SSE2, needed to be "fixed" by SSE3, and Pentium 4, yes, even Intel confirmed that) in 2017(!), why nobody asks what's going on?
So, having ESR52-based TBB cross-compiled and operational (w/o SSE2), why do you still drag those ### patches into Tor Browser, even when Mozilla requires them for Windows only?
Don't break the rules, please.

Thanks for pointing this out. Actually, we only want to have this for Windows right now, as Linux at least won't break until ESR 59 (https://bugzilla.mozilla.org/show_bug.cgi?id=1274196). I am updating the ticket accordingly.

Huh, it's not a surprise actually that you prefer not to answer complex questions... Let's hope it's just because of lack of time, though...
There are a lot of MoCo decisions recently which require public discussion, but we all know that Mozilla is ignoring the community, thus forking instead of ESR59 looks more and more actual.
As for your decision to break only Windows now, it looks no good. Despite your communication with mozdevs, it seems you don't know the story about this design decision, but you may ask to tell you about it.
Shortly, Windows won't break until ESR59 too, because it was required for MSVS 2015u2 and opt-in Rust (msvs target available only).

Have you tried to compile it with non-MSVC? If you e.g. use mingw-w64 you'd see pretty fast that that statement is wrong: https://bugzilla.mozilla.org/show_bug.cgi?id=1331335. Thus, we need SSE2 support unless we want to specifically patch code for non-SSE2 support. In addition to that, not following Mozilla here has the great risk of getting security fixes that rely in their Windows variant on SSE2. We'd have to backport those fixes as well while being under time pressure which I think we don't want to risk.

Actually, scratch the first argument (pointing to the SSE2 compilation bug) we can fix that by not taking Jacek's patch (which would make SSE2 mandatory in that part). The other one still holds and has been the important one anyway.

comment:10 in reply to:  8 Changed 19 months ago by cypherpunks

Replying to gk:

Replying to cypherpunks:

Replying to gk:

Replying to cypherpunks:

Well, it seems you've decided to follow Mozilla blindly in all its decisions, good or bad. But it's a cul-de-sac.
Is there any chance that you could change your mind?
If Mozilla is doing something wrong in a hurry, and you see it, why don't you tell them about it?
If they want to make supplementary things mandatory (e.g. SSE2), when other FOSS devs are doing the opposite, why don't you mind?
If they advertise the worst proprietary things in history (SSE2, needed to be "fixed" by SSE3, and Pentium 4, yes, even Intel confirmed that) in 2017(!), why nobody asks what's going on?
So, having ESR52-based TBB cross-compiled and operational (w/o SSE2), why do you still drag those ### patches into Tor Browser, even when Mozilla requires them for Windows only?
Don't break the rules, please.

Thanks for pointing this out. Actually, we only want to have this for Windows right now, as Linux at least won't break until ESR 59 (https://bugzilla.mozilla.org/show_bug.cgi?id=1274196). I am updating the ticket accordingly.

Huh, it's not a surprise actually that you prefer not to answer complex questions... Let's hope it's just because of lack of time, though...
There are a lot of MoCo decisions recently which require public discussion, but we all know that Mozilla is ignoring the community, thus forking instead of ESR59 looks more and more actual.
As for your decision to break only Windows now, it looks no good. Despite your communication with mozdevs, it seems you don't know the story about this design decision, but you may ask to tell you about it.
Shortly, Windows won't break until ESR59 too, because it was required for MSVS 2015u2 and opt-in Rust (msvs target available only).

Have you tried to compile it with non-MSVC? If you e.g. use mingw-w64 you'd see pretty fast that that statement is wrong: https://bugzilla.mozilla.org/show_bug.cgi?id=1331335. Thus, we need SSE2 support unless we want to specifically patch code for non-SSE2 support. In addition to that, not following Mozilla here has the great risk of getting security fixes that rely in their Windows variant on SSE2. We'd have to backport those fixes as well while being under time pressure which I think we don't want to risk.

Those were just the claims of mozdevs... so we can't trust them, you see. (But, actually, ANGLE is a google's bug.)
Unfortunately, Mozilla started to break everything before the ESR, but it doesn't mean we should join...
The risk of sec patches adding unconditional SSE2-specific code rewritten for Win only is almost zero.

comment:11 Changed 17 months ago by gk

Keywords: TorBrowserTeam201706 added

boklm: Can you put that on your plate? It might be a bit late for 7.0 but we'll want that for our installer, too.

comment:12 Changed 17 months ago by gk

Keywords: tbb-7.0-must added
Priority: MediumHigh

comment:13 Changed 17 months ago by boklm

Cc: tbb-team added
Owner: changed from tbb-team to boklm
Status: newassigned

comment:14 Changed 17 months ago by boklm

I attached a patch for tbb-windows-installer.git that I think should abort installation with a message if the CPU does not support SSE2.

The line using kernel32::IsProcessorFeaturePresent to check whether the SSE2 instruction set is available was taken from the firefox installer in browser/installer/windows/nsis/installer.nsi.

I made a build with this patch:
https://people.torproject.org/~boklm/bug_21704/torbrowser-install-7.0a4_en-US.exe
https://people.torproject.org/~boklm/bug_21704/torbrowser-install-7.0a4_en-US.exe.asc

On my Windows VM with SSE2 support, the installation is working as before. Unfortunately I don't have a machine without SSE2 support to check that the message is displayed and installation aborted in that case.

comment:15 Changed 17 months ago by gk

Cc: mcs brade added
Status: assignedneeds_information

Hm. I wonder how we could test that. mcs/brade do you have by chance a really old computer with Windows running?

comment:16 in reply to:  15 Changed 17 months ago by mcs

Replying to gk:

Hm. I wonder how we could test that. mcs/brade do you have by chance a really old computer with Windows running?

Unfortunately, the oldest one we have uses a Pentium 4 processor (which was one of the first to include SSE2). I did boot it up and run the installer from comment:14 and it installed and ran fine (the OS is Windows XP, so I do not boot it up very often).

comment:17 Changed 17 months ago by gk

Keywords: TorBrowserTeam201706R added; TorBrowserTeam201706 removed
Status: needs_informationneeds_review

comment:18 Changed 16 months ago by gk

Keywords: TorBrowserTeam201707 added

Moving Tickets to July 2017.

comment:19 Changed 16 months ago by gk

Keywords: TorBrowserTeam201707R added; TorBrowserTeam201706R removed

Moving the review tickets to July 2017 as well.

comment:20 Changed 16 months ago by gk

Keywords: TorBrowserTeam201707 removed

comment:21 Changed 15 months ago by gk

Keywords: TorBrowserTeam201708R added; TorBrowserTeam201707R removed

Moving review tickets to August.

comment:22 Changed 14 months ago by gk

Keywords: TorBrowserTeam201709R added; TorBrowserTeam201708R removed

Moving reviews to September.

comment:23 Changed 13 months ago by gk

Keywords: TorBrowserTeam201710R added; TorBrowserTeam201709R removed

Moving reviews to October.

comment:24 Changed 12 months ago by gk

Keywords: TorBrowserTeam201711R added; TorBrowserTeam201710R removed

Moving review to November

comment:25 Changed 11 months ago by gk

Keywords: TorBrowserTeam201712R added; TorBrowserTeam201711R removed

Moving review tickets over to December

comment:26 Changed 10 months ago by gk

Moving review tickets to 2018

comment:27 Changed 10 months ago by gk

Keywords: TorBrowserTeam201801R added; TorBrowserTeam201712R removed

Moving review tickets for real.

comment:28 Changed 9 months ago by gk

Keywords: TorBrowserTeam201802R added; TorBrowserTeam201801R removed

Moving reviews to February.

comment:29 Changed 8 months ago by gk

Keywords: TorBrowserTeam201803R added; TorBrowserTeam201802R removed

Moving our reviews to March 2018

comment:30 Changed 7 months ago by gk

Keywords: TorBrowserTeam201804R added; TorBrowserTeam201803R removed

Moving reviews to April 2018

comment:31 Changed 7 months ago by gk

Priority: HighMedium

comment:32 Changed 6 months ago by gk

Keywords: TorBrowserTeam201805R added; TorBrowserTeam201804R removed

Moving review tickets to May.

comment:33 Changed 6 months ago by cypherpunks

Keywords: ff60-esr added; ff52-esr removed
Summary: Warn users when installing Tor Browser based on ESR 52 on not SSE2 capable Windows machinesWarn users when installing Tor Browser based on ESR 60 on not SSE2 capable machines

Nobody cares.
Next time Mozilla will require AVX to run another one crap from Google.
What a shame!
https://bugzilla.mozilla.org/show_bug.cgi?id=1415336#c9
It's even worse than in M$!
https://support.microsoft.com/en-us/help/4093118

comment:34 Changed 5 months ago by gk

Keywords: TorBrowserTeam201806R added; TorBrowserTeam201805R removed

Moving review tickets to June.

comment:35 Changed 4 months ago by gk

Keywords: TorBrowserTeam201807R added; TorBrowserTeam201806R removed

Moving reviews to July.

comment:36 Changed 3 months ago by gk

Keywords: TorBrowserTeam201808R added; TorBrowserTeam201807R removed

comment:37 Changed 7 weeks ago by gk

Keywords: TorBrowserTeam201809R added; TorBrowserTeam201808R removed

Moving review tickets to September

comment:38 Changed 3 weeks ago by gk

Keywords: TorBrowserTeam201810R added; TorBrowserTeam201809R removed

Moving review tickets to October

comment:39 Changed 7 days ago by gk

Okay, the patch does not apply anymore. I added an updated one. boklm: Could you review it and give it a last test (again)? Then let's get that upstreamed and we start using it in our alpha. It's been already too long for this patch and we should be in a much better position to apply it safely with the min requirement for Windows 7 now.

comment:40 Changed 7 days ago by boklm

The updated patch looks good to me. I have now started a build with this patch to check that it doesn't break the installer on a machine with SSE2 available.

And I opened a pull request to merge the patch upstream:
https://github.com/moba/tbb-windows-installer/pull/3

comment:41 in reply to:  40 Changed 6 days ago by boklm

Resolution: fixed
Status: needs_reviewclosed

Replying to boklm:

The updated patch looks good to me. I have now started a build with this patch to check that it doesn't break the installer on a machine with SSE2 available.

I tested on my Windows 7 VM that the win32 and win64 installer are still installing correctly.

And I opened a pull request to merge the patch upstream:
https://github.com/moba/tbb-windows-installer/pull/3

The patch has been merged upstream, and a 0.5 version tagged. I updated tor-browser-build to v0.5 in commit b71d1862ad5daf9c22edba498a11b9beeeb6c495.

comment:42 Changed 6 days ago by gk

Thanks!

Note: See TracTickets for help on using tickets.