SCNSceneRenderer presentScene with SKTransition from CIFilter crashes

Originator:cargath
Number:rdar://24425404 Date Originated:30-Jan-2016 01:59 PM
Status:Open Resolved:
Product:iOS SDK Product Version:iOS 9.2.1
Classification:Crash Reproducible:Always
 
Summary:
- App crashes when calling presentScene:withTransition:incomingPointOfView:completionHandler: with an SKTransition created with transitionWithCIFilter:duration:
- Works fine with the other, predefined, SKTransitions
- I verified that there is no problem with the CIFilter by creating a small prototype app that applies the filter on a UIImage

- It seems to only crash with Metal rendering, not OpenGL. OpenGL doesn't animate the transition, though, i.e. it is broken, too

Steps to Reproduce:
1. Create a new Xcode project with the Game template
2. In the GameViewController import CoreImage and SpriteKit
3. Change scnView.scene = scene to scnView.presentScene(scene, withTransition: SKTransition(CIFilter: CIFilter(name: "CIDissolveTransition")!, duration: 2.0), incomingPointOfView: cameraNode, completionHandler: nil)
4. Compile and run on a device that supports Metal rendering
5. App crashes with EXC_BAD_ACCESS in jet_context::set_fragment_texture

Expected Results:
Expected to see the scene presented with an animated transition

Actual Results:
- On Metal: A crash (see attached .log file)
- On OpenGL: No crash, but no animation either

Version:
iOS 9.2.1

Configuration:
iPhone 6s 64GB / iPad Air 2 64GB

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!