Crashlytics had a problem uploading the deobs file

3.6k views Asked by At

I'm found that crash reports became unreadable because of obfuscation. From crashlytics log i'm found exception

    [DEBUG] (Execution worker for ':') com.crashlytics  - POST file: /home/...-875c- 
    4f7e9d519d53.zip to URL: https://cm.crashlytics.com/api/v3/platforms/android/code_mappings
    [DEBUG] (Execution worker for ':') com.crashlytics  - Crashlytics using custom proxy 
    settings: :80
    [WARN] (Execution worker for ':') com.crashlytics  - Crashlytics had a problem uploading the 
    deobs file. Please check network connectivity and try again.
java.lang.IllegalArgumentException: Host name may not be empty
    at com.crashlytics.reloc.org.apache.http.util.Args.containsNoBlanks(Args.java:84)
    at com.crashlytics.reloc.org.apache.http.HttpHost.<init>(HttpHost.java:80)
    at com.crashlytics.reloc.org.apache.http.HttpHost.<init>(HttpHost.java:99)
    at com.crashlytics.api.net.proxy.ProxySettings.getConfig(ProxySettings.java:39)
    at com.crashlytics.api.RestfulWebApi.sendFile(RestfulWebApi.java:703)
    at com.crashlytics.tools.android.project.DeobsUploader.uploadDeobsFile(DeobsUploader.java:60)
    at com.crashlytics.tools.android.project.DeobsUploader.uploadDeobfuscationFiles(DeobsUploader.java:37)
    at com.crashlytics.tools.android.DeveloperTools.processProperties(DeveloperTools.java:629)
    at com.crashlytics.tools.android.DeveloperTools.processArgsInternal(DeveloperTools.java:348)
    at com.crashlytics.tools.android.DeveloperTools.gradleMain(DeveloperTools.java:292)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:104)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326)
    at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)
    at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:91)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
    at com.crashlytics.tools.gradle.tasks.FabricTaskBuilder.callDevtoolsWrappingRuntimeExceptions(FabricTaskBuilder.groovy:366)
    at com.crashlytics.tools.gradle.tasks.FabricTaskBuilder.this$2$callDevtoolsWrappingRuntimeExceptions(FabricTaskBuilder.groovy)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:104)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326)
    at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:352)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:68)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:168)
    at com.crashlytics.tools.gradle.tasks.FabricTaskBuilder$_crashlyticsUploadDeobs_closure6.doCall(FabricTaskBuilder.groovy:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:104)
    at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326)
    at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)
    at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
    at groovy.lang.Closure.call(Closure.java:411)
    at groovy.lang.Closure.call(Closure.java:427)
    at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:647)
    at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:620)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$2.run(ExecuteActionsTaskExecuter.java:284)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:273)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:258)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$200(ExecuteActionsTaskExecuter.java:67)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:145)
    at org.gradle.internal.execution.impl.steps.ExecuteStep.execute(ExecuteStep.java:49)
    at org.gradle.internal.execution.impl.steps.CancelExecutionStep.execute(CancelExecutionStep.java:34)
    at org.gradle.internal.execution.impl.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:69)
    at org.gradle.internal.execution.impl.steps.TimeoutStep.execute(TimeoutStep.java:49)
    at org.gradle.internal.execution.impl.steps.CatchExceptionStep.execute(CatchExceptionStep.java:33)
    at org.gradle.internal.execution.impl.steps.CreateOutputsStep.execute(CreateOutputsStep.java:50)
    at org.gradle.internal.execution.impl.steps.SnapshotOutputStep.execute(SnapshotOutputStep.java:43)
    at org.gradle.internal.execution.impl.steps.SnapshotOutputStep.execute(SnapshotOutputStep.java:29)
    at org.gradle.internal.execution.impl.steps.CacheStep.executeWithoutCache(CacheStep.java:134)
    at org.gradle.internal.execution.impl.steps.CacheStep.lambda$execute$3(CacheStep.java:83)
    at java.util.Optional.orElseGet(Optional.java:267)

Has anyone encountered this problem

2

There are 2 answers

5
Stanislav Bondar On BEST ANSWER

I'm quite sure that problem is started when i'm installed standalone canary build of Android Studio 4. Many thanks to mr. Martin Zeitler, his answer prompted me in the right direction. The problem was in root gradle properties ~/.gradle/gradle.properties file.

It has

   #Fri Jan 24 13:51:37 EET 2020
   systemProp.http.proxyHost=
   systemProp.http.proxyPort=80
   systemProp.https.proxyHost=
   systemProp.https.proxyPort=80

and removing systemProp variables make uploading deobfuscation works back.

1
Martin Zeitler On

It reads: Crashlytics using custom proxy settings: :80. While https:// always is port :443.

That proxy does not like SSL or the other way around, since it's meant to be end-to-end encryption.

Host name may not be empty likely comes from systemProp.https.proxyHost.