App crashes inside of SHTTP2ConnectionCacheEntry

Originator:andrew.d.hershberger
Number:rdar://23206628 Date Originated:21-Oct-2015 04:03 PM
Status:Open Resolved:Duplicate
Product:iOS SDK Product Version:iOS 9 SDK
Classification:Crash/Hang/Data Loss Reproducible:Sometimes
 
Summary:
The vast majority of the crashes we're seeing in our app (2.5–5% of users impacted daily) are on the com.apple.NSURLConnectionLoader thread inside of SHTTP2ConnectionCacheEntry.

The majority of the API usage in our app hits a Google Compute Engine load balancer which handles TLS and supports http/2.

The crashes are iOS 9-only.

Here's a sample call stack for the crashed thread:

EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x0000000015126980
Thread : Crashed: com.apple.NSURLConnectionLoader
0  libobjc.A.dylib                0x000000019a541bd0 objc_msgSend + 16
1  CFNetwork                      0x00000001851e64a8 HTTPProtocol::useNetStreamInfoForRequest(MetaNetStreamInfo*, HTTPRequestMessage const*, unsigned char) + 240
2  CFNetwork                      0x0000000185176b20 SHTTP2ConnectionCacheEntry::enqueueRequestForProtocol(MetaConnectionCacheClient*, HTTPRequestMessage const*, MetaConnectionOptions) + 384
3  CFNetwork                      0x000000018514cbe8 SHTTP2ConnectionCache::enqueueRequestForProtocol(MetaConnectionCacheClient*, HTTPRequestMessage const*, MetaConnectionOptions) + 96
4  CFNetwork                      0x00000001852aa4a8 STubeManager::_onqueue_enqueueRequestForProtocol(MetaConnectionCacheClient*, HTTPRequestMessage const*, MetaConnectionOptions, SAwaitingTube*) + 304
5  CFNetwork                      0x00000001852aa338 ___ZN12STubeManager25enqueueRequestForProtocolEP25MetaConnectionCacheClientPK18HTTPRequestMessage21MetaConnectionOptions_block_invoke + 60
6  libdispatch.dylib              0x000000019ad29770 _dispatch_client_callout + 16
7  libdispatch.dylib              0x000000019ad32a54 _dispatch_block_invoke + 540
8  CFNetwork                      0x0000000185117c70 RunloopBlockContext::_invoke_block(void const*, void*) + 36
9  CoreFoundation                 0x000000018590c7ec CFArrayApplyFunction + 68
10 CFNetwork                      0x0000000185117b54 RunloopBlockContext::perform() + 136
11 CFNetwork                      0x0000000185117a14 MultiplexerSource::perform() + 312
12 CFNetwork                      0x0000000185117840 MultiplexerSource::_perform(void*) + 68
13 CoreFoundation                 0x00000001859e05a4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
14 CoreFoundation                 0x00000001859e0038 __CFRunLoopDoSources0 + 540
15 CoreFoundation                 0x00000001859ddd38 __CFRunLoopRun + 724
16 CoreFoundation                 0x000000018590cdc0 CFRunLoopRunSpecific + 384
17 CFNetwork                      0x00000001851aa074 +[NSURLConnection(Loader) _resourceLoadLoop:] + 412
18 Foundation                     0x0000000186967138 __NSThread__start__ + 1000
19 libsystem_pthread.dylib        0x000000019af3fb3c _pthread_body + 156
20 libsystem_pthread.dylib        0x000000019af3faa0 _pthread_body + 154
21 libsystem_pthread.dylib        0x000000019af3d030 thread_start + 4

There is actually a whole class of crashes that I suspect are related, but all of the crashes are EXC_BAD_ACCESS KERN_INVALID_ADDRESS somewhere within SHTTP2ConnectionCacheEntry.

Steps to Reproduce:
I can't reproduce the issue, but as evidenced by the crash reports, it's happening on a consistent basis.

Expected Results:
No crashes in the networking stack.

Actual Results:
Crashes in the networking stack.

Version:
iOS 9.x

Comments

Resolved as Duplicate to what report number?

By serhiy.tarasov at June 1, 2016, 10:40 a.m. (reply...)

Duplicate of 22233584 (Open)

By andrew.d.hershberger at Aug. 3, 2016, 4:04 p.m. (reply...)

I can't find details of 22233584 on Openradar. Has it been closed? I have an issue eerily similar to this one, where can I know more information on this issue and what was causing it?

By gabrielepalma82 at Sept. 13, 2016, 2:36 p.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!