Start a new topic

NSURLErrorDomain when calling custom Endpoint


When calling a specific custom endpoint on iOS 8, I am more often than not getting a network error. The logs on App Engine show a successful response, status 200, no errors, etc (will paste sample response below). In at least 2 instances, switching to the iOS 7 simulator and performing the same steps temporarily fixed the issue (not sure for how long) - **note this has never failed with this error on iOS 7**. When I say it fixed the issue, switching back to the iOS 8 sim the same steps would now work, the app installed on my phone would now work (when it didn't moments before). I thought it was not coincidental that it cleared up twice by doing this, but tried the same thing tonight to no avail.

Here are the console logs from XCode:

2014-09-19 02:28:53:742 KCSRequest2:224 [INFO (NETWORK)] POST [KinveyKit id: '19C1D3D0-AA81-4793-859A-938A0AA8E9AB']

2014-09-19 02:29:03:833 KCSRequest2:249 [NOTICE (NETWORK)] Retrying request (19C1D3D0-AA81-4793-859A-938A0AA8E9AB). Network error: -1001.

2014-09-19 02:29:14:020 KCSRequest2:249 [NOTICE (NETWORK)] Retrying request (19C1D3D0-AA81-4793-859A-938A0AA8E9AB). Network error: -1001.

2014-09-19 02:29:24:302 KCSRequest2:249 [NOTICE (NETWORK)] Retrying request (19C1D3D0-AA81-4793-859A-938A0AA8E9AB). Network error: -1001.

2014-09-19 02:29:34:837 KCSRequest2:249 [NOTICE (NETWORK)] Retrying request (19C1D3D0-AA81-4793-859A-938A0AA8E9AB). Network error: -1001.

2014-09-19 02:29:45:801 KCSRequest2:249 [NOTICE (NETWORK)] Retrying request (19C1D3D0-AA81-4793-859A-938A0AA8E9AB). Network error: -1001.

2014-09-19 02:29:45:814 KCSRequest2:326 [INFO (NETWORK)] Network Client Error Error Domain=NSURLErrorDomain Code=-1001 "The operation couldn’t be completed. (NSURLErrorDomain error -1001.)" UserInfo=0x7ffbcb654140 {NSErrorFailingURLStringKey=, NSUnderlyingError=0x7ffbcb6409b0 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1001.)", NSErrorFailingURLKey=} [KinveyKit id: '19C1D3D0-AA81-4793-859A-938A0AA8E9AB']

Here is a log statement of the KinveyResponse object from App Engine from a failed response (which is identical to a sucessful response, I can provide if desired):

Complete? true SC: (200/200) H: {x-powered-by=Express, x-kinvey-api-version=3, x-kinvey-request-id=c2a8fe67eecc442d902da29e65baced9} B: {AvailableTimes=[[{CurrentPrice={Amount=50.0, CurrencyCode=USD, currencyCode=USD, amount=50.0}, Duration=45, EmployeeID=217794, StartDateTime=/Date(1411124400000-0400)/, TreatmentID=1098688, RoomID=null, locationId=18662, employeeID=217794, treatmentID=1098688, roomID=null, currentPrice={Amount=50.0, CurrencyCode=USD, currencyCode=USD, amount=50.0}, duration=45, travelTime=1200, startDateTime=/Date(1411124400000-0400)/}],...]}

I thought it might be a timeout issue, but the successful request took 12899ms on App Engine and the unsuccessful request took 11706 ms. Again, does not happen on iOS7. Thanks in advance.

Worth noting that forcing the timeout to 60s via KCS_CONNECTION_TIMEOUT solves the issue. I take back my last statement, I do believe this to definitely be an ios7/8 bug. When requests take less than 10s they are completing as expected so somehow the timeout has been reduced to 10s.
Is it possible that one server in your cluster is misconfigured and this isn't actually an ios7/8 issue? I've seen that happen a few times with sporadic issues like this...
This is not part of a stress test. Just my normal app flow. No changes in network when switching sims, literally close ios8 sim, relaunch my xcode project on ios7.1 sim. Able to reproduce on device on strong wifi and on LTE.

From here

it does look like the error -1001 is a timeout. However, it is strange that it is happening every ten seconds as opposed to waiting the full 60 seconds. How is this request being made? Is it part of a stress test or something similar? Or is it just a one-off request?

Also, when switching between ios7 and ios8 are there any changes in the network? Are you able to reproduce this when the device is connected to wifi with a strong signal?
Login or Signup to post a comment