Mikhail Nosov e52bd441e2 Frontend exception safety (#11368)
* Frontend exception safety

Every call to frontend's API (except Places) can throw exception. If during exception handling, FrontEndManager is destroyed and calls 'dlclose' for plugin - call stack will be corrupted and crash will occur.

Solution is to wrap 'plugins' calls with try/catch and throw new exception in 'openvino' context

TODO: currently "Place" objects don't have 'actual' wrappers, so exception in 'place' objects will potentially cause such crash (if exception handler destroys FrontEndManager). Workaround for user would be to try/catch any calls of Place API on their side.
We're not expecting users to use Place API directly, so this workaround looks acceptable

* Add check for exception message

* Keep type of frontend exception during rethrow

* IR FE tests: don't expect InferenceEngine::exception as it be not propagated as is by FrontEndManager
2022-03-31 22:23:40 +03:00
2022-03-31 18:05:59 +03:00
2022-03-31 18:05:59 +03:00
2022-03-31 16:12:48 +03:00
2022-03-31 18:05:59 +03:00
2022-03-31 22:23:40 +03:00
2022-03-31 14:07:07 +03:00
2022-03-31 18:05:59 +03:00
2021-05-31 15:24:56 +03:00
2018-10-16 13:45:03 +03:00
2022-03-30 16:10:03 +03:00
2020-11-17 16:44:44 +03:00

OpenVINO™ Toolkit

Stable release Apache License Version 2.0 GitHub branch checks state Azure DevOps builds (branch) PyPI Downloads

This toolkit allows developers to deploy pre-trained deep learning models through a high-level OpenVINO™ Runtime C++ and Python APIs integrated with application logic.

This open source version includes several components: namely Model Optimizer, OpenVINO™ Runtime, Post-Training Optimization Tool, as well as CPU, GPU, MYRIAD, multi device and heterogeneous plugins to accelerate deep learning inferencing on Intel® CPUs and Intel® Processor Graphics. It supports pre-trained models from the Open Model Zoo, along with 100+ open source and public models in popular formats such as TensorFlow, ONNX, PaddlePaddle, MXNet, Caffe, Kaldi.

Repository components

License

OpenVINO™ Toolkit is licensed under Apache License Version 2.0. By contributing to the project, you agree to the license and copyright terms therein and release your contribution under these terms.

Resources

Support

Please report questions, issues and suggestions using:


* Other names and brands may be claimed as the property of others.

Languages
C++ 80.5%
Python 15.5%
C 2.8%
CMake 0.9%
Cython 0.1%