【发布时间】:2021-05-06 00:36:13
【问题描述】:
我们的应用已开始在 macOS 10.13.6 上对某些用户崩溃,并出现以下崩溃日志。这并没有告诉我们太多。我们已经尝试进行了几次调整,但没有任何帮助。当我们无法访问用户的机器时,我们如何弄清楚该怎么做?他们尝试过重置应用、重启、重新安装等,但没有任何帮助。
我们尚未收到任何其他 macOS 版本的投诉。已尝试在 Xcode 中启用僵尸以及所有其他与内存相关的调试选项,但没有任何结果(在 macOS 11 上进行测试时)。我们无法在 10.13 上构建,因为我们的代码需要 Xcode 12。
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000103e00cebec8
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]
VM Regions Near 0x103e00cebec8:
CoreAnimation 0000000125666000-0000000125f1f000 [ 8932K] rw-/rwx SM=PRV
-->
MALLOC_NANO 0000600000000000-0000600001e00000 [ 30.0M] rw-/rwx SM=PRV
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x00007fff57f9b184 objc_release + 36
1 libobjc.A.dylib 0x00007fff57f9c087 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 817
2 com.apple.AppKit 0x00007fff2e34039b __37+[NSDisplayCycle currentDisplayCycle]_block_invoke + 244
3 com.apple.QuartzCore 0x00007fff3bff8877 CA::Transaction::run_commit_handlers(CATransactionPhase) + 49
4 com.apple.QuartzCore 0x00007fff3bff7339 CA::Transaction::commit() + 171
5 com.apple.AppKit 0x00007fff2eaf8a72 __65+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayRefresh]_block_invoke + 283
6 com.apple.CoreFoundation 0x00007fff30c88097 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
7 com.apple.CoreFoundation 0x00007fff30c87fbf __CFRunLoopDoObservers + 527
8 com.apple.CoreFoundation 0x00007fff30c6a538 __CFRunLoopRun + 1240
9 com.apple.CoreFoundation 0x00007fff30c69dd3 CFRunLoopRunSpecific + 483
10 com.apple.HIToolbox 0x00007fff2ff54d96 RunCurrentEventLoopInMode + 286
11 com.apple.HIToolbox 0x00007fff2ff54b06 ReceiveNextEventCommon + 613
12 com.apple.HIToolbox 0x00007fff2ff54884 _BlockUntilNextEventMatchingListInModeWithFilter + 64
13 com.apple.AppKit 0x00007fff2e201a3b _DPSNextEvent + 2085
14 com.apple.AppKit 0x00007fff2e997e34 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 3044
15 com.apple.AppKit 0x00007fff2e1f684d -[NSApplication run] + 764
16 com.apple.AppKit 0x00007fff2e1c5a3a NSApplicationMain + 804
17 libdyld.dylib 0x00007fff58bc4015 start + 1
【问题讨论】:
-
你能在 10.13 上测试吗?
-
我在 VMWare 映像上做过,但无法重现。然而,我们的少数用户遇到了完全相同的问题。我已将范围缩小到拨打
[tableView reloadData] -
[tableView reloadData]是否在主线程上调用?也许这会有所帮助:Mac OS X Debugging Magic. -
我是的,但我想我终于成功了。
标签: objective-c macos crash segmentation-fault macos-high-sierra