-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Crash on a background thread when internet connection is off during media upload #11664
Copy link
Copy link
Closed
Closed
Copy link
Description
Expected behavior
No crash
Actual behavior
There's a crash produced in a background thread. It is NOT crashing the app, but it might have side effects.
Steps to reproduce the behavior
- Open a post with gutenberg editor
- Add a video block
- Add a video from device, verify an upload started
- Turn off internet connection
- Wait until upload fails for about 30secs
- You'll see following crash on XCode logs:
=================================================================
Main Thread Checker: UI API called on a background thread: -[UIApplication statusBarFrame]
PID: 3914, TID: 47617357, Thread name: (none), Queue name: NSManagedObjectContext 0x6000013892c0, QoS: 0
Backtrace:
4 AutomatticTracks 0x00000001068c80e8 -[TracksDeviceInformation statusBarHeight] + 104
5 AutomatticTracks 0x00000001068d1342 -[TracksService mutableDeviceProperties] + 1010
6 AutomatticTracks 0x00000001068ce92b -[TracksService trackEventName:withCustomProperties:] + 443
7 WordPress 0x0000000102fe4f3e -[WPAnalyticsTrackerAutomatticTracks track:withProperties:] + 1374
8 WordPressShared 0x000000010c5a7714 +[WPAnalytics track:withProperties:] + 740
9 WordPress 0x000000010305328d +[WPAppAnalytics track:withProperties:] + 93
10 WordPress 0x000000010305347c +[WPAppAnalytics track:error:] + 460
11 WordPress 0x000000010302bb7f -[MediaService trackUploadError:] + 159
12 WordPress 0x000000010302aec4 __53-[MediaService uploadMedia:progress:success:failure:]_block_invoke_2 + 68
13 CoreData 0x00000001072ea84a developerSubmittedBlockToNSManagedObjectContextPerform + 170
14 libdispatch.dylib 0x0000000112496db5 _dispatch_client_callout + 8
15 libdispatch.dylib 0x000000011249e225 _dispatch_lane_serial_drain + 778
16 libdispatch.dylib 0x000000011249ee9c _dispatch_lane_invoke + 425
17 libdispatch.dylib 0x00000001124a8ea3 _dispatch_workloop_worker_thread + 733
18 libsystem_pthread.dylib 0x000000011287f60b _pthread_wqthread + 409
19 libsystem_pthread.dylib 0x000000011287f405 start_wqthread + 13
2019-05-09 09:51:43.856619+0300 WordPress[3914:47617357] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication statusBarFrame]
PID: 3914, TID: 47617357, Thread name: (none), Queue name: NSManagedObjectContext 0x6000013892c0, QoS: 0
Backtrace:
4 AutomatticTracks 0x00000001068c80e8 -[TracksDeviceInformation statusBarHeight] + 104
5 AutomatticTracks 0x00000001068d1342 -[TracksService mutableDeviceProperties] + 1010
6 AutomatticTracks 0x00000001068ce92b -[TracksService trackEventName:withCustomProperties:] + 443
7 WordPress 0x0000000102fe4f3e -[WPAnalyticsTrackerAutomatticTracks track:withProperties:] + 1374
8 WordPressShared 0x000000010c5a7714 +[WPAnalytics track:withProperties:] + 740
9 WordPress 0x000000010305328d +[WPAppAnalytics track:withProperties:] + 93
10 WordPress 0x000000010305347c +[WPAppAnalytics track:error:] + 460
11 WordPress 0x000000010302bb7f -[MediaService trackUploadError:] + 159
12 WordPress 0x000000010302aec4 __53-[MediaService uploadMedia:progress:success:failure:]_block_invoke_2 + 68
13 CoreData 0x00000001072ea84a developerSubmittedBlockToNSManagedObjectContextPerform + 170
14 libdispatch.dylib 0x0000000112496db5 _dispatch_client_callout + 8
15 libdispatch.dylib 0x000000011249e225 _dispatch_lane_serial_drain + 778
16 libdispatch.dylib 0x000000011249ee9c _dispatch_lane_invoke + 425
17 libdispatch.dylib 0x00000001124a8ea3 _dispatch_workloop_worker_thread + 733
18 libsystem_pthread.dylib 0x000000011287f60b _pthread_wqthread + 409
19 libsystem_pthread.dylib 0x000000011287f405 start_wqthread + 13
=================================================================
Main Thread Checker: UI API called on a background thread: -[UIApplication statusBarOrientation]
PID: 3914, TID: 47617357, Thread name: (none), Queue name: NSManagedObjectContext 0x6000013892c0, QoS: 0
Backtrace:
4 AutomatticTracks 0x00000001068c817b -[TracksDeviceInformation orientation] + 75
5 AutomatticTracks 0x00000001068d13c6 -[TracksService mutableDeviceProperties] + 1142
6 AutomatticTracks 0x00000001068ce92b -[TracksService trackEventName:withCustomProperties:] + 443
7 WordPress 0x0000000102fe4f3e -[WPAnalyticsTrackerAutomatticTracks track:withProperties:] + 1374
8 WordPressShared 0x000000010c5a7714 +[WPAnalytics track:withProperties:] + 740
9 WordPress 0x000000010305328d +[WPAppAnalytics track:withProperties:] + 93
10 WordPress 0x000000010305347c +[WPAppAnalytics track:error:] + 460
11 WordPress 0x000000010302bb7f -[MediaService trackUploadError:] + 159
12 WordPress 0x000000010302aec4 __53-[MediaService uploadMedia:progress:success:failure:]_block_invoke_2 + 68
13 CoreData 0x00000001072ea84a developerSubmittedBlockToNSManagedObjectContextPerform + 170
14 libdispatch.dylib 0x0000000112496db5 _dispatch_client_callout + 8
15 libdispatch.dylib 0x000000011249e225 _dispatch_lane_serial_drain + 778
16 libdispatch.dylib 0x000000011249ee9c _dispatch_lane_invoke + 425
17 libdispatch.dylib 0x00000001124a8ea3 _dispatch_workloop_worker_thread + 733
18 libsystem_pthread.dylib 0x000000011287f60b _pthread_wqthread + 409
19 libsystem_pthread.dylib 0x000000011287f405 start_wqthread + 13
2019-05-09 09:51:44.777896+0300 WordPress[3914:47617357] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication statusBarOrientation]
PID: 3914, TID: 47617357, Thread name: (none), Queue name: NSManagedObjectContext 0x6000013892c0, QoS: 0
Backtrace:
4 AutomatticTracks 0x00000001068c817b -[TracksDeviceInformation orientation] + 75
5 AutomatticTracks 0x00000001068d13c6 -[TracksService mutableDeviceProperties] + 1142
6 AutomatticTracks 0x00000001068ce92b -[TracksService trackEventName:withCustomProperties:] + 443
7 WordPress 0x0000000102fe4f3e -[WPAnalyticsTrackerAutomatticTracks track:withProperties:] + 1374
8 WordPressShared 0x000000010c5a7714 +[WPAnalytics track:withProperties:] + 740
9 WordPress 0x000000010305328d +[WPAppAnalytics track:withProperties:] + 93
10 WordPress 0x000000010305347c +[WPAppAnalytics track:error:] + 460
11 WordPress 0x000000010302bb7f -[MediaService trackUploadError:] + 159
12 WordPress 0x000000010302aec4 __53-[MediaService uploadMedia:progress:success:failure:]_block_invoke_2 + 68
13 CoreData 0x00000001072ea84a developerSubmittedBlockToNSManagedObjectContextPerform + 170
14 libdispatch.dylib 0x0000000112496db5 _dispatch_client_callout + 8
15 libdispatch.dylib 0x000000011249e225 _dispatch_lane_serial_drain + 778
16 libdispatch.dylib 0x000000011249ee9c _dispatch_lane_invoke + 425
17 libdispatch.dylib 0x00000001124a8ea3 _dispatch_workloop_worker_thread + 733
18 libsystem_pthread.dylib 0x000000011287f60b _pthread_wqthread + 409
19 libsystem_pthread.dylib 0x000000011287f405 start_wqthread + 13
2019-05-09 09:51:45:093 WordPress[3914:47617357] Error uploading media: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x6000020c6340 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalUploadTask <A6C7A7CA-89B6-46A1-9B08-F84D6CC35F0C>.<43>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalUploadTask <A6C7A7CA-89B6-46A1-9B08-F84D6CC35F0C>.<43>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://public-api.wordpress.com/rest/v1.1/sites/147960785/media/new?locale=en, NSErrorFailingURLKey=https://public-api.wordpress.com/rest/v1.1/sites/147960785/media/new?locale=en, _kCFStreamErrorDomainKey=4}
2019-05-09 09:51:45.394386+0300 WordPress[3914:47615518] Task <D8795003-7353-4998-97F2-A8B1CEBBC365>.<9> finished with error - code: -1001
2019-05-09 09:51:45:394 WordPress[3914:47448802] TracksService Error while remote calling: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={NSUnderlyingError=0x6000020c6700 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=https://public-api.wordpress.com/rest/v1.1/tracks/record, NSErrorFailingURLKey=https://public-api.wordpress.com/rest/v1.1/tracks/record, _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=The request timed out.}
2019-05-09 09:52:17.423686+0300 WordPress[3914:47617693] Received XPC error Connection interrupted for message type 3 kCFNetworkAgentXPCMessageTypePACQuery
2019-05-09 09:52:17.424108+0300 WordPress[3914:47617693] Received XPC error Connection invalid for message type 3 kCFNetworkAgentXPCMessageTypePACQuery
Tested on Simulator iPhone XR, iOS 12, WPiOS 12.5
Reactions are currently unavailable