firebase-tools
firebase-tools copied to clipboard
Failed to upload symbols
[REQUIRED] Environment info
firebase-tools:firebase-tools
Platform:Windows
[REQUIRED] Test case
- i set the HTTPS_PROXY or HTTP_PROXY value in your environment to the URL of your proxy
- Firebase CLI command:firebase crashlytics : symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
- Error: Failed to upload symbols
output : com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.conn.HttpHostConnectException: Connect to firebasecrashlyticssymbols.googleapis.com:443 [firebasecrashlyticssymbols.googleapis.com/172.217.163.42] failed: Connection timed out: connect
I used a VPN proxy and set http_proxy, but no work.
[REQUIRED] Steps to reproduce
It can be replicated in China,
[REQUIRED] Expected behavior
generate a Crashlytics-compatible symbol file and upload it to Firebase servers
[REQUIRED] Actual behavior
[CRASHLYTICS LOG DEBUG] PUT headers: [CRASHLYTICS LOG DEBUG] User-Agent = crashlytics-buildtools/2.8.0 [CRASHLYTICS LOG DEBUG] X-CRASHLYTICS-API-CLIENT-TYPE = crashlytics-buildtools [CRASHLYTICS LOG DEBUG] X-CRASHLYTICS-API-CLIENT-VERSION = 2.8.0 com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.conn.HttpHostConnectException: Connect to firebasecrashlyticssymbols.googleapis.com:443 [firebasecrashlyticssymbols.googleapis.com/172.217.163.42] failed: Connection timed out: connect at com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:159) at com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:373) at com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:394) at com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:237) at com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185) at com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) at com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) at com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) at com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) at com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108) at com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56) at com.google.firebase.crashlytics.buildtools.api.RestfulWebApi.sendFile(RestfulWebApi.java:100) at com.google.firebase.crashlytics.buildtools.api.RestfulWebApi.uploadFile(RestfulWebApi.java:119) at com.google.firebase.crashlytics.buildtools.api.FirebaseSymbolFileService.uploadNativeSymbolFile(FirebaseSymbolFileService.java:35) at com.google.firebase.crashlytics.buildtools.Buildtools.uploadNativeSymbolFiles(Buildtools.java:266) at com.google.firebase.crashlytics.buildtools.CommandLineHelper.executeUploadSymbols(CommandLineHelper.java:160) at com.google.firebase.crashlytics.buildtools.CommandLineHelper.doMain(CommandLineHelper.java:107) at com.google.firebase.crashlytics.buildtools.CommandLineHelper.main(CommandLineHelper.java:61) at com.google.firebase.crashlytics.buildtools.Buildtools.main(Buildtools.java:113) Caused by: java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:339) at com.google.firebase.crashlytics.buildtools.reloc.org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142) ... 18 more
Error: Failed to upload symbols
macos set httpproxy is working
[CRASHLYTICS LOG DEBUG] Crashlytics using custom proxy settings: 127.0.0.1:7890
[CRASHLYTICS LOG DEBUG] PUT headers:
window set httpproxy dont work
[CRASHLYTICS LOG DEBUG] Crashlytics Buildtools initialized.
[CRASHLYTICS LOG DEBUG] Uploading native symbol files from directory: ...
[CRASHLYTICS LOG DEBUG] PUT file: .... to URL: ...
[CRASHLYTICS LOG DEBUG] PUT headers:
[CRASHLYTICS LOG DEBUG] User-Agent = crashlytics-buildtools/2.8.0
Is it a tool bug?
Hi, thanks for reaching out! This sounds like a network issue and please make sure you can reach the Firebase servers from your network.
@yuchenshi The network is not accessible, so I need to set up the proxy, but I set up the proxy on Windows does not work with Firebase-Tools, but it does work on Macos
Got it. For setup-specific questions and network issues, please reach out to Firebase Support
thanks
It appears the proxy environment variable in the public documentation is not what Crashlytics expects. Try setting https.proxyHost
and https.proxyPort
(or http.proxyHost
and http.proxyPort
), in addition to the environment variables you are already using.
Let us know if that works. If so, we'll update a future version of the Firebase CLI to support the docs as written, once this is confirmed as the root of the issue.
Quick update: https.proxyHost
, etc are Java runtime properties that are checked by Crashlytics, not environment variables. We've implemented a check for the documented environment variables and will be shipping an update to the Firebase CLI soon that includes this fix.
ok~
The fix was released in Firebase CLI 11.10.0, released last week. (The release notes aren't on the main Firebase page for some reason, but you can see them here.)
Please re-open if you still see this issue after updating your Firebase CLI distribution.