Crash using .searchable bound to viewModel and sidebar placement on macOS
On macOS 14.2.1 (23C71), xCode 15.2 (15C500b)
Reported as FB13541783
Consider this complete SwiftUI macOS app
//
// TestSearchStringInViewModelApp.swift
// TestSearchStringInViewModel
//
// Created by Damian Mehers on 2024-01-15.
//
import SwiftUI
@main
struct TestSearchStringInViewModelApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
struct ContentView: View {
// using @Bindable or plain "var" with a Bindable<ViewModel> object in the code does same thing
@State var viewModel = ViewModel()
var body: some View {
NavigationSplitView {
VStack {
List(1..<5) { n in
Text("\(n)")
}
.listStyle(SidebarListStyle())
// Works if not sidebar or @State searchString
.searchable(text: $viewModel.searchString, placement: .sidebar)
}
} detail: {
Text("Some detail")
}
}
}
@Observable final class ViewModel {
var searchString = ""
}
When you run it, when you tap “a” into the searchbar two “a”s appear, and when they are both deleted you get a crash:
An uncaught exception was raised
*** -[NSBigMutableString substringWithRange:]: Range {0, 1} out of bounds; string length 0
(
0 CoreFoundation 0x00000001820d0570 __exceptionPreprocess + 176
1 libobjc.A.dylib 0x0000000181bc1eb4 objc_exception_throw + 60
2 Foundation 0x0000000183131930 -[NSString _newSubstringWithRange:zone:] + 0
3 AppKit 0x00000001859e6f28 -[NSTextStorage(NSUndo) _undoRedoAttributedSubstringFromRange:] + 140
4 AppKit 0x00000001859e6e04 -[NSUndoTyping initWithAffectedRange:textStorage:undoManager:replacementRange:] + 132
5 AppKit 0x00000001859e6c6c -[NSTextViewSharedData coalesceInTextView:affectedRange:replacementRange:] + 308
6 AppKit 0x00000001859e5f38 -[NSTextView(NSSharing) shouldChangeTextInRanges:replacementStrings:] + 968
7 AppKit 0x00000001861f9d18 -[NSTextView performValidatedReplacementInRange:withAttributedString:] + 196
8 SwiftUI 0x00000001ae4223d8 OUTLINED_FUNCTION_6 + 2648
9 SwiftUI 0x00000001ae53c724 OUTLINED_FUNCTION_1 + 8004
10 SwiftUI 0x00000001ae53bfd4 OUTLINED_FUNCTION_1 + 6132
11 SwiftUI 0x00000001ae53ba8c OUTLINED_FUNCTION_1 + 4780
12 SwiftUI 0x00000001ae53acb8 OUTLINED_FUNCTION_1 + 1240
13 SwiftUI 0x00000001aced8030 OUTLINED_FUNCTION_38 + 907680
14 SwiftUI 0x00000001ad00cae4 OUTLINED_FUNCTION_38 + 2171988
15 SwiftUI 0x00000001ad0eacc4 objectdestroy.127Tm + 5004
16 SwiftUI 0x00000001ae4045e0 OUTLINED_FUNCTION_2 + 31536
17 SwiftUI 0x00000001ad0084cc OUTLINED_FUNCTION_38 + 2154044
18 SwiftUI 0x00000001acff47b8 OUTLINED_FUNCTION_38 + 2072872
19 SwiftUI 0x00000001ad17aa28 objectdestroy.2265Tm + 6976
20 AttributeGraph 0x00000001aea237a4 _ZN2AG5Graph11UpdateStack6updateEv + 512
21 AttributeGraph 0x00000001aea23fe0 _ZN2AG5Graph16update_attributeENS_4data3ptrINS_4NodeEEEj + 424
22 AttributeGraph 0x00000001aea32828 _ZN2AG8Subgraph6updateEj + 848
23 SwiftUI 0x00000001ae32a2dc OUTLINED_FUNCTION_5 + 12088
24 SwiftUI 0x00000001adc8b68c OUTLINED_FUNCTION_10 + 6360
25 SwiftUI 0x00000001ad58fd6c OUTLINED_FUNCTION_58 + 1312
26 SwiftUI 0x00000001ad58fc34 OUTLINED_FUNCTION_58 + 1000
27 libswiftObservation.dylib 0x0000000222ed8558 $s11Observation0A8TrackingV08_installB0_7willSet03didE0yAC_yACYbcSgAGtFZAC2IdOAC5EntryVXEfU_yyYbcfU2_TATm + 48
28 libswiftObservation.dylib 0x0000000222ed8670 $sIegh_ytIeghr_TRTA + 28
29 libswiftObservation.dylib 0x0000000222ed682c $s11Observation0A9RegistrarV7ContextV7willSet_7keyPathyx_s03KeyG0Cyxq_GtAA10ObservableRzr0_lFTf4dnn_n + 568
30 libswiftObservation.dylib 0x0000000222ed725c $s11Observation0A9RegistrarV7willSet_7keyPathyx_s03KeyF0Cyxq_GtAA10ObservableRzr0_lFTf4dnn_n + 60
31 libswiftObservation.dylib 0x0000000222ed2158 $s11Observation0A9RegistrarV12withMutation2of7keyPath_q0_x_s03KeyG0Cyxq_Gq0_yKXEtKAA10ObservableRzr1_lF + 80
32 TestSearchStringInViewModel 0x000000010018dbf4 $s27TestSearchStringInViewModel0eF0C12withMutation7keyPath_q_s03KeyJ0CyACxG_q_yKXEtKr0_lF + 284
33 TestSearchStringInViewModel 0x000000010018d5b8 $s27TestSearchStringInViewModel0eF0C06searchC0SSvs + 156
34 TestSearchStringInViewModel 0x000000010018d504 $s27TestSearchStringInViewModel0eF0C06searchC0SSvpACTk + 88
35 libswiftCore.dylib 0x000000019198c560 $ss26NonmutatingWritebackBufferCfD + 312
36 libswiftCore.dylib 0x0000000191bbddb0 _swift_release_dealloc + 56
37 libswiftCore.dylib 0x0000000191bbea8c _ZN5swift9RefCountsINS_13RefCountBitsTILNS_19RefCountInlinednessE1EEEE15doDecrementSlowILNS_13PerformDeinitE1EEEbS3_j + 136
38 libswiftCore.dylib 0x000000019198dd2c swift_setAtReferenceWritableKeyPath + 244
39 SwiftUI 0x00000001ad28b210 OUTLINED_FUNCTION_7 + 1520
40 SwiftUI 0x00000001ad28b32c OUTLINED_FUNCTION_7 + 1804
41 SwiftUI 0x00000001ae27b25c OUTLINED_FUNCTION_1 + 9376
42 SwiftUI 0x00000001ad28b128 OUTLINED_FUNCTION_7 + 1288
43 SwiftUI 0x00000001adb31b08 OUTLINED_FUNCTION_0 + 1256
44 SwiftUI 0x00000001ae49dac8 objectdestroy.2Tm + 3400
45 SwiftUI 0x00000001adb31b08 OUTLINED_FUNCTION_0 + 1256
46 SwiftUI 0x00000001adb33b6c OUTLINED_FUNCTION_0 + 9548
47 SwiftUI 0x00000001adb31b08 OUTLINED_FUNCTION_0 + 1256
48 SwiftUI 0x00000001adb32f34 OUTLINED_FUNCTION_0 + 6420
49 SwiftUI 0x00000001adb332dc OUTLINED_FUNCTION_0 + 7356
50 SwiftUI 0x00000001adb31b08 OUTLINED_FUNCTION_0 + 1256
51 SwiftUI 0x00000001adb32f34 OUTLINED_FUNCTION_0 + 6420
52 SwiftUI 0x00000001adb332dc OUTLINED_FUNCTION_0 + 7356
53 SwiftUI 0x00000001adb31b08 OUTLINED_FUNCTION_0 + 1256
54 SwiftUI 0x00000001adb32f34 OUTLINED_FUNCTION_0 + 6420
55 SwiftUI 0x00000001adb332dc OUTLINED_FUNCTION_0 + 7356
56 SwiftUI 0x00000001adb31b08 OUTLINED_FUNCTION_0 + 1256
57 SwiftUI 0x00000001adb33b9c OUTLINED_FUNCTION_0 + 9596
58 SwiftUI 0x00000001adb31b08 OUTLINED_FUNCTION_0 + 1256
59 SwiftUI 0x00000001adb33b6c OUTLINED_FUNCTION_0 + 9548
60 SwiftUI 0x00000001adb31b08 OUTLINED_FUNCTION_0 + 1256
61 SwiftUI 0x00000001adb32f34 OUTLINED_FUNCTION_0 + 6420
62 SwiftUI 0x00000001adb332dc OUTLINED_FUNCTION_0 + 7356
63 SwiftUI 0x00000001adb31b08 OUTLINED_FUNCTION_0 + 1256
64 SwiftUI 0x00000001ae575560 OUTLINED_FUNCTION_29 + 16752
65 SwiftUI 0x00000001ae53cb38 OUTLINED_FUNCTION_1 + 9048
66 SwiftUI 0x00000001ae53da54 OUTLINED_FUNCTION_1 + 12916
67 CoreFoundation 0x0000000182050570 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 148
68 CoreFoundation 0x00000001820e465c ___CFXRegistrationPost_block_invoke + 88
69 CoreFoundation 0x00000001820e45a4 _CFXRegistrationPost + 440
70 CoreFoundation 0x000000018201f1dc _CFXNotificationPost + 764
71 Foundation 0x0000000183111ff0 -[NSNotificationCenter postNotificationName:object:userInfo:] + 88
72 CoreFoundation 0x0000000182050570 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 148
73 CoreFoundation 0x00000001820e465c ___CFXRegistrationPost_block_invoke + 88
74 CoreFoundation 0x00000001820e45a4 _CFXRegistrationPost + 440
75 CoreFoundation 0x000000018201f1dc _CFXNotificationPost + 764
76 Foundation 0x0000000183111ff0 -[NSNotificationCenter postNotificationName:object:userInfo:] + 88
77 AppKit 0x00000001859e7ac4 -[NSTextView(NSSharing) didChangeText] + 332
78 AppKit 0x0000000185b0b144 _NSDoUserReplaceForCharRange + 452
79 AppKit 0x0000000185b4c5d0 -[NSTextView(NSKeyBindingCommands) deleteBackward:] + 664
80 AppKit 0x0000000185a91248 -[NSTextView doCommandBySelector:] + 176
81 AppKit 0x0000000185a91158 -[NSTextInputContext(NSInputContext_WithCompletion) doCommandBySelector:completionHandler:] + 228
82 AppKit 0x00000001859e267c -[NSKeyBindingManager(NSKeyBindingManager_MultiClients) interpretEventAsCommand:forClient:] + 1496
83 AppKit 0x00000001859e9fb4 __84-[NSTextInputContext _handleEvent:options:allowingSyntheticEvent:completionHandler:]_block_invoke_5 + 360
84 AppKit 0x00000001864238b0 __84-[NSTextInputContext _handleEvent:options:allowingSyntheticEvent:completionHandler:]_block_invoke_3.711 + 100
85 AppKit 0x00000001859e9e08 -[NSTextInputContext tryHandleEvent_HasMarkedText_withDispatchCondition:dispatchWork:continuation:] + 148
86 AppKit 0x0000000186423810 __84-[NSTextInputContext _handleEvent:options:allowingSyntheticEvent:completionHandler:]_block_invoke.708 + 316
87 HIToolbox 0x000000018c7b5804 __TSMProcessRawKeyEventWithOptionsAndCompletionHandler_block_invoke_6 + 96
88 HIToolbox 0x000000018c650d04 ___ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec_block_invoke + 148
89 AppKit 0x000000018641e4f4 __55-[NSTextInputContext handleTSMEvent:completionHandler:]_block_invoke.186 + 576
90 AppKit 0x00000001859e4538 __55-[NSTextInputContext handleTSMEvent:completionHandler:]_block_invoke_2 + 100
91 AppKit 0x00000001859e4484 -[NSTextInputContext tryHandleTSMEvent_HasMarkedText_withDispatchCondition:dispatchWork:continuation:] + 148
92 AppKit 0x00000001859e39fc -[NSTextInputContext handleTSMEvent:completionHandler:] + 2044
93 AppKit 0x00000001859e3194 _NSTSMEventHandler + 332
94 HIToolbox 0x000000018c5e0894 _ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec + 1228
95 HIToolbox 0x000000018c5dfc98 _ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec + 356
96 HIToolbox 0x000000018c5dfb28 SendEventToEventTargetWithOptions + 44
97 HIToolbox 0x000000018c63ce30 SendTSMEvent_WithCompletionHandler + 432
98 HIToolbox 0x000000018c63d380 __SendUnicodeTextAEToUnicodeDoc_WithCompletionHandler_block_invoke + 456
99 HIToolbox 0x000000018c63d18c __SendFilterTextEvent_WithCompletionHandler_block_invoke + 228
100 HIToolbox 0x000000018c63ce88 SendTSMEvent_WithCompletionHandler + 520
101 HIToolbox 0x000000018c63cc38 SendFilterTextEvent_WithCompletionHandler + 260
102 HIToolbox 0x000000018c63c86c SendUnicodeTextAEToUnicodeDoc_WithCompletionHandler + 296
103 HIToolbox 0x000000018c63c5f8 __utDeliverTSMEvent_WithCompletionHandler_block_invoke_2 + 320
104 HIToolbox 0x000000018c63c37c __utDeliverTSMEvent_WithCompletionHandler_block_invoke + 284
105 HIToolbox 0x000000018c63c1e0 TSMKeyEvent_WithCompletionHandler + 588
106 HIToolbox 0x000000018c640a18 __TSMProcessRawKeyEventWithOptionsAndCompletionHandler_block_invoke_5 + 312
107 HIToolbox 0x000000018c63bf7c __TSMProcessRawKeyEventWithOptionsAndCompletionHandler_block_invoke_4 + 408
108 HIToolbox 0x000000018c63bd34 __TSMProcessRawKeyEventWithOptionsAndCompletionHandler_block_invoke_3 + 352
109 HIToolbox 0x000000018c63ba10 __TSMProcessRawKeyEventWithOptionsAndCompletionHandler_block_invoke_2 + 312
110 HIToolbox 0x000000018c63b71c __TSMProcessRawKeyEventWithOptionsAndCompletionHandler_block_invoke + 312
111 HIToolbox 0x000000018c629388 TSMProcessRawKeyEventWithOptionsAndCompletionHandler + 2308
112 AppKit 0x00000001864236c4 __84-[NSTextInputContext _handleEvent:options:allowingSyntheticEvent:completionHandler:]_block_invoke_3.704 + 148
113 AppKit 0x00000001864233a0 __204-[NSTextInputContext tryTSMProcessRawKeyEvent_orSubstitution:dispatchCondition:setupForDispatch:furtherCondition:doubleSpaceSubstitutionCondition:doubleSpaceSubstitutionWork:dispatchTSMWork:continuation:]_block_invoke.687 + 192
114 AppKit 0x00000001859e1f50 -[NSTextInputContext tryTSMProcessRawKeyEvent_orSubstitution:dispatchCondition:setupForDispatch:furtherCondition:doubleSpaceSubstitutionCondition:doubleSpaceSubstitutionWork:dispatchTSMWork:continuation:] + 336
115 AppKit 0x00000001859e1978 -[NSTextInputContext _handleEvent:options:allowingSyntheticEvent:completionHandler:] + 1456
116 AppKit 0x00000001859e1388 -[NSTextInputContext _handleEvent:allowingSyntheticEvent:] + 132
117 AppKit 0x00000001859e11e0 -[NSView interpretKeyEvents:] + 156
118 AppKit 0x00000001859e1034 -[NSTextView keyDown:] + 524
119 SwiftUI 0x00000001ae699dfc OUTLINED_FUNCTION_14 + 38788
120 SwiftUI 0x00000001ae69a1a0 OUTLINED_FUNCTION_14 + 39720
121 SwiftUI 0x00000001ada85d04 OUTLINED_FUNCTION_0 + 76892
122 SwiftUI 0x00000001ada85f14 OUTLINED_FUNCTION_0 + 77420
123 AppKit 0x0000000185962810 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 480
124 AppKit 0x000000018596245c -[NSWindow(NSEventRouting) sendEvent:] + 284
125 AppKit 0x000000018600f9f4 -[NSApplication(NSEventRouting) sendEvent:] + 1604
126 AppKit 0x0000000185c5e908 -[NSApplication _handleEvent:] + 60
127 AppKit 0x0000000185829d74 -[NSApplication run] + 512
128 AppKit 0x0000000185801014 NSApplicationMain + 880
129 SwiftUI 0x00000001accb4364 OUTLINED_FUNCTION_12 + 15824
130 SwiftUI 0x00000001ad54393c OUTLINED_FUNCTION_3 + 196
131 SwiftUI 0x00000001ad98ad60 OUTLINED_FUNCTION_1 + 152
132 TestSearchStringInViewModel 0x000000010018bbc4 $s27TestSearchStringInViewModel0abcdeF3AppV5$mainyyFZ + 40
133 TestSearchStringInViewModel 0x000000010018e00c main + 12
134 dyld 0x0000000181bfd0e0 start + 2360
)
NSHostingView is being laid out reentrantly while rendering its SwiftUI content. This is not supported and the current layout pass will be skipped.
*** -[NSBigMutableString substringWithRange:]: Range {0, 1} out of bounds; string length 0
(
0 CoreFoundation 0x00000001820d0570 __exceptionPreprocess + 176
1 libobjc.A.dylib 0x0000000181bc1eb4 objc_exception_throw + 60
2 Foundation 0x0000000183131930 -[NSString _newSubstringWithRange:zone:] + 0
3 AppKit 0x00000001859e6f28 -[NSTextStorage(NSUndo) _undoRedoAttributedSubstringFromRange:] + 140
4 AppKit 0x00000001859fff14 -[NSUndoReplaceCharacters initWithAffectedRange:textStorage:undoManager:replacementRange:] + 112
5 AppKit 0x00000001859e5edc -[NSTextView(NSSharing) shouldChangeTextInRanges:replacementStrings:] + 876
6 AppKit 0x00000001861f9d18 -[NSTextView performValidatedReplacementInRange:withAttributedString:] + 196
7 SwiftUI 0x00000001ae4223d8 OUTLINED_FUNCTION_6 + 2648
8 SwiftUI 0x00000001ae53c724 OUTLINED_FUNCTION_1 + 8004
9 SwiftUI 0x00000001ae53bfd4 OUTLINED_FUNCTION_1 + 6132
10 SwiftUI 0x00000001ae53ba8c OUTLINED_FUNCTION_1 + 4780
11 SwiftUI 0x00000001ae53acb8 OUTLINED_FUNCTION_1 + 1240
12 SwiftUI 0x00000001aced8030 OUTLINED_FUNCTION_38 + 907680
13 SwiftUI 0x00000001ad00cae4 OUTLINED_FUNCTION_38 + 2171988
14 SwiftUI 0x00000001ad0eacc4 objectdestroy.127Tm + 5004
15 SwiftUI 0x00000001ae4045e0 OUTLINED_FUNCTION_2 + 31536
16 SwiftUI 0x00000001ad0084cc OUTLINED_FUNCTION_38 + 2154044
17 SwiftUI 0x00000001acff47b8 OUTLINED_FUNCTION_38 + 2072872
18 SwiftUI 0x00000001ad17aa28 objectdestroy.2265Tm + 6976
19 AttributeGraph 0x00000001aea237a4 _ZN2AG5Graph11UpdateStack6updateEv + 512
20 AttributeGraph 0x00000001aea23fe0 _ZN2AG5Graph16update_attributeENS_4data3ptrINS_4NodeEEEj + 424
21 AttributeGraph 0x00000001aea32828 _ZN2AG8Subgraph6updateEj + 848
22 SwiftUI 0x00000001ae32a2dc OUTLINED_FUNCTION_5 + 12088
23 SwiftUI 0x00000001add7f524 OUTLINED_FUNCTION_23 + 74788
24 SwiftUI 0x00000001add7dd8c OUTLINED_FUNCTION_23 + 68748
25 SwiftUI 0x00000001ad1b6830 OUTLINED_FUNCTION_151 + 56568
26 SwiftUI 0x00000001ad1b6878 OUTLINED_FUNCTION_151 + 56640
27 AppKit 0x00000001863fd9e0 -[NSTableRowData enumerateAvailableRowViewsIncludingOrphanRows:usingBlock:] + 168
28 SwiftUI 0x00000001add7c968 OUTLINED_FUNCTION_23 + 63592
29 SwiftUI 0x00000001add7b6ac OUTLINED_FUNCTION_23 + 58796
30 SwiftUI 0x00000001add7a0dc OUTLINED_FUNCTION_23 + 53212
31 SwiftUI 0x00000001ad44cc64 OUTLINED_FUNCTION_0 + 16392
32 SwiftUI 0x00000001ad451e9c __swift_memcpy216_8 + 904
33 SwiftUI 0x00000001ae27b25c OUTLINED_FUNCTION_1 + 9376
34 SwiftUI 0x00000001ad44c930 OUTLINED_FUNCTION_0 + 15572
35 SwiftUI 0x00000001adeecb6c __swift_allocate_boxed_opaque_existential_1Tm + 268
36 AttributeGraph 0x00000001aea237a4 _ZN2AG5Graph11UpdateStack6updateEv + 512
37 AttributeGraph 0x00000001aea23fe0 _ZN2AG5Graph16update_attributeENS_4data3ptrINS_4NodeEEEj + 424
38 AttributeGraph 0x00000001aea32828 _ZN2AG8Subgraph6updateEj + 848
39 SwiftUI 0x00000001ae32a2dc OUTLINED_FUNCTION_5 + 12088
40 SwiftUI 0x00000001ae401e6c OUTLINED_FUNCTION_2 + 21436
41 SwiftUI 0x00000001ae3feb10 OUTLINED_FUNCTION_2 + 8288
42 SwiftUI 0x00000001ada81a84 OUTLINED_FUNCTION_0 + 59868
43 SwiftUI 0x00000001ada8d0a0 OUTLINED_FUNCTION_0 + 106488
44 SwiftUI 0x00000001ada81f18 OUTLINED_FUNCTION_0 + 61040
45 AppKit 0x000000018584d6f4 +[NSAnimationContext runAnimationGroup:] + 56
46 SwiftUI 0x00000001ada81960 OUTLINED_FUNCTION_0 + 59576
47 SwiftUI 0x00000001ada81f58 OUTLINED_FUNCTION_0 + 61104
48 AppKit 0x00000001862c8af4 ___NSViewLayout_block_invoke + 592
49 AppKit 0x0000000185878714 NSPerformVisuallyAtomicChange + 108
50 AppKit 0x000000018587d244 _NSViewLayout + 96
51 AppKit 0x00000001862bf0cc __36-[NSView _layoutSubtreeWithOldSize:]_block_invoke + 364
52 AppKit 0x0000000185878714 NSPerformVisuallyAtomicChange + 108
53 AppKit 0x000000018587d1d8 -[NSView _layoutSubtreeWithOldSize:] + 100
54 AppKit 0x00000001862bf210 __36-[NSView _layoutSubtreeWithOldSize:]_block_invoke + 688
55 AppKit 0x0000000185878714 NSPerformVisuallyAtomicChange + 108
56 AppKit 0x000000018587d1d8 -[NSView _layoutSubtreeWithOldSize:] + 100
57 AppKit 0x00000001862bfbb4 __56-[NSView _layoutSubtreeIfNeededAndAllowTemporaryEngine:]_block_invoke + 796
58 AppKit 0x0000000185878714 NSPerformVisuallyAtomicChange + 108
59 AppKit 0x000000018587cd98 -[NSView _layoutSubtreeIfNeededAndAllowTemporaryEngine:] + 100
60 AppKit 0x0000000185878714 NSPerformVisuallyAtomicChange + 108
61 AppKit 0x000000018587cd28 -[NSView layoutSubtreeIfNeeded] + 96
62 AppKit 0x000000018656af20 -[NSWindow(NSConstraintBasedLayoutInternal) _layoutViewTree] + 104
63 AppKit 0x000000018656b0a8 -[NSWindow(NSConstraintBasedLayoutInternal) layoutIfNeeded] + 240
64 AppKit 0x00000001858db94c __NSWindowGetDisplayCycleObserverForLayout_block_invoke + 364
65 AppKit 0x00000001858daee8 NSDisplayCycleObserverInvoke + 168
66 AppKit 0x00000001858dab44 NSDisplayCycleFlush + 644
67 QuartzCore 0x000000018a11dfb4 _ZN2CA11Transaction19run_commit_handlersE18CATransactionPhase + 120
68 QuartzCore 0x000000018a11cd54 _ZN2CA11Transaction6commitEv + 320
69 AppKit 0x000000018595eec8 __62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke + 272
70 AppKit 0x0000000186304558 ___NSRunLoopObserverCreateWithHandler_block_invoke + 64
71 CoreFoundation 0x000000018205adf0 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 36
72 CoreFoundation 0x000000018205acdc __CFRunLoopDoObservers + 532
73 CoreFoundation 0x000000018205a30c __CFRunLoopRun + 776
74 CoreFoundation 0x00000001820599ac CFRunLoopRunSpecific + 608
75 HIToolbox 0x000000018c608448 RunCurrentEventLoopInMode + 292
76 HIToolbox 0x000000018c6080d8 ReceiveNextEventCommon + 220
77 HIToolbox 0x000000018c607fdc _BlockUntilNextEventMatchingListInModeWithFilter + 76
78 AppKit 0x00000001858368a4 _DPSNextEvent + 660
79 AppKit 0x0000000186010980 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 716
80 AppKit 0x0000000185829d50 -[NSApplication run] + 476
81 AppKit 0x0000000185801014 NSApplicationMain + 880
82 SwiftUI 0x00000001accb4364 OUTLINED_FUNCTION_12 + 15824
83 SwiftUI 0x00000001ad54393c OUTLINED_FUNCTION_3 + 196
84 SwiftUI 0x00000001ad98ad60 OUTLINED_FUNCTION_1 + 152
85 TestSearchStringInViewModel 0x000000010018bbc4 $s27TestSearchStringInViewModel0abcdeF3AppV5$mainyyFZ + 40
86 TestSearchStringInViewModel 0x000000010018e00c main + 12
87 dyld 0x0000000181bfd0e0 start + 2360
)