Page MenuHomePhabricator

Tabs - Fix crash related to deleting a tab
Closed, ResolvedPublic1 Estimated Story Points

Description

We have a new crash related to deleting a tab in TestFlight 7.7.6 (5287).

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Reason: *** _oset_getObjectsRange: range {32, 16} extends beyond bounds [0 .. 45]
Termination Reason: SIGNAL 6 Abort trap: 6
Terminating Process: Wikipedia [45186]

Triggered by Thread:  9

Last Exception Backtrace:
0   CoreFoundation                	0x18c45b21c 0x18c341000 + 1155612
1   libobjc.A.dylib               	0x1898f5abc 0x1898c4000 + 203452
2   CoreFoundation                	0x18c398ea0 0x18c341000 + 360096
3   CoreFoundation                	0x18c3ba088 0x18c341000 + 495752
4   Foundation                    	0x18b215bb4 0x18afbb000 + 2468788
5   WMF                           	0x105597ecc specialized WMFArticleTabsDataController.deleteArticleTab(identifier:moc:) + 1092 (/<compiler-generated>:0)
6   WMF                           	0x105591254 closure #1 in WMFArticleTabsDataController.deleteArticleTab(identifier:) + 96
7   WMF                           	0x105595698 partial apply for closure #1 in WMFArticleTabsDataController.deleteArticleTab(identifier:) + 96
8   WMF                           	0x105595170 partial apply for closure #1 in WMFArticleTabsDataController.deleteArticleTab(identifier:) + 20
9   CoreData                      	0x1945f5150 0x19450e000 + 946512
10  CoreData                      	0x1945f4fb0 0x19450e000 + 946096
11  CoreData                      	0x1945129d8 0x19450e000 + 18904
12  libdispatch.dylib             	0x1942e6584 0x1942cb000 + 112004
13  libdispatch.dylib             	0x1942d52d0 0x1942cb000 + 41680
14  libdispatch.dylib             	0x1942d5dac 0x1942cb000 + 44460
15  libdispatch.dylib             	0x1942e01dc 0x1942cb000 + 86492
16  libdispatch.dylib             	0x1942dfa60 0x1942cb000 + 84576
17  libsystem_pthread.dylib       	0x216a68a0c 0x216a68000 + 2572
18  libsystem_pthread.dylib       	0x216a68aac 0x216a68000 + 2732
QA Notes

Can be tested on latest 7.7.6 White icon build. Confirm app does not crash when deleting a tab.

Event Timeline

I was able to reproduce this or something very similar when deleting many tabs in rapid succession. On both iPhone and iPad, after opening many tabs (10+), then deleting them quickly. In some cases, the tabs briefly freeze and then disappear.