mParticle / mparticle-apple-sdk

mParticle Apple SDK
Apache License 2.0
46 stars 66 forks source link

CFNetwork runtime issues #232

Closed ThomasCle closed 12 months ago

ThomasCle commented 1 year ago

Since Xcode 15 I see three runtime issues every time I launch my iOS app. The call stacks leads back to this SDK. I have tried updating to latest version of the SDK (v8.16.0), but that didn't solve the problem:

Screenshot 2023-10-23 at 21 20 17

First issue

/Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Network/MPConnector.m:264 The request of a upload task should not contain a body or a body stream, use upload(for:fromFile:), upload(for:from:), or supply the body stream through the urlSession(_:needNewBodyStreamForTask:) delegate method.

#0  0x00000000000044a3 in ___lldb_unnamed_symbol2608 ()
#1  0x000000000004d72b in -[MPConnector responseFromPostRequestToURL:message:serializedParams:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Network/MPConnector.m:264
#2  0x000000000006092f in -[MPNetworkCommunication performMessageUpload:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Network/MPNetworkCommunication.m:576
#3  0x00000000000623a7 in -[MPNetworkCommunication upload:completionHandler:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Network/MPNetworkCommunication.m:734
#4  0x0000000000075b97 in -[MPBackendController uploadBatchesWithCompletionHandler:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/MPBackendController.mm:819
#5  0x000000000007f0f7 in __66-[MPBackendController checkForKitsAndUploadWithCompletionHandler:]_block_invoke at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/MPBackendController.mm:1965
#6  0x000000000005f687 in -[MPNetworkCommunication requestConfig:withCompletionHandler:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Network/MPNetworkCommunication.m:415
#7  0x0000000000074c53 in -[MPBackendController requestConfig:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/MPBackendController.mm:606
#8  0x000000000007ef5b in -[MPBackendController checkForKitsAndUploadWithCompletionHandler:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/MPBackendController.mm:1945
#9  0x000000000007eda7 in -[MPBackendController waitForKitsAndUploadWithCompletionHandler:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/MPBackendController.mm:1928

Second issue

/Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Network/MPConnector.m:264 The request of a upload task should not contain a body or a body stream, use upload(for:fromFile:), upload(for:from:), or supply the body stream through the urlSession(_:needNewBodyStreamForTask:) delegate method.

#0  0x00000000000044a3 in ___lldb_unnamed_symbol2608 ()
#1  0x000000000004d72b in -[MPConnector responseFromPostRequestToURL:message:serializedParams:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Network/MPConnector.m:264
#2  0x0000000000062b87 in -[MPNetworkCommunication identityApiRequestWithURL:identityRequest:blockOtherRequests:completion:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Network/MPNetworkCommunication.m:817
#3  0x0000000000063adf in -[MPNetworkCommunication login:completion:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Network/MPNetworkCommunication.m:927
#4  0x00000000000a13c3 in -[MPIdentityApiManager loginRequest:completion:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Identity/MPIdentityApiManager.m:40
#5  0x000000000003c133 in __34-[MPIdentityApi login:completion:]_block_invoke_3 at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Identity/MPIdentityApi.m:401

Third issue

/Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Network/MPConnector.m:264 The request of a upload task should not contain a body or a body stream, use upload(for:fromFile:), upload(for:from:), or supply the body stream through the urlSession(_:needNewBodyStreamForTask:) delegate method.

#0  0x00000000000044a3 in ___lldb_unnamed_symbol2608 ()
#1  0x000000000004d72b in -[MPConnector responseFromPostRequestToURL:message:serializedParams:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Network/MPConnector.m:264
#2  0x0000000000062b87 in -[MPNetworkCommunication identityApiRequestWithURL:identityRequest:blockOtherRequests:completion:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Network/MPNetworkCommunication.m:817
#3  0x0000000000063863 in -[MPNetworkCommunication identify:completion:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Network/MPNetworkCommunication.m:917
#4  0x00000000000a1267 in -[MPIdentityApiManager identify:completion:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Identity/MPIdentityApiManager.m:31
#5  0x000000000003bbab in -[MPIdentityApi identifyNoDispatch:completion:] at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/Identity/MPIdentityApi.m:368
#6  0x000000000000a187 in __30-[MParticle startWithOptions:]_block_invoke at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/mParticle.m:596
#7  0x000000000007e2eb in __132-[MPBackendController startWithKey:secret:firstRun:installationType:proxyAppDelegate:startKitsAsync:consentState:completionHandler:]_block_invoke_2 at /Users/runner/work/mparticle-apple-sdk/mparticle-apple-sdk/mParticle-Apple-SDK/MPBackendController.mm:1865

Please let me know if I can do anything to avoid these runtime errors or if you need more information to identify the problem.

johannsa commented 1 year ago

Raised internally via https://mparticle-eng.atlassian.net/browse/PRODRDMP-5970

ThomasCle commented 12 months ago

It was fixed in #240 and released in 8.17.0.