Calling [self.layer.presentationLayer hitTest:] in touchesEnded on a UIView subclass which has a AVPlayerLayer subview crashes a crash

Originator:matthew.kennard
Number:rdar://15076037 Date Originated:2013-09-25
Status:Open Resolved:
Product:iOS SDK Product Version:7
Classification: Reproducible:
 
If you subclass UIVIew, override touchesEnded and in that method make a call to [self.layer.presentationLayer hitTest:] then if the subclasses UIView has an AVPlayerLayer added as a sublayer then the app crashes when running on iOS 7 (regardless of whether compiled with the iOS 6.1 SDK or iOS 7 SDK GM)

The stack trace is always:

(lldb) bt
* thread #1: tid = 0x1c03, 0x094ffc26 MediaToolbox`FigSubtitleRendererNotificationBarrier + 17, stop reason = EXC_BAD_ACCESS (code=2, address=0x4)
    frame #0: 0x094ffc26 MediaToolbox`FigSubtitleRendererNotificationBarrier + 17
    frame #1: 0x01568b25 AVFoundation`-[AVSubtitleLayer dealloc] + 143
    frame #2: 0x01bf8720 QuartzCore`-[CALayer _dealloc] + 33
    frame #3: 0x01bf59c8 QuartzCore`CALayerRelease + 112
    frame #4: 0x01f18d20 CoreFoundation`CFRelease + 272
    frame #5: 0x01bf6d4f QuartzCore`release_presentation_layer(CA::Layer*, CALayer*, void*) + 17
    frame #6: 0x01c3a27a QuartzCore`x_hash_table_foreach + 65
    frame #7: 0x01bf6d24 QuartzCore`CA::Layer::free_transaction(CA::Transaction*) + 240
    frame #8: 0x01b6257a QuartzCore`CA::Transaction::commit() + 546
    frame #9: 0x01b62bb4 QuartzCore`CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 92
    frame #10: 0x01f5f53e CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 30
    frame #11: 0x01f5f48f CoreFoundation`__CFRunLoopDoObservers + 399
    frame #12: 0x01f3d3b4 CoreFoundation`__CFRunLoopRun + 1076

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!