I have an upload service, which I recently transitioned to HTTP2. The service is built with NodeJS and nginx is the proxy to the application server.
Shortly after the switch to HTTP2, we noticed crashes in the iOS application that uses the upload service. We found the following results:
With HTTP2 enabled, the app ran out of memory when uploading large files (1GB+).
For the above picture, we uploaded the same video 3 times - the first two times, http2 was enabled. For the third upload, the only changes we made to the setup were that http2 was disabled, and the webserver was restarted to reflect that.
This seems like a bug (memory leak) in either iOS, or AFNetworking, but we haven't been able to pin it down yet. Has anyone observed anything like this? Is there a workaround?
Versions:
- nginx version: nginx/1.10.0 (Ubuntu)
- Ubuntu 16.04.1
- iOS 10.2
- AFNetworking 3.1.0
Edit
Seems like, indeed, AFNetworking is the culprit: