Skip to content

Debug build Assertion Failure using @ListState #503

@ghost

Description

Hey John!

I am facing an issue debugging on an iOS 16.6.1 test device using Xcode 15.3, CoreStore 9.2.

An assertion failure is sometimes happening with updates to ListState that are covered behind a sheet.
During deinit, when removeObserver(_ observer: T) gets called in ListPublisher:164 the assertion on Thread.isMainThread is triggered because SwiftUI sometimes uses com.apple.SwiftUI.AsyncRenderer to apply view updates.

As it is just an assertion and not a general abort, it is not an issue in release builds. But for convenience check that if that might raise an issue somewhere, you can workaround the assertion failure by extending the check on Thread.isMainThread || Thread.current.name == "com.apple.SwiftUI.AsyncRenderer", if that is considered safe for you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions