Opened 5 years ago

Last modified 6 months ago

#12113 new defect

Building libevent/openssl on Windows without exception handling would reduce dependencies

Reported by: tom Owned by: erinn
Priority: Low Milestone:
Component: Applications/Tor Browser Version:
Severity: Blocker Keywords: tbb-rbm
Cc: gk, boklm, kpdyer Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description (last modified by gk)

I believe that in the Tor Browser Bundle on Windows, for the tor.exe component, libgmpxx-4.dll is built using MinGW with exception handling enabled. (Omits -fno-exceptions). MinGW has an archaic exception handling mechanism on Windows, using setjmp/longjmp based exceptions and necessitates the extra dll libgcc_s_sjlj-1.dll.

If libgmp was build without exception handling (it appears to only use it 3 or 4 places in the dll), it'd be possible to eliminate libgcc_s_sjlj-1.dll entirely.

EDIT: This is not about libgmp anymore as we don't ship the libgmpxx any longer. Rather, libevent/openssl are affected by that problem, too.

Child Tickets

Change History (14)

comment:1 Changed 5 years ago by arma

Cc: geko boklm added

(Adding a few TBB people so they'll see it.)

comment:2 Changed 5 years ago by gk

Cc: gk added; geko removed

No worries about me not seeing bugs I should see. :)

comment:3 Changed 5 years ago by cypherpunks

libgmpxx-4.dll used by libgmp-10.dll, which used by fte.cDFA.pyd. No tor.exe involved here.

comment:4 Changed 5 years ago by arma

Cc: kpdyer added

comment:5 Changed 4 years ago by erinn

Keywords: needs-triage added

comment:6 Changed 4 years ago by gk

Description: modified (diff)
Keywords: tbb-gitian added; needs-triage removed
Summary: Building libgmp on Windows without exception handling would reduce dependenciesBuilding libgevent/opensll on Windows without exception handling would reduce dependencies

We are not shipping libgmpxx-4.dll anymore beginning with 4.5-alpha-2. Thus, this particular problem is solved. But it seems libevent/openssl are affected, too.

comment:7 in reply to:  6 ; Changed 4 years ago by kpdyer

Replying to gk:

We are not shipping libgmpxx-4.dll anymore beginning with 4.5-alpha-2. Thus, this particular problem is solved. But it seems libevent/openssl are affected, too.

That change might break FTE. For which ticket was that decision made?

comment:8 in reply to:  7 ; Changed 4 years ago by gk

Replying to kpdyer:

Replying to gk:

We are not shipping libgmpxx-4.dll anymore beginning with 4.5-alpha-2. Thus, this particular problem is solved. But it seems libevent/openssl are affected, too.

That change might break FTE. For which ticket was that decision made?

#13588. I don't think it breaks FTE. I tested it quite extensively and it works fine without the libgmpxx dll. And I don't see a respective dependency when checking on Windows either. You can grab 4.5-alpha-2 or a nightly to test it, too.

Last edited 4 years ago by gk (previous) (diff)

comment:9 Changed 4 years ago by gk

Summary: Building libgevent/opensll on Windows without exception handling would reduce dependenciesBuilding libevent/openssl on Windows without exception handling would reduce dependencies

comment:10 in reply to:  8 ; Changed 4 years ago by kpdyer

Replying to gk:

Replying to kpdyer:

Replying to gk:

We are not shipping libgmpxx-4.dll anymore beginning with 4.5-alpha-2. Thus, this particular problem is solved. But it seems libevent/openssl are affected, too.

That change might break FTE. For which ticket was that decision made?

#13588. I don't think it breaks FTE. I tested it quite extensively and it works fine without the libgmpxx dll. And I don't see a respective dependency when checking on Windows either. I can grab 4.5-alpha-2 or a nightly to test it, too.

Ok, I'll give it a test too. Where are you getting your nightlies from?

comment:11 in reply to:  10 Changed 4 years ago by gk

Replying to kpdyer:

Replying to gk:

Replying to kpdyer:

Replying to gk:

We are not shipping libgmpxx-4.dll anymore beginning with 4.5-alpha-2. Thus, this particular problem is solved. But it seems libevent/openssl are affected, too.

That change might break FTE. For which ticket was that decision made?

#13588. I don't think it breaks FTE. I tested it quite extensively and it works fine without the libgmpxx dll. And I don't see a respective dependency when checking on Windows either. I can grab 4.5-alpha-2 or a nightly to test it, too.

Ok, I'll give it a test too. Where are you getting your nightlies from?

https://people.torproject.org/~linus/builds/ and I meant *You* and not *I* ;)

Last edited 4 years ago by gk (previous) (diff)

comment:12 Changed 15 months ago by gk

Keywords: tbb-rbm added; tbb-gitian removed

Moving over to rbm

comment:13 Changed 15 months ago by gk

Severity: Blocker

Interestingly, this is no issue with 64bit builds. Without doing anything special there are no dependencies on any exception handling library for them.

comment:14 Changed 6 months ago by gk

Component: Applications/Tor bundles/installationApplications/Tor Browser

Moving to Tor Browser.

Note: See TracTickets for help on using tickets.