Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AttributeGraph: cycle detected through attribute xx on macOS #63

Open
Kyle-Ye opened this issue Mar 28, 2024 · 4 comments
Open

AttributeGraph: cycle detected through attribute xx on macOS #63

Kyle-Ye opened this issue Mar 28, 2024 · 4 comments

Comments

@Kyle-Ye
Copy link

Kyle-Ye commented Mar 28, 2024

A mini reproductive demo.

import SwiftUI
import Pow

@main
struct DemoApp: App {
    @State private var sheet = false
    
    var body: some Scene {
        WindowGroup {
            Button("Open Sheet") {
                sheet.toggle()
            }
            .sheet(isPresented: $sheet) {
                Text("Demo")
                    .conditionalEffect(.smoke, condition: true)
            }
        }
    }
}

Env:

Xcode 15.2.0 + Swift 5.9.1
macOS 14.4.1

Related Issue: Lakr233/FixTim#10

@Kyle-Ye
Copy link
Author

Kyle-Ye commented Mar 28, 2024

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

cycle

full graph svg

The svg preview for full graph is not very clear. You'd better download it and view it.

full

=== 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: DynamicLayoutViewChildGeometry
  • 144568: 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]

@Kyle-Ye
Copy link
Author

Kyle-Ye commented Mar 28, 2024

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

@Kyle-Ye
Copy link
Author

Kyle-Ye commented Mar 28, 2024

Before Apple fix it, I think we should consider reimplementing related modifiers(eg. SmokeEffect) at least on macOS platform. cc @mergesort

@Kyle-Ye
Copy link
Author

Kyle-Ye commented Apr 1, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant