MaddTheSane / Boxer

The DOS game emulator that's fit for your Mac.
http://boxerapp.com/
GNU General Public License v2.0
419 stars 38 forks source link

(KVO) Crash on exit #26

Open MaddTheSane opened 3 years ago

MaddTheSane commented 3 years ago

There's a crash on exit due to Key-value observing not being happy:

2021-04-05 12:35:41.568218-0600 Boxer[13480:13258843] [General] Cannot remove an observer <NSKeyValueObservance 0x600001ac4870> for the key path "currentFrame.scaledResolution" from <BXMetalRenderingView 0x12a990600>, most likely because the value for the key "currentFrame" has changed without an appropriate KVO notification being sent. Check the KVO-compliance of the BXMetalRenderingView class.
2021-04-05 12:35:41.573053-0600 Boxer[13480:13258843] [General] (
    0   CoreFoundation                      0x000000019c39a320 __exceptionPreprocess + 240
    1   libobjc.A.dylib                     0x000000019c0c8c04 objc_exception_throw + 60
    2   Foundation                          0x000000019d0c8aa4 -[NSKeyValueNestedProperty object:didRemoveObservance:recurse:] + 672
    3   Foundation                          0x000000019d0975a8 -[NSObject(NSKeyValueObserverRegistration) _removeObserver:forProperty:] + 284
    4   Foundation                          0x000000019d097434 -[NSObject(NSKeyValueObserverRegistration) removeObserver:forKeyPath:] + 88
    5   Foundation                          0x000000019d0c893c -[NSKeyValueNestedProperty object:didRemoveObservance:recurse:] + 312
    6   Foundation                          0x000000019d097bc4 -[NSKeyValueUnnestedProperty object:didRemoveObservance:recurse:] + 204
    7   Foundation                          0x000000019d0975a8 -[NSObject(NSKeyValueObserverRegistration) _removeObserver:forProperty:] + 284
    8   Foundation                          0x000000019d097434 -[NSObject(NSKeyValueObserverRegistration) removeObserver:forKeyPath:] + 88
    9   AppKit                              0x000000019ec7e230 -[NSAutounbinder removeObserver:forKeyPath:] + 204
    10  AppKit                              0x000000019eadbb8c -[NSBinder _updateObservingRegistration:] + 600
    11  AppKit                              0x000000019eb84aa0 -[NSBinder breakConnection] + 112
    12  AppKit                              0x000000019eb84794 -[NSObject(NSKeyValueBindingCreation) unbind:] + 192
    13  AppKit                              0x000000019ec89ec4 -[NSAutounbinder retainBindingTargetAndUnbind] + 148
    14  AppKit                              0x000000019ecc7268 -[NSWindowController release] + 100
    15  Foundation                          0x000000019d1fb84c empty + 76
    16  Foundation                          0x000000019d095650 dealloc + 52
    17  Foundation                          0x000000019d0955c0 -[NSConcreteMapTable dealloc] + 68
    18  AppKit                              0x000000019f1973bc ___NSTouchBarFinderSetNeedsUpdateOnMain_block_invoke_2 + 1764
    19  AppKit                              0x000000019ebc99a0 NSDisplayCycleObserverInvoke + 188
    20  AppKit                              0x000000019ebc951c NSDisplayCycleFlush + 832
    21  QuartzCore                          0x00000001a25a1aa0 _ZN2CA11Transaction19run_commit_handlersE18CATransactionPhase + 120
    22  QuartzCore                          0x00000001a25a08e8 _ZN2CA11Transaction6commitEv + 332
    23  AppKit                              0x000000019ec72c88 __62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke + 304
    24  AppKit                              0x000000019f3c5c6c ___NSRunLoopObserverCreateWithHandler_block_invoke + 64
    25  CoreFoundation                      0x000000019c31be08 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 36
    26  CoreFoundation                      0x000000019c31bc54 __CFRunLoopDoObservers + 576
    27  CoreFoundation                      0x000000019c31b1ac __CFRunLoopRun + 768
    28  CoreFoundation                      0x000000019c31a740 CFRunLoopRunSpecific + 600
    29  HIToolbox                           0x00000001a3e3f5c4 RunCurrentEventLoopInMode + 292
    30  HIToolbox                           0x00000001a3e3f284 ReceiveNextEventCommon + 320
    31  HIToolbox                           0x00000001a3e3f124 _BlockUntilNextEventMatchingListInModeWithFilter + 76
    32  AppKit                              0x000000019eaf482c _DPSNextEvent + 868
    33  AppKit                              0x000000019eaf31ac -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1312
    34  AppKit                              0x000000019eae5060 -[NSApplication run] + 600
    35  AppKit                              0x000000019eab6804 NSApplicationMain + 1064
    36  Boxer                               0x0000000100a539f8 main + 40
    37  libdyld.dylib                       0x000000019c23df34 start + 4
)
MaddTheSane commented 3 years ago

Typing EXIT in the DOS prompt doesn't cause the crash.