Thanks for being a part of WWDC25!

How did we do? We’d love to know your thoughts on this year’s conference. Take the survey here

SwiftUI internal crash when interacting with long list quickly

Hello!

We encountered a very intermittent crash with our application starting with devices running iOS 18.4. We have a screen that can display a long list of products in 2 states (expanded or collapsed) based off of a boolean if the user has interacted with that product yet.

With this list, we very intermittently encounter a crash when we

  • scroll like crazy up and down the list
  • search the list quickly (search is performed each character change and list is filtered)

Our project has iOS 17.0 as a minimum deployment target, and is Swift 6 enabled. Again, this started happening only with iOS 18.4, and is still visible (handful of occurrences each week).

The crash report seems to be very internal to SwiftUI/Obj-c runtime.

Any insights would be greatly appreciated!

Take a look at the documentation for debugging techniques that has guidance on debugging common reasons for a crash. If you get stuck, let us know what you tried, and attach the fully symbolicated Apple crash report in your reply. Posting a Crash Report explains how to do so.

Hello thanks for your help in investigating this.

Additional context here is that our application is Swift 6, SwiftUI only. The min deployment target was set at 17.0 and we only started witnessing this crash for iOS devices on 18.4+.

I reviewed the documentation for debugging techniques linked. I believe the most relevant common crash referenced is a language exception.

I verified that I have at least a partially symbolicated crash report via the presence of function names. Its hard to 100% confirm if it is a partial vs fully symbolicated as all the frames included in the crash are low level library/internal apple frameworks and I am not sure how much is supposed to be exposed. Some additional nuggets here is that the application is distributed via enterprise (so no crashes support in Xcode organizer / App Store Connect) and the crash is not easily reproduced (3 occurrences within the past 2 1/2 weeks). The steps list here to import a crash to the Devices and Simulators do not look to allow for drag and drop anymore.

From the threads / error message witnessed in logging it (Cannot form weak reference to instance (%p) of ""class %s. It is possible that this object was ""over-released, or is in the process of deallocation.", (void*)referent, object_getClassName((id)referent))) seems related to

4   libobjc.A.dylib                     0x000000019499acbc weak_register_no_lock + 396

in the obj-c runtime

To me the threads/frames are all around internal frameworks. It seems like somehow it blew up when trying to layout constraints for a button in the view hierarchy deep between the inner workings of SwiftUI and the UIKit / obj-c layer..

One thing that sticks out is that thread 0 frame 35 is all question marks ??????.

35  ???  0x00000001bdebbad8 0x0 + 7481309912

Could it signal that it was potentially a third party integration that initiated this chain of events. Or is that somewhat expected.

Appreciate any guidance or insights you can provide!

FWIW here - we updated our app's minimum deployment target to be iOS 18 and we have not seen this issue anymore

SwiftUI internal crash when interacting with long list quickly
 
 
Q