Surely, someone else will report that terrible bug

4 Feb 2026

Creating a good bug report takes time. I like to isolate the problem so that it can be easily and reliably reproduced by the developer. For me, this includes creating the simplest program possible that can clearly demonstrate the problem. Usually, after doing all this work, Apple tells me, “This is similar to an existing case. Closing your case.”

So this fall, with Tahoe causing problems with one of our programs, I thought,

Surely, someone else will report these terrible bugs. I’ll just wait for a future macOS update.

I have new features in the works, including some requiring an In-App Purchase, but I don’t want to release new versions of our software, asking people to pay for a feature, only to have our program cause our customers problems.

So I waited.

Months later, Tahoe's bugs that plague our program are still there. I have started filing bug reports.

Memory leak

The first bug report, FB21850924, covers a terrible memory leak in SwiftUI’s Table view, a feature our program uses a lot.

The video below, provided to Apple along with the sample program, shows the memory growing unbounded until the program grinds to a halt. Despite the rapid updates to the data, the sample program only keeps 1000 records in a deque, so the memory usage should bounded. Strangely, switching to another view triggers Swift to reclaim much of the memory.

Demonstration of SwiftUI memory leak

Performance issue

The second bug report, FB21860141, covers SwiftUI Table view's performance degrading quickly.

The video below, also provided to Apple along with the sample program, shows updates to the table slowing down to just a trickle after a few 10s of seconds. Like the memory issue, simply switching to another view or, in this case, (strangely again) even just changing the window size resolves the problem. Performance skyrockets.

Demonstration of SwiftUI performance issue

There are other bugs, but I will wait to see if Apple is responsive to these. Also, I suspect fixing the memory leak will also solve another problem I have.

Next
Next

Immersive Web Pages