Yes, I managed to reproduce the memory spike with mocked extra large request headers on HTTP2.
My questions are:
Does the NSURLSession timeout still apply if running into in that case? Will the request return eventually? What's the error code?
In the logs of affected sessions, I can see a few requests timed out longer than 60s( the default timeout in NSURLSession), and the error code is -1001. Also, seems those requests returned right before the app crashed due to out of memory.
Is there a good way to estimate the headers size? numberofcharacters * 1 bytes?
With HPACK on HTTP2, is the headers size consist of static and dynamic headers?
Other than those reserved http headers ("content-length", "accept", " "user-agent", etc), are there any other cases that underlying CFNetworking would add large headers? I assume not
A separate API feedback, seems [NSURLSessionConfiguration setHTTPAdditionalHeaders:nil] won't clear up headers. It is a bit confusing imho. :)
Thanks for your time again!