Opened 2 years ago

Closed 2 years ago

#21954 closed defect (fixed)

Snowflake breaks the 7.0a3 build

Reported by: gk Owned by: arlolra
Priority: Immediate Milestone:
Component: Circumvention/Snowflake Version:
Severity: Blocker Keywords:
Cc: dcf, boklm, serene Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description (last modified by gk)

Building Snowflake breaks our 7.0a3 build with the following error:

+ mkdir -p /home/debian/go/src/github.com/keroserene/
+ ln -sf /home/debian/build/go-webrtc /home/debian/go/src/github.com/keroserene/go-webrtc
+ CGO_CXXFLAGS='-D_GLIBCXX_USE_CXX11_ABI=1 -D__STDC_FORMAT_MACROS=1'
+ CGO_LDFLAGS=-latomic
+ go install github.com/keroserene/go-webrtc
# github.com/keroserene/go-webrtc
<command-line>:0:0: warning: "_GLIBCXX_USE_CXX11_ABI" redefined
<command-line>:0:0: note: this is the location of the previous definition
# github.com/keroserene/go-webrtc
<command-line>:0:0: warning: "_GLIBCXX_USE_CXX11_ABI" redefined
<command-line>:0:0: note: this is the location of the previous definition
# github.com/keroserene/go-webrtc
<command-line>:0:0: warning: "_GLIBCXX_USE_CXX11_ABI" redefined
<command-line>:0:0: note: this is the location of the previous definition
# github.com/keroserene/go-webrtc
/home/debian/install/binutils/bin/ld.gold.real: error: ../../go/src/github.com/keroserene/go-webrtc/lib/libwebrtc-linux-386-magic.a(dump_syms_regtest.o): unsupported ELF file type 2
collect2: error: ld returned 1 exit status

I double-checked that the commits I am on are the same as in the patch for #21748. Furthermore, I made a make clean-webrtc and the build started with tbb-7.0a3-build3.

There are actually two issues here:

1) We need to unblock the 7.0a3 build as soon as possible as we want to release the first ESR52-based Tor Browser alpha next week.

2) I'd like to understand how this can happen at all given that we did not change the commits compared to the fix in #21748 and I tested that the building worked back then. I somehow doubt that arlolra and I made the same mistake (by using the wrong commit or something).

I need to have a fix for that within the next 24 hours, otherwise do I need to disable Snowflake in the alphas.

Child Tickets

Attachments (2)

0001-Ignore-dump_syms_regtest.o.patch (1.1 KB) - added by arlolra 2 years ago.
0001-Increase-base-VM-size-from-15360M-to-20480M.patch (1.7 KB) - added by dcf 2 years ago.

Download all attachments as: .zip

Change History (14)

comment:1 Changed 2 years ago by gk

Description: modified (diff)

comment:2 Changed 2 years ago by gk

Oh, another thing: the Gitian VMs you built for testing patches might not be big enough anymore due to all the dependencies getting downloaded. I needed to bump the VM size in gitian-builder to get the WebRTC part built at all (there is no patch for that one yet checked in).

comment:3 Changed 2 years ago by arlolra

In https://gitweb.torproject.org/builders/tor-browser-bundle.git/commit/?id=121de1ca7cbee29f34f99753a7948c7447e38965, it seems I mistakenly did,

-  # libwebrtc-linux-386-magic.a(dump_syms_regtest.o): unsupported ELF file type 2
 -  ar crs libwebrtc-magic.a $(find . -name '*.o' -not -name '*.main.o' -not -name 'dump_syms_regtest.o' | sort)
 +  ar crs libwebrtc-magic.a $(find . -name '*.o' -not -name '*.main.o' | sort)

Changed 2 years ago by arlolra

comment:4 Changed 2 years ago by arlolra

See the attached (untested) patch. I don't yet have an answer for 2) though.

comment:5 Changed 2 years ago by dcf

I have a build going right now for #21710 that also just filed because of this. I will try applying attachment:0001-Ignore-dump_syms_regtest.o.patch​ and restarting it.

comment:6 Changed 2 years ago by gk

This seems to fix things for me at least. Thanks for the fast response. I'll take the patch to unbreak the build but keep this ticket open for now to 1) have a second report that it worked and 2) to remind me thinking a bit more about 2) in my ticket description.

comment:7 Changed 2 years ago by gk

The patch is on master now (commit e9b16e19134655aa16a8840e09093e01692138d5).

comment:8 in reply to:  5 Changed 2 years ago by dcf

Replying to dcf:

I have a build going right now for #21710 that also just filed because of this. I will try applying attachment:0001-Ignore-dump_syms_regtest.o.patch​ and restarting it.

My build finished fine.

comment:9 in reply to:  2 ; Changed 2 years ago by dcf

Replying to gk:

Oh, another thing: the Gitian VMs you built for testing patches might not be big enough anymore due to all the dependencies getting downloaded. I needed to bump the VM size in gitian-builder to get the WebRTC part built at all (there is no patch for that one yet checked in).

attachment:0001-Increase-base-VM-size-from-15360M-to-20480M.patch increases the VM size from 15360M to 20480M, which was adequate for the build I just did. (Do you want a separate ticket for this?)

comment:10 Changed 2 years ago by arlolra

For what it's worth, I didn't need to apply my patch above for the 7.0a3 build to work. I only did a make clean though.

comment:11 in reply to:  9 Changed 2 years ago by gk

Replying to dcf:

Replying to gk:

Oh, another thing: the Gitian VMs you built for testing patches might not be big enough anymore due to all the dependencies getting downloaded. I needed to bump the VM size in gitian-builder to get the WebRTC part built at all (there is no patch for that one yet checked in).

attachment:0001-Increase-base-VM-size-from-15360M-to-20480M.patch increases the VM size from 15360M to 20480M, which was adequate for the build I just did. (Do you want a separate ticket for this?)

No, thanks. I committed a quick fix to gitian-builder to unblock the build (commit 5fbd2a1955328f1450a127f67be2c9d0e12c0ccb) but your patch is better and I applied it on top of my fixup: commit 6185a530122f5476335bcd46dba6a3e8b3eefed8 on tor-browser-builder-4.

comment:12 Changed 2 years ago by dcf

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.