Since macOS Catalina Xcode app is crashing every night with CVCGDisplayLink exception

1

I have a macOS app with a GUI which runs 24/7 and as of last week worked flawlessly. Three days ago I updated my Mac mini late 2012 to macOS Catalina. I started my app again and it worked. The next morning I encountered an EXC_BAD_ACCESS error which crashed the app (see below for more information). Restarted the app, error reappeared next morning and this morning, too.

Background: I don't expect hardware to have any influence since it was never any issue but still: I have a display attached, which through a connected power plug gets turned off at night and turned on again in the morning.

Here's the error:

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

In the log before the crash this message appears roughly 50 times, not sure if it has anything to do with the crash itself:

CVCGDisplayLink::setCurrentDisplay didn't find a valid display - falling back to 60Hz

and

Could not start the display link: -6661

I attached a screenshot with the threads in question and the last commands. I don't find any connection to my code... The app crashes always at the exact same location (I think).

enter image description here

Any help is highly appreciated! My next step is to leave the display on during the night and see if the error reappears. Even if no, that's no solution as I want the display to sleep during the night and other times...

Here's a crash report:

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

Followed by a million lines of Binary Images followed by this:

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

After adding a symbolic breakpoint to "getDisplayTimes" with bt and restarting the app the code immediately stops to show this situation:

Log:

* 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

and this:

enter image description here

swift
xcode
macos
crash
macos-catalina
asked on Stack Overflow Apr 1, 2020 by Dr. Cashberg • edited Apr 3, 2020 by Dr. Cashberg

1 Answer

0

I haven’t received any answer from Apple (it’s been months!) so I went ahead and downgraded (which I did not want to do) to Mojave. I haven’t had a single hic up or problem since. I am bewildered.

answered on Stack Overflow Jun 9, 2020 by Dr. Cashberg

User contributions licensed under CC BY-SA 3.0