Open Kyle-Ye opened 5 months ago
Using "Memory Graph" tool + AGDebugKit + the following helper function, I managed to get the cycled graph.
public func magic(_ inputs: String) {
let substrings = inputs.components(separatedBy: "0x")
// Convert each substring to an Int, using the `strtoul` function
var intArray: [Int] = []
for substring in substrings {
if substring.isEmpty {
continue
}
let intVal = strtoul(substring, nil, 16)
intArray.append(Int(intVal))
}
for (index, intValue) in intArray.enumerated() {
export(intValue, index: index+1)
}
}
func export(_ bitPattern: Int, index: Int) {
let graph = Graph(bitPattern: bitPattern)
let dot = graph.dot ?? ""
let path = URL(fileURLWithPath: "\(NSHomeDirectory())/Downloads/FT/\(index).dot")
do {
try dot.write(to: path, atomically: true, encoding: .utf8)
} catch {
print("Error writing to file: \(error)")
}
}
cycled part graph svg
full graph svg
The svg preview for full graph is not very clear. You'd better download it and view it.
=== Evaluation stack ===
frame 22.0: attribute 119664; count=1, index=0/1 PD
frame 21.0: attribute 119704; count=1, index=0/1 PD
frame 20.0: attribute 126628; count=1, index=0/2 PD
frame 19.0: attribute 132236; count=1, index=0/2 PD
frame 18.0: attribute 138472; count=1, index=0/2 PD
frame 17.0: attribute 138776; count=1, index=0/2 PD
frame 16.0: attribute 142476; count=1, index=0/2 PD
frame 15.0: attribute 144568; count=1, index=0/3 PD
frame 14.0: attribute 144504; count=1, index=0/1 PD
frame 13.0: attribute 138976; count=1, index=0/2 PD
frame 12.0: attribute 139432; count=1, index=0/1 PD
frame 11.0: attribute 126828; count=1, index=0/2 PD
frame 10.0: attribute 127172; count=1, index=0/2 PD
frame 9.0: attribute 127272; count=1, index=0/1 PD
frame 8.0: attribute 127640; count=1, index=0/3 PD
frame 7.0: attribute 127576; count=1, index=0/1 PD
frame 6.0: attribute 127944; count=1, index=0/1 PD
frame 5.0: attribute 119256; count=1, index=0/1 PD
frame 4.0: attribute 121528; count=1, index=0/2 PD
frame 3.0: attribute 121624; count=1, index=0/1 PD
frame 2.0: attribute 121976; count=1, index=0/3 PD
frame 1.0: attribute 121664; count=1, index=0/2 PD
frame 0.0: attribute 119616; count=1, index=0/4 PD
===
With the "Evaluation stack" info, we can get a hint the issue occurs in 142476
and 144568
. Since there is no link between 142476
and 144568
, 142476
's update should not trigger 144568
's udpate.
142476
: DynamicLayoutViewChildGeometry144568
: DynamicContainer<DynamicLayoutViewAdapto…The root issue is proxy.size
call here.
upstream update:
-> frame 22(attribute 119664 - LayoutChildGeometries<...>)
-> ...
-> frame 16(attribute 142476 - DynamicLayoutViewChildGeometry)
-> trigger proxy.size
-> frame 15(attribute 144568 - DynamicContainer<DynamicLayoutViewAdapto…)
-> ...
-> frame 0(attribute 119616 - SheetContentRoot)
-> attribute 119664 [cycle detected]
A more concise example to illustrate this issue:
// Set AG_TRAP_CYCLES=1 in env
@main
struct DemoApp: App {
@State private var sheet = false
var body: some Scene {
WindowGroup {
Button("Open Sheet") { sheet.toggle() }
.sheet(isPresented: $sheet) {
GeometryReader { proxy in
let size = proxy.size // Thread 1: signal SIGABRT
ForEach(0..<10) { Text("\($0.debugDescription)") }
}
}
}
}
}
Filed to Apple via FB13701005
Before Apple fix it, I think we should consider reimplementing related modifiers(eg. SmokeEffect
) at least on macOS platform. cc @mergesort
Apple has disabled SwiftUI symbol since macOS 13. Reproduced the issue on macOS 12.6.1 + Xcode 13.4.1. Here is the full backtrace.
We may also try https://github.com/EmergeTools/ETSymbolication to restore the SwiftUI symbol on macOS 14.
=== AttributeGraph: cycle detected through attribute 529592 ===
2024-04-01 11:18:40.997781+0800 Demo[893:14394] [error] precondition failure: cyclic graph: 529592
AttributeGraph precondition failure: cyclic graph: 529592.
(lldb) bt all
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
frame #0: 0x00000001a42b6d98 libsystem_kernel.dylib`__pthread_kill + 8
frame #1: 0x000000010278ae84 libsystem_pthread.dylib`pthread_kill + 288
frame #2: 0x00000001a4226340 libsystem_c.dylib`abort + 168
frame #3: 0x00000001ca91c208 AttributeGraph`AG::precondition_failure(char const*, ...) + 192
frame #4: 0x00000001ca9160b8 AttributeGraph`AG::Graph::print_cycle(AG::data::ptr<AG::Node>) const + 644
frame #5: 0x00000001ca8fcf0c AttributeGraph`AG::Graph::UpdateStack::push_slow(AG::data::ptr<AG::Node>, AG::Node&, bool, bool) + 124
frame #6: 0x00000001ca8fd8e8 AttributeGraph`AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 560
frame #7: 0x00000001ca904964 AttributeGraph`AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 548
frame #8: 0x00000001ca91b3c8 AttributeGraph`AGGraphGetValue + 240
frame #9: 0x00000001ca17ffd8 SwiftUI`generic specialization <SwiftUI._FormVStackLayout> of SwiftUI.DynamicLayoutComputer.containerInfo.getter : Swift.Optional<SwiftUI.DynamicContainer.Info> + 168
frame #10: 0x00000001ca1a8ec0 SwiftUI`merged generic specialization <SwiftUI.LayoutComputer, SwiftUI.DynamicLayoutComputer<SwiftUI._HStackLayout>> of implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.StatefulRule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 84
frame #11: 0x00000001ca1ba4b0 SwiftUI`partial apply forwarder for generic specialization <SwiftUI.LayoutComputer, SwiftUI.DynamicLayoutComputer<SwiftUI._VStackLayout>> of implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.StatefulRule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 100
frame #12: 0x00000001ca8fd2d4 AttributeGraph`AG::Graph::UpdateStack::update() + 524
frame #13: 0x00000001ca8fd844 AttributeGraph`AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 396
frame #14: 0x00000001ca9048c8 AttributeGraph`AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 392
frame #15: 0x00000001ca91b1b4 AttributeGraph`AGGraphGetInputValue + 272
frame #16: 0x00000001ca686548 SwiftUI`SwiftUI.StackLayout.Header.init(layoutContext: SwiftUI.SizeAndSpacingContext, proxies: SwiftUI.LayoutProxyCollection, majorAxis: SwiftUI.Axis, minorAxisAlignment: SwiftUI.AlignmentKey, uniformSpacing: Swift.Optional<CoreGraphics.CGFloat>, childStorage: Swift.UnsafeMutablePointer<SwiftUI.StackLayout.Child>, capacity: Swift.Int, resizeChildrenWithTrailingOverflow: Swift.Bool) -> SwiftUI.StackLayout.Header + 728
frame #17: 0x00000001ca190190 SwiftUI`function signature specialization <Arg[2] = [Closure Propagated : closure #1 (Swift.AnyObject, (Swift.AnyObject) -> Swift.Int) -> SwiftUI.StackLayout.(Header in _68D684484B5AEF917B6B8353D57CF590) in SwiftUI.StackLayout.init(layoutContext: SwiftUI.SizeAndSpacingContext, children: SwiftUI.LayoutProxyCollection, majorAxis: SwiftUI.Axis, minorAxisAlignment: SwiftUI.AlignmentKey, uniformSpacing: Swift.Optional<CoreGraphics.CGFloat>, resizeChildrenWithTrailingOverflow: Swift.Bool) -> SwiftUI.StackLayout, Argument Types : [SwiftUI.SizeAndSpacingContextSwiftUI.LayoutProxyCollectionSwiftUI.AxisSwiftUI.AlignmentKeySwift.Optional<CoreGraphics.CGFloat>Swift.Bool]> of generic specialization <SwiftUI.StackLayout.Header, SwiftUI.StackLayout.Child> of Swift.ManagedBufferPointer.init(bufferClass: Swift.AnyObject.Type, minimumCapacity: Swift.Int, makingHeaderWith: (Swift.AnyObject, (Swift.AnyObject) -> Swift.Int) throws -> τ_0_0) throws -> Swift.ManagedBufferPointer<τ_0_0, τ_0_1> + 268
frame #18: 0x00000001ca240ca4 SwiftUI`merged generic specialization <SwiftUI._HStackLayout> of SwiftUI.HVStack.sizeThatFits(in: SwiftUI._ProposedSize, context: SwiftUI.SizeAndSpacingContext, children: SwiftUI.LayoutProxyCollection) -> __C.CGSize + 192
frame #19: 0x00000001ca241030 SwiftUI`merged protocol witness for SwiftUI._Layout.sizeThatFits(in: SwiftUI._ProposedSize, context: SwiftUI.SizeAndSpacingContext, children: SwiftUI.LayoutProxyCollection) -> __C.CGSize in conformance SwiftUI._HStackLayout : SwiftUI._Layout in SwiftUI + 108
frame #20: 0x00000001ca241280 SwiftUI`protocol witness for SwiftUI._Layout.sizeThatFits(in: SwiftUI._ProposedSize, context: SwiftUI.SizeAndSpacingContext, children: SwiftUI.LayoutProxyCollection) -> __C.CGSize in conformance SwiftUI._VStackLayout : SwiftUI._Layout in SwiftUI + 56
frame #21: 0x00000001ca538400 SwiftUI`SwiftUI.SheetContentRoot.sizeThatFits(in: SwiftUI._ProposedSize, context: SwiftUI.SizeAndSpacingContext, children: SwiftUI.LayoutProxyCollection) -> __C.CGSize + 108
frame #22: 0x00000001ca2a2e94 SwiftUI`closure #1 () -> __C.CGSize in SwiftUI._LayoutEngine.sizeThatFits(SwiftUI._ProposedSize) -> __C.CGSize + 100
frame #23: 0x00000001ca2a2d58 SwiftUI`SwiftUI._LayoutEngine.sizeThatFits(SwiftUI._ProposedSize) -> __C.CGSize + 392
frame #24: 0x00000001c9e1abcc SwiftUI`SwiftUI.LayoutComputer.EngineDelegate.sizeThatFits(SwiftUI._ProposedSize) -> __C.CGSize + 100
frame #25: 0x00000001c9b8d074 SwiftUI`SwiftUI.RootGeometry.value.getter : SwiftUI.ViewGeometry + 260
frame #26: 0x00000001c99fc268 SwiftUI`merged generic specialization <SwiftUI.ViewGeometry, SwiftUI.RootGeometry> of implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.Rule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 32
frame #27: 0x00000001c9a1deb0 SwiftUI`partial apply forwarder for generic specialization <SwiftUI.ViewGeometry, SwiftUI.RootGeometry> of implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.Rule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 40
frame #28: 0x00000001ca8fd2d4 AttributeGraph`AG::Graph::UpdateStack::update() + 524
frame #29: 0x00000001ca8fd844 AttributeGraph`AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 396
frame #30: 0x00000001ca904964 AttributeGraph`AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 548
frame #31: 0x00000001ca91b3c8 AttributeGraph`AGGraphGetValue + 240
frame #32: 0x00000001c99fbf98 SwiftUI`generic specialization <Swift.Array<SwiftUI.ViewGeometry>, SwiftUI.LayoutChildGeometries> of implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.Rule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 152
frame #33: 0x00000001ca8fd2d4 AttributeGraph`AG::Graph::UpdateStack::update() + 524
frame #34: 0x00000001ca8fd844 AttributeGraph`AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 396
frame #35: 0x00000001ca904964 AttributeGraph`AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 548
frame #36: 0x00000001ca91b3c8 AttributeGraph`AGGraphGetValue + 240
frame #37: 0x00000001c9a08fb8 SwiftUI`generic specialization <SwiftUI.ViewGeometry, SwiftUI.LayoutChildGeometry> of implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.Rule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 164
frame #38: 0x00000001ca8fd2d4 AttributeGraph`AG::Graph::UpdateStack::update() + 524
frame #39: 0x00000001ca8fd844 AttributeGraph`AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 396
frame #40: 0x00000001ca904964 AttributeGraph`AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 548
frame #41: 0x00000001ca91b1b4 AttributeGraph`AGGraphGetInputValue + 272
frame #42: 0x00000001c99c89f0 SwiftUI`SwiftUI.GeometryProxy.size.getter : __C.CGSize + 144
* frame #43: 0x000000010266a8a4 Demo`closure #1 in closure #2 in ContentView.body.getter(proxy=SwiftUI.GeometryProxy @ 0x000000016d790220) at DemoApp.swift:26:34
frame #44: 0x00000001c9a0b22c SwiftUI`partial apply forwarder for closure #1 (SwiftUI.GeometryReader<τ_0_0>) -> τ_0_0 in SwiftUI.GeometryReader.Child.updateValue() -> () + 64
frame #45: 0x00000001ca26d598 SwiftUI`closure #1 () -> () in AttributeGraph.Attribute.syncMainIfReferences<τ_0_0>(do: (τ_0_0) -> τ_1_0) -> τ_1_0 + 184
frame #46: 0x00000001ca26c814 SwiftUI`AttributeGraph.Attribute.syncMainIfReferences<τ_0_0>(do: (τ_0_0) -> τ_1_0) -> τ_1_0 + 428
frame #47: 0x00000001c99ca100 SwiftUI`SwiftUI.GeometryReader.Child.updateValue() -> () + 572
frame #48: 0x00000001c9a1defc SwiftUI`partial apply forwarder for implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.StatefulRule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 32
frame #49: 0x00000001ca8fd2d4 AttributeGraph`AG::Graph::UpdateStack::update() + 524
frame #50: 0x00000001ca8fd844 AttributeGraph`AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 396
frame #51: 0x00000001ca904964 AttributeGraph`AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 548
frame #52: 0x00000001ca91b3c8 AttributeGraph`AGGraphGetValue + 240
frame #53: 0x00000001ca019e98 SwiftUI`SwiftUI.ForEachState.Info.Init.view.getter : SwiftUI.ForEach<τ_0_0, τ_0_1, τ_0_2> + 92
frame #54: 0x00000001ca01a02c SwiftUI`SwiftUI.ForEachState.Info.Init.value.getter : SwiftUI.ForEachState<τ_0_0, τ_0_1, τ_0_2>.Info + 232
frame #55: 0x00000001ca01a10c SwiftUI`protocol witness for AttributeGraph.Rule.value.getter : τ_0_0.Value in conformance SwiftUI.ForEachState<τ_0_0, τ_0_1, τ_0_2>.Info.Init : AttributeGraph.Rule in SwiftUI + 48
frame #56: 0x00000001c98c1b4c SwiftUI`implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.Rule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 296
frame #57: 0x00000001ca8fd2d4 AttributeGraph`AG::Graph::UpdateStack::update() + 524
frame #58: 0x00000001ca8fd844 AttributeGraph`AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 396
frame #59: 0x00000001ca904964 AttributeGraph`AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 548
frame #60: 0x00000001ca91b3c8 AttributeGraph`AGGraphGetValue + 240
frame #61: 0x00000001ca01cee8 SwiftUI`SwiftUI.ForEachList.Init.info.getter : SwiftUI.ForEachState<τ_0_0, τ_0_1, τ_0_2>.Info + 84
frame #62: 0x00000001ca01cf70 SwiftUI`SwiftUI.ForEachList.Init.updateValue() -> () + 100
frame #63: 0x00000001c9a1defc SwiftUI`partial apply forwarder for implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.StatefulRule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 32
frame #64: 0x00000001ca8fd2d4 AttributeGraph`AG::Graph::UpdateStack::update() + 524
frame #65: 0x00000001ca8fd844 AttributeGraph`AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 396
frame #66: 0x00000001ca904964 AttributeGraph`AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 548
frame #67: 0x00000001ca91b3c8 AttributeGraph`AGGraphGetValue + 240
frame #68: 0x00000001ca456d5c SwiftUI`SwiftUI.DynamicLayoutViewAdaptor.updatedItems() -> Swift.Optional<SwiftUI.ViewList> + 72
frame #69: 0x00000001ca10c6d0 SwiftUI`generic specialization <SwiftUI.DynamicLayoutViewAdaptor> of SwiftUI.DynamicContainerInfo.updateItems(disableTransitions: Swift.Bool) -> (changed: Swift.Bool, hasDepth: Swift.Bool) + 68
frame #70: 0x00000001ca10b214 SwiftUI`generic specialization <SwiftUI.DynamicLayoutViewAdaptor> of SwiftUI.DynamicContainerInfo.updateValue() -> () + 432
frame #71: 0x00000001ca1ad34c SwiftUI`partial apply forwarder for generic specialization <SwiftUI.DynamicContainer.Info, SwiftUI.DynamicContainerInfo<SwiftUI.DynamicLayoutViewAdaptor>> of implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.StatefulRule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 24
frame #72: 0x00000001ca8fd2d4 AttributeGraph`AG::Graph::UpdateStack::update() + 524
frame #73: 0x00000001ca8fd844 AttributeGraph`AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 396
frame #74: 0x00000001ca904964 AttributeGraph`AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 548
frame #75: 0x00000001ca91b3c8 AttributeGraph`AGGraphGetValue + 240
frame #76: 0x00000001c9bffec0 SwiftUI`SwiftUI.DynamicPreferenceCombiner.info.getter : Swift.Optional<SwiftUI.DynamicContainer.Info> + 172
frame #77: 0x00000001c9c000d0 SwiftUI`SwiftUI.DynamicPreferenceCombiner.value.getter : τ_0_0.Value + 220
frame #78: 0x00000001c98c1b4c SwiftUI`implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.Rule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 296
frame #79: 0x00000001ca8fd2d4 AttributeGraph`AG::Graph::UpdateStack::update() + 524
frame #80: 0x00000001ca8fd844 AttributeGraph`AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 396
frame #81: 0x00000001ca904964 AttributeGraph`AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 548
frame #82: 0x00000001ca91b3c8 AttributeGraph`AGGraphGetValue + 240
frame #83: 0x00000001c99eb8f4 SwiftUI`generic specialization <SwiftUI.ToolbarKey> of SwiftUI.PreferenceValueAttribute.value.getter : τ_0_0.Value + 160
frame #84: 0x00000001c9a066b4 SwiftUI`generic specialization <SwiftUI.ToolbarStorage, SwiftUI.PreferenceValueAttribute<SwiftUI.ToolbarKey>> of implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.Rule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 40
frame #85: 0x00000001ca8fd2d4 AttributeGraph`AG::Graph::UpdateStack::update() + 524
frame #86: 0x00000001ca8fd844 AttributeGraph`AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 396
frame #87: 0x00000001ca904964 AttributeGraph`AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 548
frame #88: 0x00000001ca91b3c8 AttributeGraph`AGGraphGetValue + 240
frame #89: 0x00000001ca5f83fc SwiftUI`SwiftUI._PreferenceValue.wrappedValue.getter : τ_0_0.Value + 196
frame #90: 0x00000001c9aafe80 SwiftUI`closure #1 (SwiftUI._PreferenceReadingView<τ_0_0, τ_0_1>) -> τ_0_1 in SwiftUI.PreferenceReadingChild.value.getter : τ_0_1 + 268
frame #91: 0x00000001ca26d598 SwiftUI`closure #1 () -> () in AttributeGraph.Attribute.syncMainIfReferences<τ_0_0>(do: (τ_0_0) -> τ_1_0) -> τ_1_0 + 184
frame #92: 0x00000001ca26c814 SwiftUI`AttributeGraph.Attribute.syncMainIfReferences<τ_0_0>(do: (τ_0_0) -> τ_1_0) -> τ_1_0 + 428
frame #93: 0x00000001c9aafd60 SwiftUI`SwiftUI.PreferenceReadingChild.value.getter : τ_0_1 + 112
frame #94: 0x00000001c98c1b4c SwiftUI`implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.Rule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 296
frame #95: 0x00000001ca8fd2d4 AttributeGraph`AG::Graph::UpdateStack::update() + 524
frame #96: 0x00000001ca8fd844 AttributeGraph`AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 396
frame #97: 0x00000001ca904964 AttributeGraph`AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 548
frame #98: 0x00000001ca91b3c8 AttributeGraph`AGGraphGetValue + 240
frame #99: 0x00000001c9e47584 SwiftUI`SwiftUI._ConditionalContent< where τ_0_0: SwiftUI.View, τ_0_1: SwiftUI.View>.ChildView.content.getter : SwiftUI._ConditionalContent<τ_0_0, τ_0_1> + 80
frame #100: 0x00000001c9e47838 SwiftUI`SwiftUI._ConditionalContent< where τ_0_0: SwiftUI.View, τ_0_1: SwiftUI.View>.ChildView.value.getter : SwiftUI.AnyView + 612
frame #101: 0x00000001c9e47980 SwiftUI`protocol witness for AttributeGraph.Rule.value.getter : τ_0_0.Value in conformance SwiftUI._ConditionalContent<τ_0_0, τ_0_1>< where τ_0_0: SwiftUI.View, τ_0_1: SwiftUI.View>.ChildView : AttributeGraph.Rule in SwiftUI + 44
frame #102: 0x00000001c98c1b4c SwiftUI`implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.Rule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 296
frame #103: 0x00000001ca8fd2d4 AttributeGraph`AG::Graph::UpdateStack::update() + 524
frame #104: 0x00000001ca8fd844 AttributeGraph`AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 396
frame #105: 0x00000001ca904964 AttributeGraph`AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 548
frame #106: 0x00000001ca91b3c8 AttributeGraph`AGGraphGetValue + 240
frame #107: 0x00000001ca14a460 SwiftUI`SwiftUI.AnyViewList.updateValue() -> () + 128
frame #108: 0x00000001ca1bedd0 SwiftUI`partial apply forwarder for generic specialization <SwiftUI.ViewList, SwiftUI.AnyViewList> of implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.StatefulRule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 24
frame #109: 0x00000001ca8fd2d4 AttributeGraph`AG::Graph::UpdateStack::update() + 524
frame #110: 0x00000001ca8fd844 AttributeGraph`AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 396
frame #111: 0x00000001ca904964 AttributeGraph`AG::Graph::input_value_ref_slow(AG::data::ptr<AG::Node>, AG::AttributeID, unsigned int, AGSwiftMetadata const*, unsigned char&, long) + 548
frame #112: 0x00000001ca91b3c8 AttributeGraph`AGGraphGetValue + 240
frame #113: 0x00000001ca456d5c SwiftUI`SwiftUI.DynamicLayoutViewAdaptor.updatedItems() -> Swift.Optional<SwiftUI.ViewList> + 72
frame #114: 0x00000001ca10c6d0 SwiftUI`generic specialization <SwiftUI.DynamicLayoutViewAdaptor> of SwiftUI.DynamicContainerInfo.updateItems(disableTransitions: Swift.Bool) -> (changed: Swift.Bool, hasDepth: Swift.Bool) + 68
frame #115: 0x00000001ca10b214 SwiftUI`generic specialization <SwiftUI.DynamicLayoutViewAdaptor> of SwiftUI.DynamicContainerInfo.updateValue() -> () + 432
frame #116: 0x00000001ca1ad34c SwiftUI`partial apply forwarder for generic specialization <SwiftUI.DynamicContainer.Info, SwiftUI.DynamicContainerInfo<SwiftUI.DynamicLayoutViewAdaptor>> of implicit closure #2 (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in implicit closure #1 (τ_1_0.Type) -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 () -> (Swift.UnsafeMutableRawPointer, __C.AGAttribute) -> () in closure #1 (Swift.UnsafePointer<τ_1_0>) -> AttributeGraph.Attribute<τ_0_0> in AttributeGraph.Attribute.init<τ_0_0 where τ_0_0 == τ_1_0.Value, τ_1_0: AttributeGraph.StatefulRule>(τ_1_0) -> AttributeGraph.Attribute<τ_0_0> + 24
frame #117: 0x00000001ca8fd2d4 AttributeGraph`AG::Graph::UpdateStack::update() + 524
frame #118: 0x00000001ca8fd844 AttributeGraph`AG::Graph::update_attribute(AG::data::ptr<AG::Node>, unsigned int) + 396
frame #119: 0x00000001ca908f74 AttributeGraph`AG::Subgraph::update(unsigned int) + 876
frame #120: 0x00000001c9b8b76c SwiftUI`SwiftUI.ViewGraph.updateOutputs() -> () + 248
frame #121: 0x00000001ca55f72c SwiftUI`merged generic specialization <SwiftUI.NSHostingView<SwiftUI.WindowRoot>> of closure #1 () -> () in SwiftUI.ViewRendererHost.render(interval: Swift.Double, updateDisplayList: Swift.Bool) -> () + 1784
frame #122: 0x00000001ca557054 SwiftUI`generic specialization <SwiftUI.NSHostingView<SwiftUI.SheetContent>> of SwiftUI.ViewRendererHost.render(interval: Swift.Double, updateDisplayList: Swift.Bool) -> () + 472
frame #123: 0x00000001ca534f94 SwiftUI`SwiftUI.SheetBridge.preferencesDidChange(SwiftUI.PreferenceList) -> () + 892
frame #124: 0x00000001ca4dbeb4 SwiftUI`SwiftUI.NSHostingView.preferencesDidChange() -> () + 408
frame #125: 0x00000001c9b8bc88 SwiftUI`closure #1 () -> () in SwiftUI.ViewGraph.updateOutputs() -> () + 112
frame #126: 0x00000001c9b8b870 SwiftUI`SwiftUI.ViewGraph.updateOutputs() -> () + 508
frame #127: 0x00000001ca485154 SwiftUI`closure #1 () -> () in SwiftUI.ViewRendererHost.render(interval: Swift.Double, updateDisplayList: Swift.Bool) -> () + 2284
frame #128: 0x00000001ca472b28 SwiftUI`SwiftUI.ViewRendererHost.render(interval: Swift.Double, updateDisplayList: Swift.Bool) -> () + 388
frame #129: 0x00000001ca4d5214 SwiftUI`closure #1 (__C.NSAnimationContext) -> () in SwiftUI.NSHostingView.layout() -> () + 212
frame #130: 0x00000001ca4de2e8 SwiftUI`partial apply forwarder for reabstraction thunk helper from @callee_guaranteed (@guaranteed __C.NSAnimationContext) -> () to @escaping @callee_guaranteed (@guaranteed __C.NSAnimationContext) -> () + 28
frame #131: 0x00000001ca4d26cc SwiftUI`reabstraction thunk helper from @escaping @callee_guaranteed (@guaranteed __C.NSAnimationContext) -> () to @callee_unowned @convention(block) (@unowned __C.NSAnimationContext) -> () + 52
frame #132: 0x00000001a6f39e58 AppKit`+[NSAnimationContext runAnimationGroup:] + 72
frame #133: 0x00000001ca4d50ec SwiftUI`SwiftUI.NSHostingView.layout() -> () + 324
frame #134: 0x00000001ca4d5654 SwiftUI`@objc SwiftUI.NSHostingView.layout() -> () + 28
frame #135: 0x00000001a6f76490 AppKit`_NSViewLayout + 688
frame #136: 0x00000001a6f75f08 AppKit`-[NSView _layoutSubtreeWithOldSize:] + 380
frame #137: 0x00000001a6f76074 AppKit`-[NSView _layoutSubtreeWithOldSize:] + 744
frame #138: 0x00000001a6f75390 AppKit`-[NSView _layoutSubtreeIfNeededAndAllowTemporaryEngine:] + 996
frame #139: 0x00000001a6f74ed8 AppKit`-[NSWindow(NSConstraintBasedLayout) _layoutViewTree] + 148
frame #140: 0x00000001a6fec67c AppKit`-[NSWindow(NSConstraintBasedLayout) layoutIfNeeded] + 308
frame #141: 0x00000001a6fec474 AppKit`__NSWindowGetDisplayCycleObserverForLayout_block_invoke + 436
frame #142: 0x00000001a6feb67c AppKit`NSDisplayCycleObserverInvoke + 188
frame #143: 0x00000001a6feb208 AppKit`NSDisplayCycleFlush + 820
frame #144: 0x00000001ab2383ec QuartzCore`CA::Transaction::run_commit_handlers(CATransactionPhase) + 120
frame #145: 0x00000001ab237354 QuartzCore`CA::Transaction::commit() + 328
frame #146: 0x00000001a708969c AppKit`__62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke + 304
frame #147: 0x00000001a77ee758 AppKit`___NSRunLoopObserverCreateWithHandler_block_invoke + 64
frame #148: 0x00000001a43b81a4 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 36
frame #149: 0x00000001a43b7ff4 CoreFoundation`__CFRunLoopDoObservers + 592
frame #150: 0x00000001a43b7528 CoreFoundation`__CFRunLoopRun + 772
frame #151: 0x00000001a43b6a84 CoreFoundation`CFRunLoopRunSpecific + 600
frame #152: 0x00000001acffa338 HIToolbox`RunCurrentEventLoopInMode + 292
frame #153: 0x00000001acff9fc4 HIToolbox`ReceiveNextEventCommon + 324
frame #154: 0x00000001acff9e68 HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 72
frame #155: 0x00000001a6f1e51c AppKit`_DPSNextEvent + 860
frame #156: 0x00000001a6f1ce14 AppKit`-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1328
frame #157: 0x00000001a6f0efe0 AppKit`-[NSApplication run] + 596
frame #158: 0x00000001a6ee06fc AppKit`NSApplicationMain + 1132
frame #159: 0x00000001c993be98 SwiftUI`generic specialization <SwiftUI.TestingAppDelegate> of function signature specialization <Arg[0] = Existential To Protocol Constrained Generic> of SwiftUI.runApp(__C.NSResponder & __C.NSApplicationDelegate) -> Swift.Never + 148
frame #160: 0x00000001ca4ca588 SwiftUI`SwiftUI.runApp<τ_0_0 where τ_0_0: SwiftUI.App>(τ_0_0) -> Swift.Never + 260
frame #161: 0x00000001c9f4026c SwiftUI`static SwiftUI.App.main() -> () + 128
frame #162: 0x0000000102669b98 Demo`static DemoApp.$main(self=Demo.DemoApp) at DemoApp.swift:10:1
frame #163: 0x000000010266aec0 Demo`main at DemoApp.swift:0
frame #164: 0x00000001029b908c dyld`start + 520
thread #2
frame #0: 0x00000001a42b072c libsystem_kernel.dylib`__workq_kernreturn + 8
thread #3, queue = 'com.apple.root.utility-qos'
frame #0: 0x00000001b17f9fdc libswiftCore.dylib`swift::equalContexts(swift::TargetContextDescriptor<swift::InProcess> const*, swift::TargetContextDescriptor<swift::InProcess> const*) + 392
frame #1: 0x00000001b1825d68 libswiftCore.dylib`swift_conformsToProtocolMaybeInstantiateSuperclasses(swift::TargetMetadata<swift::InProcess> const*, swift::TargetProtocolDescriptor<swift::InProcess> const*, bool)::$_5::operator()((anonymous namespace)::ConformanceSection const&) const::'lambda'(swift::TargetProtocolConformanceDescriptor<swift::InProcess> const&)::operator()(swift::TargetProtocolConformanceDescriptor<swift::InProcess> const&) const + 408
frame #2: 0x00000001b1824a50 libswiftCore.dylib`swift_conformsToProtocolMaybeInstantiateSuperclasses(swift::TargetMetadata<swift::InProcess> const*, swift::TargetProtocolDescriptor<swift::InProcess> const*, bool) + 2160
frame #3: 0x00000001b1823e64 libswiftCore.dylib`swift_conformsToProtocol + 136
frame #4: 0x00000001b17e2da0 libswiftCore.dylib`swift::_conformsToProtocol(swift::OpaqueValue const*, swift::TargetMetadata<swift::InProcess> const*, swift::TargetProtocolDescriptorRef<swift::InProcess>, swift::TargetWitnessTable<swift::InProcess> const**) + 48
frame #5: 0x00000001b1822ffc libswiftCore.dylib`swift::_checkGenericRequirements(__swift::__runtime::llvm::ArrayRef<swift::TargetGenericRequirementDescriptor<swift::InProcess> >, __swift::__runtime::llvm::SmallVectorImpl<void const*>&, std::__1::function<swift::TargetMetadata<swift::InProcess> const* (unsigned int, unsigned int)>, std::__1::function<swift::TargetWitnessTable<swift::InProcess> const* (swift::TargetMetadata<swift::InProcess> const*, unsigned int)>) + 1340
frame #6: 0x00000001b182296c libswiftCore.dylib`swift::TargetProtocolConformanceDescriptor<swift::InProcess>::getWitnessTable(swift::TargetMetadata<swift::InProcess> const*) const + 320
frame #7: 0x00000001b18248d0 libswiftCore.dylib`swift_conformsToProtocolMaybeInstantiateSuperclasses(swift::TargetMetadata<swift::InProcess> const*, swift::TargetProtocolDescriptor<swift::InProcess> const*, bool) + 1776
frame #8: 0x00000001b1823e64 libswiftCore.dylib`swift_conformsToProtocol + 136
frame #9: 0x00000001ca90d53c AttributeGraph`AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long) + 236
frame #10: 0x00000001ca8faa34 AttributeGraph`AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long) + 128
frame #11: 0x00000001ca8f9fc8 AttributeGraph`AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 1044
frame #12: 0x00000001ca90d604 AttributeGraph`AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long) + 436
frame #13: 0x00000001ca8f9e1c AttributeGraph`AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 616
frame #14: 0x00000001ca90d604 AttributeGraph`AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long) + 436
frame #15: 0x00000001ca8faa34 AttributeGraph`AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long) + 128
frame #16: 0x00000001ca8f9fc8 AttributeGraph`AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 1044
frame #17: 0x00000001ca90d604 AttributeGraph`AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long) + 436
frame #18: 0x00000001ca8faa34 AttributeGraph`AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long) + 128
frame #19: 0x00000001ca8f9fc8 AttributeGraph`AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 1044
frame #20: 0x00000001ca90d604 AttributeGraph`AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long) + 436
frame #21: 0x00000001ca8faa34 AttributeGraph`AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long) + 128
frame #22: 0x00000001ca8f9fc8 AttributeGraph`AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 1044
frame #23: 0x00000001ca90d604 AttributeGraph`AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long) + 436
frame #24: 0x00000001ca8faa34 AttributeGraph`AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long) + 128
frame #25: 0x00000001ca8f9fc8 AttributeGraph`AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 1044
frame #26: 0x00000001ca90d604 AttributeGraph`AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long) + 436
frame #27: 0x00000001ca8faa34 AttributeGraph`AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long) + 128
frame #28: 0x00000001ca8f9fc8 AttributeGraph`AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 1044
frame #29: 0x00000001ca90da4c AttributeGraph`AG::LayoutDescriptor::Builder::visit_case(AG::swift::metadata const*, AG::swift::field_record const&, unsigned int) + 756
frame #30: 0x00000001ca8f9eec AttributeGraph`AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 824
frame #31: 0x00000001ca90d604 AttributeGraph`AG::LayoutDescriptor::Builder::visit_element(AG::swift::metadata const*, AG::swift::metadata::ref_kind, unsigned long) + 436
frame #32: 0x00000001ca8faa34 AttributeGraph`AG::swift::metadata_visitor::visit_field(AG::swift::metadata const*, AG::swift::field_record const&, unsigned long) + 128
frame #33: 0x00000001ca8f9fc8 AttributeGraph`AG::swift::metadata::visit(AG::swift::metadata_visitor&) const + 1044
frame #34: 0x00000001ca90e564 AttributeGraph`AG::LayoutDescriptor::make_layout(AG::swift::metadata const*, AGComparisonMode, AG::LayoutDescriptor::HeapMode) + 596
frame #35: 0x00000001ca90f944 AttributeGraph`AG::(anonymous namespace)::LayoutCache::drain_queue(void*) + 152
frame #36: 0x0000000102c323a8 libdispatch.dylib`_dispatch_client_callout + 20
frame #37: 0x0000000102c4a210 libdispatch.dylib`_dispatch_root_queue_drain + 992
frame #38: 0x0000000102c4abdc libdispatch.dylib`_dispatch_worker_thread2 + 196
frame #39: 0x000000010278bf48 libsystem_pthread.dylib`_pthread_wqthread + 228
thread #4
frame #0: 0x00000001a42b072c libsystem_kernel.dylib`__workq_kernreturn + 8
thread #5
frame #0: 0x00000001a42b072c libsystem_kernel.dylib`__workq_kernreturn + 8
thread #6, name = 'com.apple.NSEventThread'
frame #0: 0x00000001a42ae8b0 libsystem_kernel.dylib`mach_msg_trap + 8
frame #1: 0x00000001a42aed20 libsystem_kernel.dylib`mach_msg + 76
frame #2: 0x00000001a43b9210 CoreFoundation`__CFRunLoopServiceMachPort + 372
frame #3: 0x00000001a43b76c0 CoreFoundation`__CFRunLoopRun + 1180
frame #4: 0x00000001a43b6a84 CoreFoundation`CFRunLoopRunSpecific + 600
frame #5: 0x00000001a708b100 AppKit`_NSEventThread + 196
frame #6: 0x0000000102789890 libsystem_pthread.dylib`_pthread_start + 148
thread #7
frame #0: 0x00000001a42b072c libsystem_kernel.dylib`__workq_kernreturn + 8
A mini reproductive demo.
Env:
Xcode 15.2.0 + Swift 5.9.1 macOS 14.4.1
Related Issue: https://github.com/Lakr233/FixTim/issues/10