firebase-cpp-sdk icon indicating copy to clipboard operation
firebase-cpp-sdk copied to clipboard

Temp PR to build an SDK for

Open dconeybe opened this issue 4 years ago • 16 comments

DO NOT MERGE

This PR will be used to create a custom build for a customer to investigate https://github.com/firebase/quickstart-unity/issues/1154

dconeybe avatar Oct 27 '21 15:10 dconeybe

I started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1436732382 to see if the changes in b87d7b66f4cb893867027a8946741e2cd6eb0309 will build a desktop package without Android and iOS. If it works, this will make it much more efficient to produce future custom builds since we don't care about Android or iOS.

Update: That didn't seem to have any effects.

dconeybe avatar Nov 08 '21 21:11 dconeybe

I started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1437143059 at e09dae3fa9f973ba70814ee9b0bc354c535917e1 to see if actually deleting all traces of android and ios from the workflow will skip building and packaging them.

Update: It worked. It shaved off about 30 minutes from the build job time and about 400 MB of the resulting ZIP file.

dconeybe avatar Nov 08 '21 23:11 dconeybe

I've started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1437861123 at 149ca6a0c79cfcdf554f941145413a477c6fff24, with some additional logging added from the iOS SDK. This will help isolate if the long connection time is due to the client/server handshake or something else.

dconeybe avatar Nov 09 '21 03:11 dconeybe

I've started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1442420763 at a244b287cefa77d780b1b8da766f20875799eadb, with some more additional logging added from the iOS SDK, specifically to stream.cc.

dconeybe avatar Nov 10 '21 02:11 dconeybe

I've started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1506248118 at f155579d, which adds some logging to grpc wrapper classes and is the first commit to pick up logs added to grpc itself in my own fork (https://github.com/dconeybe/grpc/tree/UnityIssue1154TestApp)

Update: The build-windows-x64-Debug-static-legacy component of this build failed for a transient reason:

gzip: stdout: No space left on device
tar: ../firebase-cpp-sdk-windows-x64-Debug-static-legacy-build.tgz: Cannot write: Broken pipe

I'm going to try again.

dconeybe avatar Nov 26 '21 05:11 dconeybe

I've started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1508316323 at f155579d, which adds some logging to grpc wrapper classes and is the first commit to pick up logs added to grpc itself in my own fork (https://github.com/dconeybe/grpc/tree/UnityIssue1154TestApp)

Update: build-windows-x64-Debug-static-legacy failed again due to "No space left on device"

dconeybe avatar Nov 26 '21 16:11 dconeybe

I've started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1517371293 at cbabd46bb21141350856c8d08c833ed86a7d3ca3 which is the same as the previously-failed run but adds some logging to the build scripts to see if it is actually cleaning up unused stuff from disk.

dconeybe avatar Nov 29 '21 18:11 dconeybe

I've started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1519319776 at 1ead8627, which picks up 56c49c759309748a892705afa401cfaa7043cea7 which may fix the "No space left on device" build error.

dconeybe avatar Nov 30 '21 05:11 dconeybe

I've started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1548128356 at 44450eaad526f73e4895f836a2cccd55b99f2733 to add extra logging into grpc's tcp_client_windows.cc functions on_connect() and tcp_connect().

dconeybe avatar Dec 07 '21 06:12 dconeybe

I've started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1550241575 at f4c25acc3bd57bf41dc338b1f41e34f9cea42acd to just add deadline logging to tcp_connect() in tcp_client_windows.cc in grpc. I'm guessing that this deadline will be 20 seconds, which could explain the 20-second timeout experienced by the customer.

dconeybe avatar Dec 07 '21 16:12 dconeybe

I've started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1580732639 to pick up the change in tcp_connect() in tcp_client_windows.cc in grpc that moves initialization of async_connect to before ConnectEx() to test the hypothesis that there is a race condition.

dconeybe avatar Dec 15 '21 01:12 dconeybe

I've started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1588905525 to pick up a change where tcp_connect() logs the hostname/IP address to which it connects. This will assist in capturing the tcpdump requested by the grpc developers.

dconeybe avatar Dec 16 '21 18:12 dconeybe

I've started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1590444964 to pick up a change where tcp_connect() PROPERLY logs the hostname/IP address to which it connects. This will assist in capturing the tcpdump requested by the grpc developers.

dconeybe avatar Dec 17 '21 02:12 dconeybe

As a side project, started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1590647631 to see if we can avoid building for linux and macOS in the CPP Packaging action.

dconeybe avatar Dec 17 '21 04:12 dconeybe

I've started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1591093438 to pick up a change where tcp_connect() logs the ipv6 host name (in addition to the ipv4 host name).

dconeybe avatar Dec 17 '21 07:12 dconeybe

I've started https://github.com/firebase/firebase-cpp-sdk/actions/runs/1710537244 to pick up a chance to grpc's tcp_client_posix.cc to add logging to tcp_connect(). This will help debug on macOS, where a customer has reproduced this bug.

dconeybe avatar Jan 17 '22 21:01 dconeybe