swift - 由于 macOS Catalina Xcode 应用程序每晚都会因 CVCGDisplayLink 异常而崩溃

标签 swift xcode macos crash macos-catalina

我有一个带有 GUI 的 macOS 应用程序,它运行 24/7 并且截至上周完美运行。三天前,我在 2012 年底将我的 Mac mini 更新为 macOS Catalina。我再次启动了我的应用程序并且它有效。第二天早上,我遇到了一个 EXC_BAD_ACCESS 错误,导致应用程序崩溃(有关更多信息,请参见下文)。重新启动应用程序,第二天早上和今天早上再次出现错误。

背景:我不认为硬件会产生任何影响,因为它从来都不是问题,但仍然:我连接了一个显示器,通过连接的电源插头在晚上关闭并在早上再次打开。

这是错误:

CVDisplayLink (989): EXC_BAD_ACCESS (code=1, address=0x40)

在崩溃前的日志中,这条消息出现了大约 50 次,不确定它是否与崩溃本身有关:
CVCGDisplayLink::setCurrentDisplay didn't find a valid display - falling back to 60Hz


Could not start the display link: -6661

我附上了一个带有问题线程和最后命令的屏幕截图。我没有找到与我的代码的任何联系......该应用程序总是在完全相同的位置崩溃(我认为)。

enter image description here

非常感谢任何帮助!我的下一步是在夜间打开显示器,看看错误是否再次出现。即使没有,那也不是解决方案,因为我希望显示器在夜间和其他时间 sleep ......

这是一个崩溃报告:
Process:               FIPS [29505]
Path:                  /Applications/FIPS.app/Contents/MacOS/FIPS
Identifier:            xxx.xxxxxxxx.FIPS
Version:               1.0 (1)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           FIPS [29505]
User ID:               502

Date/Time:             2020-03-29 23:28:13.101 +0200
OS Version:            Mac OS X 10.15.4 (19E266)
Report Version:        12
Anonymous UUID:        571E7574-0586-B5D1-F56D-FDC0D2261660


Time Awake Since Boot: 86000 seconds

System Integrity Protection: enabled

Crashed Thread:        17  CVDisplayLink

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000040
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [29505]

VM Regions Near 0x40:
--> 
    __TEXT                 000000010510d000-000000010517f000 [  456K] r-x/r-x SM=COW  /Applications/FIPS.app/Contents/MacOS/FIPS

Thread 0:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib          0x00007fff6f55fdfa mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fff6f560170 mach_msg + 60
2   com.apple.SkyLight              0x00007fff646fa418 SLSCopyManagedDisplayForSpace + 225
3   com.apple.AppKit                0x00007fff329ccc68 _NSDisplayUUIDForSpace + 42
4   com.apple.AppKit                0x00007fff33137f50 -[_NSFullScreenSpace screen] + 47
5   com.apple.AppKit                0x00007fff326a4b7e +[_NSFullScreenSpace visibleFullScreenSpaceOnScreen:] + 312
6   com.apple.AppKit                0x00007fff326a49fa -[NSScreen _menuBarHeight] + 76
7   com.apple.AppKit                0x00007fff326a4998 -[NSScreen _layoutFrame] + 71
8   com.apple.AppKit                0x00007fff326e314a -[NSScreen visibleFrame] + 44
9   com.apple.AppKit                0x00007fff326e23b6 -[NSWindow(NSWindowResizing) _resizableEdgesForGrowing:shrinking:] + 587
10  com.apple.AppKit                0x00007fff3287100b -[NSWindow(NSWindowResizing) _resizeDirectionForMouseLocation:] + 225
11  com.apple.AppKit                0x00007fff32870e86 -[NSWindow(NSWindowResizing) _edgeResizingCursorUpdate:atLocation:] + 227
12  com.apple.AppKit                0x00007fff32870a22 -[NSWindow(NSCursorRects) _setCursorForMouseLocation:] + 179
13  com.apple.AppKit                0x00007fff32781599 _NSWindowDisplayCycleUpdateStructuralRegions + 571
14  com.apple.AppKit                0x00007fff3277bcc4 __NSWindowGetDisplayCycleObserverForUpdateStructuralRegions_block_invoke + 420
15  com.apple.AppKit                0x00007fff32773e52 NSDisplayCycleObserverInvoke + 155
16  com.apple.AppKit                0x00007fff327739dc NSDisplayCycleFlush + 937
17  com.apple.QuartzCore            0x00007fff40f07454 CA::Transaction::run_commit_handlers(CATransactionPhase) + 106
18  com.apple.QuartzCore            0x00007fff40f06166 CA::Transaction::commit() + 230
19  com.apple.AppKit                0x00007fff3282fa01 __62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke + 266
20  com.apple.AppKit                0x00007fff32f4e950 ___NSRunLoopObserverCreateWithHandler_block_invoke + 41
21  com.apple.CoreFoundation        0x00007fff3542402c __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
22  com.apple.CoreFoundation        0x00007fff35423f5c __CFRunLoopDoObservers + 457
23  com.apple.CoreFoundation        0x00007fff354234f4 __CFRunLoopRun + 884
24  com.apple.CoreFoundation        0x00007fff35422b23 CFRunLoopRunSpecific + 466
25  com.apple.HIToolbox             0x00007fff34044abd RunCurrentEventLoopInMode + 292
26  com.apple.HIToolbox             0x00007fff340447d5 ReceiveNextEventCommon + 584
27  com.apple.HIToolbox             0x00007fff34044579 _BlockUntilNextEventMatchingListInModeWithFilter + 64
28  com.apple.AppKit                0x00007fff3268fc99 _DPSNextEvent + 883
29  com.apple.AppKit                0x00007fff3268e4e0 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
30  com.apple.AppKit                0x00007fff326801ee -[NSApplication run] + 658
31  com.apple.AppKit                0x00007fff32651ff6 NSApplicationMain + 777
32  xxx.xxxxxxx.FIPS                0x000000010510fb49 main + 9 (AppDelegate.swift:12)
33  libdyld.dylib                   0x00007fff6f41ecc9 start + 1

Thread 1:: JavaScriptCore bmalloc scavenger
0   libsystem_kernel.dylib          0x00007fff6f562882 __psynch_cvwait + 10
1   libsystem_pthread.dylib         0x00007fff6f627425 _pthread_cond_wait + 698
2   libc++.1.dylib                  0x00007fff6c6fa623 std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >) + 93
3   com.apple.JavaScriptCore        0x00007fff39c42a75 bmalloc::Scavenger::threadRunLoop() + 741
4   com.apple.JavaScriptCore        0x00007fff39c42489 bmalloc::Scavenger::threadEntryPoint(bmalloc::Scavenger*) + 9
5   com.apple.JavaScriptCore        0x00007fff39c44b67 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(bmalloc::Scavenger*), bmalloc::Scavenger*> >(void*) + 39
6   libsystem_pthread.dylib         0x00007fff6f627109 _pthread_start + 148
7   libsystem_pthread.dylib         0x00007fff6f622b8b thread_start + 15

Thread 2:: com.apple.NSURLConnectionLoader
0   libsystem_kernel.dylib          0x00007fff6f55fdfa mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fff6f560170 mach_msg + 60
2   com.apple.CoreFoundation        0x00007fff35424bf7 __CFRunLoopServiceMachPort + 247
3   com.apple.CoreFoundation        0x00007fff354236b1 __CFRunLoopRun + 1329
4   com.apple.CoreFoundation        0x00007fff35422b23 CFRunLoopRunSpecific + 466
5   com.apple.CFNetwork             0x00007fff33c5009a 0x7fff33c06000 + 303258
6   com.apple.Foundation            0x00007fff37ad1882 __NSThread__start__ + 1064
7   libsystem_pthread.dylib         0x00007fff6f627109 _pthread_start + 148
8   libsystem_pthread.dylib         0x00007fff6f622b8b thread_start + 15

Thread 3:: com.apple.NSEventThread
0   libsystem_kernel.dylib          0x00007fff6f55fdfa mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fff6f560170 mach_msg + 60
2   com.apple.SkyLight              0x00007fff645a58d7 CGSSnarfAndDispatchDatagrams + 237
3   com.apple.SkyLight              0x00007fff647d55a5 SLSGetNextEventRecordInternal + 83
4   com.apple.SkyLight              0x00007fff64673fbe SLEventCreateNextEvent + 136
5   com.apple.HIToolbox             0x00007fff34051da6 PullEventsFromWindowServerOnConnection(unsigned int, unsigned char, __CFMachPortBoost*) + 268
6   com.apple.HIToolbox             0x00007fff34051c72 MessageHandler(__CFMachPort*, void*, long, void*) + 48
7   com.apple.CoreFoundation        0x00007fff35453983 __CFMachPortPerform + 250
8   com.apple.CoreFoundation        0x00007fff35425003 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 41
9   com.apple.CoreFoundation        0x00007fff35424f52 __CFRunLoopDoSource1 + 541
10  com.apple.CoreFoundation        0x00007fff35423a6c __CFRunLoopRun + 2284
11  com.apple.CoreFoundation        0x00007fff35422b23 CFRunLoopRunSpecific + 466
12  com.apple.AppKit                0x00007fff328315b4 _NSEventThread + 132
13  libsystem_pthread.dylib         0x00007fff6f627109 _pthread_start + 148
14  libsystem_pthread.dylib         0x00007fff6f622b8b thread_start + 15

Thread 4:: com.apple.coreanimation.render-server
0   libsystem_kernel.dylib          0x00007fff6f55fdfa mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fff6f560170 mach_msg + 60
2   com.apple.QuartzCore            0x00007fff40f4f1c2 CA::Render::Server::server_thread(void*) + 496
3   com.apple.QuartzCore            0x00007fff40f4efc3 thread_fun(void*) + 25
4   libsystem_pthread.dylib         0x00007fff6f627109 _pthread_start + 148
5   libsystem_pthread.dylib         0x00007fff6f622b8b thread_start + 15

Thread 5:: com.apple.coreaudio.AQClient
0   libsystem_kernel.dylib          0x00007fff6f55fdfa mach_msg_trap + 10
1   libsystem_kernel.dylib          0x00007fff6f560170 mach_msg + 60
2   com.apple.CoreFoundation        0x00007fff35424bf7 __CFRunLoopServiceMachPort + 247
3   com.apple.CoreFoundation        0x00007fff354236b1 __CFRunLoopRun + 1329
4   com.apple.CoreFoundation        0x00007fff35422b23 CFRunLoopRunSpecific + 466
5   com.apple.audio.toolbox.AudioToolbox    0x00007fff337a44cc GenericRunLoopThread::Entry(void*) + 166
6   libAudioToolboxUtility.dylib    0x00007fff6bda96c9 CAPThread::Entry(CAPThread*) + 77
7   libsystem_pthread.dylib         0x00007fff6f627109 _pthread_start + 148
8   libsystem_pthread.dylib         0x00007fff6f622b8b thread_start + 15

Thread 6:
0   libsystem_kernel.dylib          0x00007fff6f55fe36 semaphore_wait_trap + 10
1   com.apple.audio.caulk           0x00007fff68f6ab16 caulk::mach::semaphore::wait() + 16
2   com.apple.audio.caulk           0x00007fff68f6a9b2 caulk::semaphore::timed_wait(double) + 106
3   com.apple.audio.caulk           0x00007fff68f6a7c4 caulk::concurrent::details::worker_thread::run() + 30
4   com.apple.audio.caulk           0x00007fff68f6a1e4 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*> > >(void*) + 45
5   libsystem_pthread.dylib         0x00007fff6f627109 _pthread_start + 148
6   libsystem_pthread.dylib         0x00007fff6f622b8b thread_start + 15

Thread 7:: AMCP Logging Spool
0   libsystem_kernel.dylib          0x00007fff6f55fe36 semaphore_wait_trap + 10
1   com.apple.audio.caulk           0x00007fff68f6ab16 caulk::mach::semaphore::wait() + 16
2   com.apple.audio.caulk           0x00007fff68f6a9b2 caulk::semaphore::timed_wait(double) + 106
3   com.apple.audio.caulk           0x00007fff68f6a7c4 caulk::concurrent::details::worker_thread::run() + 30
4   com.apple.audio.caulk           0x00007fff68f6a1e4 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*> > >(void*) + 45
5   libsystem_pthread.dylib         0x00007fff6f627109 _pthread_start + 148
6   libsystem_pthread.dylib         0x00007fff6f622b8b thread_start + 15

Thread 8:
0   libsystem_pthread.dylib         0x00007fff6f622b68 start_wqthread + 0

Thread 9:
0   libsystem_pthread.dylib         0x00007fff6f622b68 start_wqthread + 0

Thread 10:
0   libsystem_pthread.dylib         0x00007fff6f622b68 start_wqthread + 0

Thread 11:
0   libsystem_pthread.dylib         0x00007fff6f622b68 start_wqthread + 0

Thread 12:
0   libsystem_pthread.dylib         0x00007fff6f622b68 start_wqthread + 0

Thread 13:
0   libsystem_pthread.dylib         0x00007fff6f622b68 start_wqthread + 0

Thread 14:
0   libsystem_pthread.dylib         0x00007fff6f622b68 start_wqthread + 0

Thread 15:: CVDisplayLink
0   libsystem_kernel.dylib          0x00007fff6f562882 __psynch_cvwait + 10
1   libsystem_pthread.dylib         0x00007fff6f627457 _pthread_cond_wait + 748
2   com.apple.CoreVideo             0x00007fff373d7d2b CVDisplayLink::waitUntil(unsigned long long) + 229
3   com.apple.CoreVideo             0x00007fff373d7238 CVDisplayLink::runIOThread() + 482
4   libsystem_pthread.dylib         0x00007fff6f627109 _pthread_start + 148
5   libsystem_pthread.dylib         0x00007fff6f622b8b thread_start + 15

Thread 16:: CVDisplayLink
0   libsystem_kernel.dylib          0x00007fff6f562882 __psynch_cvwait + 10
1   libsystem_pthread.dylib         0x00007fff6f627457 _pthread_cond_wait + 748
2   com.apple.CoreVideo             0x00007fff373d7d2b CVDisplayLink::waitUntil(unsigned long long) + 229
3   com.apple.CoreVideo             0x00007fff373d7238 CVDisplayLink::runIOThread() + 482
4   libsystem_pthread.dylib         0x00007fff6f627109 _pthread_start + 148
5   libsystem_pthread.dylib         0x00007fff6f622b8b thread_start + 15

Thread 17 Crashed:: CVDisplayLink
0   com.apple.CoreVideo             0x00007fff373d76ab CVCGDisplayLink::getDisplayTimes(unsigned long long*, unsigned long long*, unsigned long long*) + 65
1   com.apple.CoreVideo             0x00007fff373d7525 CVHWTime::update(double, bool*, bool*) + 57
2   com.apple.CoreVideo             0x00007fff373d73de CVXTime::update() + 44
3   com.apple.CoreVideo             0x00007fff373d711c CVDisplayLink::runIOThread() + 198
4   libsystem_pthread.dylib         0x00007fff6f627109 _pthread_start + 148
5   libsystem_pthread.dylib         0x00007fff6f622b8b thread_start + 15

Thread 17 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000600001d56c38  rcx: 0x00007000060c8da8  rdx: 0x00007000060c8db0
  rdi: 0x00007f9e1d18fe20  rsi: 0x00007000060c8db8  rbp: 0x00007000060c8d90  rsp: 0x00007000060c8d60
   r8: 0x000000000009ad1d   r9: 0x00007f9e1d18fe50  r10: 0x00007f9e1d18fe58  r11: 0x0000000000000206
  r12: 0x00007000060c8db8  r13: 0x0000000000000000  r14: 0x00007000060c8e07  r15: 0x00007000060c8db0
  rip: 0x00007fff373d76ab  rfl: 0x0000000000010246  cr2: 0x0000000000000000

Logical CPU:     0
Error Code:      0x00000000
Trap Number:     0

接下来是一百万行二进制图像,然后是:
External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 54
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 16801343
    thread_create: 0
    thread_set_state: 967

VM Region Summary:
ReadOnly portion of Libraries: Total=778.7M resident=0K(0%) swapped_out_or_unallocated=778.7M(100%)
Writable regions: Total=758.5M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=758.5M(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Accelerate framework              1024K        8 
Activity Tracing                   256K        1 
CG backing stores                  440K        2 
CG image                            52K        9 
CoreAnimation                     2940K      146 
CoreData Object IDs               4100K        2 
CoreGraphics                         8K        1 
CoreImage                           12K        3 
CoreUI image data                  392K        7 
Foundation                         956K        5 
IOKit                             7940K        1 
Image IO                          8188K       32 
Kernel Alloc Once                    8K        1 
MALLOC                           593.3M      211 
MALLOC guard page                   48K       11 
MALLOC_NANO (reserved)           128.0M        1         reserved VM address space (unallocated)
Memory Tag 242                      12K        1 
Memory Tag 251                      16K        1 
SQLite page cache                   64K        1 
STACK GUARD                       56.1M       18 
Stack                             17.1M       18 
VM_ALLOCATE                        412K       28 
WebKit Malloc                     8604K       18 
__DATA                            55.1M      502 
__DATA_CONST                       637K       21 
__FONT_DATA                          4K        1 
__GLSLBUILTINS                    5176K        1 
__LINKEDIT                       392.2M       17 
__OBJC_RO                         32.2M        1 
__OBJC_RW                         1892K        2 
__TEXT                           386.5M      487 
__UNICODE                          564K        1 
libnetwork                        1664K       24 
mapped file                      378.0M       74 
shared memory                      668K       18 
===========                     =======  ======= 
TOTAL                              2.0G     1675 
TOTAL, minus reserved VM space     1.9G     1675

使用 bt 向“getDisplayTimes”添加符号断点并重新启动应用程序后,代码立即停止以显示这种情况:

日志:
* thread #17, name = 'CVDisplayLink', stop reason = breakpoint 1.1
  * frame #0: 0x00007fff3910a66a CoreVideo`CVCGDisplayLink::getDisplayTimes(unsigned long long*, unsigned long long*, unsigned long long*)
    frame #1: 0x00007fff3910a525 CoreVideo`CVHWTime::update(double, bool*, bool*) + 57
    frame #2: 0x00007fff3910a3de CoreVideo`CVXTime::update() + 44
    frame #3: 0x00007fff3910a11c CoreVideo`CVDisplayLink::runIOThread() + 198
    frame #4: 0x0000000101047c65 libsystem_pthread.dylib`_pthread_start + 148
    frame #5: 0x00000001010434af libsystem_pthread.dylib`thread_start + 15

还有这个:

enter image description here

最佳答案

我没有收到 Apple 的任何答复(已经几个月了!)所以我继续降级(我不想这样做)到 Mojave。从那以后,我再也没有打嗝或出现问题。我很困惑。

关于swift - 由于 macOS Catalina Xcode 应用程序每晚都会因 CVCGDisplayLink 异常而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60975918/

相关文章:

ios - 如何使用swift 4.1获取url参数的值

ios - 在 SWIFT 中上传带有其他参数的图像

ios - 在 Xcode 机器人上运行单元测试后生成 .gcda 文件

c++ - 架构 x86_64 的 undefined symbol - Mavericks (Yosemite, El Capitan...)

macos - mac os x - sem_open 返回 errno 0,未定义错误

swift - ios13 使用 PHImageManager 获取原始图像

ios - SwiftUI 中的 Animate ViewBuilder 内容大小更改

iphone - Xcode 中基于导航的应用程序不会自动生成窗口和导航 Controller

iphone - plist 到数组 "Collection was mutated while being enumerated"异常

objective-c - 在 Cocoa 应用程序中跟踪实际使用时间