message: core(ocl): don't expose exceptions from OpenCL callback
  to avoid silent crashes of OpenCL worker threads.
diff: @@ -2833,9 +2833,24 @@ struct Kernel::Impl
  extern "C" {
  static void CL_CALLBACK oclCleanupCallback(cl_event e, cl_int, void *p)
  +{
  + try
  {
  ((cv::ocl::Kernel::Impl*)p)->finit(e);
  }
  + catch (const cv::Exception& exc)
  + {
  + CV_LOG_ERROR(NULL, "OCL: Unexpected OpenCV exception in OpenCL callback: " << exc.what());
  + }
  + catch (const std::exception& exc)
  + {
  + CV_LOG_ERROR(NULL, "OCL: Unexpected C++ exception in OpenCL callback: " << exc.what());
  + }
  + catch (...)
  + {
  + CV_LOG_ERROR(NULL, "OCL: Unexpected unknown C++ exception in OpenCL callback");
  + }
  +}
  }
  