optimizely/objective-c-sdk

Fatal Exception: NSRangeException in OPTLYHTTPRequestManager.m

Closed this issue · 3 comments

Hey there,

Just getting started with Optimizely in our iOS project. Launched our most recent app version and are getting this crash through Fabric. It's happened 4 times to 4 different users in about a day so far (about 1k daily actives).

Fatal Exception: NSRangeException *** -[__NSArrayM setObject:atIndexedSubscript:]: index 2 beyond bounds [0 .. 0]

I'm on version 1.4.0 of all the Optimizely projects, installed through podfiles. I have a pretty basic setup with one experiment running.

Complete stack trace here:


0  CoreFoundation                 0x183db3d38 __exceptionPreprocess
1  libobjc.A.dylib                0x1832c8528 objc_exception_throw
2  CoreFoundation                 0x183d4cc44 _CFArgv
3  CoreFoundation                 0x183d3aefc +[__NSArrayM __new:::]
4  realtalk-client                0x102d318c4 -[OPTLYHTTPRequestManager backoffDelay:backoffRetryInterval:] (OPTLYHTTPRequestManager.m:378)
5  realtalk-client                0x102d31580 __123-[OPTLYHTTPRequestManager POSTWithParameters:url:backoffRetryInterval:retries:completionHandler:backoffRetryAttempt:error:]_block_invoke (OPTLYHTTPRequestManager.m:346)
6  realtalk-client                0x102d31120 __68-[OPTLYHTTPRequestManager POSTWithParameters:url:completionHandler:]_block_invoke (OPTLYHTTPRequestManager.m:289)
7  CFNetwork                      0x18433ed50 __75-[__NSURLSessionLocal taskForClass:request:uploadFile:bodyData:completion:]_block_invoke
8  CFNetwork                      0x1843560ec __49-[__NSCFLocalSessionTask _task_onqueue_didFinish]_block_invoke
9  Foundation                     0x18477e310 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__
10 Foundation                     0x1846be9e4 -[NSBlockOperation main]
11 Foundation                     0x1846ae620 -[__NSOperationInternal _start:]
12 libdispatch.dylib              0x183739048 _dispatch_client_callout
13 libdispatch.dylib              0x183774b10 _dispatch_block_invoke_direct$VARIANT$armv81
14 libdispatch.dylib              0x183739048 _dispatch_client_callout
15 libdispatch.dylib              0x183774b10 _dispatch_block_invoke_direct$VARIANT$armv81
16 libdispatch.dylib              0x1837749c4 dispatch_block_perform$VARIANT$armv81
17 Foundation                     0x18477ffe8 __NSOQSchedule_f
18 libdispatch.dylib              0x183739048 _dispatch_client_callout
19 libdispatch.dylib              0x183775794 _dispatch_continuation_pop$VARIANT$armv81
20 libdispatch.dylib              0x1837741e8 _dispatch_async_redirect_invoke$VARIANT$armv81
21 libdispatch.dylib              0x18377a418 _dispatch_root_queue_drain
22 libdispatch.dylib              0x18377a180 _dispatch_worker_thread3
23 libsystem_pthread.dylib        0x1839df130 _pthread_wqthread
24 libsystem_pthread.dylib        0x1839dec30 start_wqthread```

Hey @kellyroach-optimizely, could you or someone on the team take a look at this?

It's driving pretty much all of our crashes right now - might force us off Optimizely.

Thanks,

Thanks for reporting your issue. I've already filed an internal JIRA ticket and someone is looking at this issue now.

Issue #190 should be resolved in 1.5.0-RC on master branch which includes P.R. #193 .
#193
f027ede
Expect to see this fix in next release from master branch.