question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

iOS 10 fetch crashes

See original GitHub issue

Description

fetch POST request are randomly crashing in iOS 10. It throws a Network request failed.

Same code is working well in Android and iOS < 10.

Reproduction

Execute consecutive but different request to the same server using fetch like in the example below.

const fetching = () => {
            fetch('http://SERVER_URL/get', {
                method: 'GET'
             })
            .then((res1) => {
                fetch('http://SERVER_URL/post', {
                    method: 'POST',
                    body: JSON.stringify({ params: [
                        'element1',
                        'element2',
                        'element3',
                        'element4'
                    ] }) }
                )
                    .then((res2) => {
                        console.log('OK');
                    })
                    .catch((err2) => console.log('NOT OK')); 
            });
            
        };

        setInterval(fetching, 10);

Output in iOS 10

2016-11-25 14:22:05.810 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:22:05.814 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:22:06.064 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:22:06.135 [info][tid:com.facebook.react.JavaScript] NOT OK
2016-11-25 14:22:06.136 [info][tid:com.facebook.react.JavaScript] NOT OK
2016-11-25 14:22:06.595 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:22:06.597 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:22:06.763 [info][tid:com.facebook.react.JavaScript] NOT OK
2016-11-25 14:22:06.766 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:22:06.769 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:22:06.778 [info][tid:com.facebook.react.JavaScript] NOT OK
2016-11-25 14:22:06.795 [info][tid:com.facebook.react.JavaScript] NOT OK
2016-11-25 14:22:06.806 [info][tid:com.facebook.react.JavaScript] NOT OK
2016-11-25 14:22:06.822 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:22:06.833 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:22:06.844 [info][tid:com.facebook.react.JavaScript] NOT OK
2016-11-25 14:22:06.864 [info][tid:com.facebook.react.JavaScript] NOT OK
2016-11-25 14:22:06.879 [info][tid:com.facebook.react.JavaScript] NOT OK
2016-11-25 14:22:06.897 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:22:06.910 [info][tid:com.facebook.react.JavaScript] NOT OK
2016-11-25 14:22:06.930 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:22:06.942 [info][tid:com.facebook.react.JavaScript] NOT OK
2016-11-25 14:22:06.965 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:22:06.974 [info][tid:com.facebook.react.JavaScript] NOT OK

Output in iOS 9

2016-11-25 14:27:13.209 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.506 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.513 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.527 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.610 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.621 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.637 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.647 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.649 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.655 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.666 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.690 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.712 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.719 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.726 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.736 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.753 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.767 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.789 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.802 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.819 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.840 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.850 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.870 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.887 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.902 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.919 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.940 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.954 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.965 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:13.989 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.004 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.022 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.042 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.054 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.070 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.086 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.101 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.122 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.136 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.155 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.169 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.188 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.202 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.221 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.232 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.295 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.311 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.318 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.333 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.356 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.374 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.386 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.407 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.418 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.436 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.455 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.469 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.493 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.502 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.518 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.538 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.553 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.570 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.585 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.606 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.626 [info][tid:com.facebook.react.JavaScript] OK
2016-11-25 14:27:14.643 [info][tid:com.facebook.react.JavaScript] OK

Solution

It seems to be related to problems with iOS 10 NSURLSession according to this http://stackoverflow.com/questions/39346231/resume-nsurlsession-on-ios10/39347461

Additional Information

  • React Native version: 0.32 and 0.38 tested
  • Platform: [iOS]
  • Operating System: [MacOS]

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Comments:7 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
emadiciocommented, Dec 20, 2016

@max-mykhailenko @juldiadia Maybe it’s not related, but this fixed it for me https://github.com/facebook/react-native/pull/11342

0reactions
hramoscommented, Jul 21, 2017

Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, we’re automatically closing issues after a period of inactivity. Please do not take it personally!

If you think this issue should definitely remain open, please let us know. The following information is helpful when it comes to determining if the issue should be re-opened:

  • Does the issue still reproduce on the latest release candidate? Post a comment with the version you tested.
  • If so, is there any information missing from the bug report? Post a comment with all the information required by the issue template.
  • Is there a pull request that addresses this issue? Post a comment with the PR number so we can follow up.

If you would like to work on a patch to fix the issue, contributions are very welcome! Read through the contribution guide, and feel free to hop into #react-native if you need help planning your contribution.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Diagnosing issues using crash reports and device logs
Use crash reports and device logs to debug app issues. ... When an app on iOS, iPadOS, watchOS, or tvOS uses memory inefficiently,...
Read more >
Swift3 - Background Fetch Crash on Debug - Stack Overflow
This is my code and when I Debug in XCode > Simulate background fetch my app crash without reason. I activated in Capabilities>Background...
Read more >
Firebase Apple SDK Release Notes - Google
0 - November 10, 2020. Authentication. Fixed a crash on iOS 14 when multiple app delegate completion methods were called ( ...
Read more >
Is the Fetch Rewards App Crashing? Here's How to Fix It!
For example, it normally takes about 10 seconds for me to upload a grocery receipt to Fetch Rewards and get my points. But...
Read more >
iOS : App Crashes after executing background fetch ...
iOS : App Crashes after executing background fetch completionHandler [ Beautify Your Computer ... 2 views 10 months ago.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found