Twitter | Search | |
Peter Steinberger
TIL. This was a source of crashes in macOS, and got fixed in Catalina. Deallocating objects that participate in the responder chain was only allowed on the main thread, and block deallocation order is not defined. Talk about subtle bugs! (Source: )
Reply Retweet Like More
Peter Steinberger Dec 21
Replying to @steipete
Reminds me of the deallocation problem of UIWebView. RIP, little troubly control.
Reply Retweet Like
josh avant Dec 21
Replying to @steipete
🤯
Reply Retweet Like
Peter Steinberger Dec 21
Replying to @joshavant
Reply Retweet Like
Ryan Nystrom Dec 21
Replying to @steipete
Reminds me of this magic in AsyncDisplayKit
Reply Retweet Like
Mustard Station 11 Survivor (Ryan) Dec 21
Replying to @steipete
Gods, so happy to see this fixed. At one point, our code had a ridiculous ObjC++ macro whose job was "define a local variable with a C++ object retaining this id; at end of scope, its destructor dispatches to main to release it" so we could safely tweak labels from work queues :(
Reply Retweet Like
Peter Steinberger Dec 21
Replying to @UllerRM
Sounds…fun!
Reply Retweet Like
Noah Gilmore Dec 21
Replying to @steipete
Wow!! We ran into this with a CATiledLayer backed view at work - for some reason it always wanted to be deallocated on the main thread and we had no idea why. Great find!
Reply Retweet Like
Peter Steinberger Dec 21
Replying to @noahsark769
“The deallocation problem” is more widespread.
Reply Retweet Like
Paul Haddad Dec 21
Replying to @steipete
Ooph, those are the worst such a pain to track down.
Reply Retweet Like