Custom Filter Problem in Xcode 9.x

I'm writing a code.


Here is my full source code.


I confirmed that my code runs successfully in Xcode 8.3.3.


However, my code crashed in Xcode 9.x (9.1 and 9.2).


Exactly, my code crashed in "filter.setValue(inputCIImage, forKey: kCIInputImageKey)" with "NSException (sig abrt)"


I did not find the cause even though I used the debugger.


------------------------------------------------------------------------------------


import UIKit

class ViewController: UIViewController {

@IBOutlet weak var imageView: UIImageView!


let inputImage = UIImage(named: "testImage.png")


override func viewDidLoad() {

super.viewDidLoad()

let inputCIImage = CIImage(image: inputImage!)

let filter = CustomFilter()

filter.setValue(inputCIImage, forKey: kCIInputImageKey)

let outputImage = filter.outputImage!

let context = CIContext()

let outputCGImage = context.createCGImage(outputImage, from: outputImage.extent)

imageView.image = UIImage(cgImage: outputCGImage!)

}

}


class CustomFilter: CIFilter {

var inputImage: CIImage?


override public var outputImage: CIImage! {

get {

if let inputImage = self.inputImage {

let args = [inputImage as AnyObject]

return createCustomKernel().apply(extent: inputImage.extent, arguments: args)

} else {

return nil

}

}

}


func createCustomKernel() -> CIColorKernel {

let kernelString =

"kernel vec4 chromaKey(__sample s){\n" +

"vec4 newPixel = s.rgba;\n" +

"newPixel[0] = 0.0;\n" +

"newPixel[2] = newPixel[2] / 2.0;\n" +

"return newPixel;\n" + "}"

return CIColorKernel(source: kernelString)!

}

}