Exception calling super in Objective-C class on Big Sur

Thanks for the very informative session (Advancements in the Objective-C runtime).

I'm seeing an exception in a shipping app (FB7781503) on the WWDC20 Big Sur build when calling super from an NSLayoutManager subclass.

Code Block objective-c
- (NSArray<NSRulerMarker *> *)rulerMarkersForTextView:(NSTextView *)aTextView paragraphStyle:(NSParagraphStyle *)paraStyle ruler:(NSRulerView *)aRulerView {
    NSArray <NSRulerMarker *> *markers = [super rulerMarkersForTextView:aTextView paragraphStyle:paraStyle ruler:aRulerView];
...
}


The layout manager instance data doesn't seem to have been corrupted prior to calling super, but calling super throws

Code Block
-[STLayoutManager rulerMarkersForTextView:paragraphStyle:ruler:]: unrecognized selector sent to instance 0x7fce12e697b0


I'm wondering if the runtime changes are the cause. I'm able to reproduce this. Any tips for debugging this one?

Steve


Replies

This looks like a bug. Please file a report. Thank you.
Thanks. The Feedback Assistant id is in the original post. FB7781503

Steve