OpenVINO™ is an open-source toolkit for optimizing and deploying AI inference
Go to file
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
.ci Build with system TBB (#11244) 2022-03-31 18:05:59 +03:00
.github [Python API] Improve configuration files (#10960) 2022-03-30 20:26:36 +03:00
cmake Build with system TBB (#11244) 2022-03-31 18:05:59 +03:00
docs [PYTHON API] release GIL (#10810) 2022-03-31 16:12:48 +03:00
licensing Removed duplicated words (#10754) 2022-03-03 06:50:54 +00:00
samples Build with system TBB (#11244) 2022-03-31 18:05:59 +03:00
scripts Install 97-myriad-usbboot.rules to install_dependencies (#11301) 2022-03-30 13:03:42 +03:00
src Frontend exception safety (#11368) 2022-03-31 22:23:40 +03:00
tests [IE Samples] New command line parameters format for speech sample (#11051) 2022-03-31 10:09:31 +03:00
thirdparty [OMZ]: update submodule (#11305) 2022-03-31 17:53:41 +03:00
tools [MO] pad fusing fix (#10453) 2022-03-31 14:07:07 +03:00
.gitattributes [POT] Update tests with new data (#8209) 2021-10-27 12:40:19 +03:00
.gitignore [Python API] Move old python bindings (#9134) 2022-01-24 13:16:07 +03:00
.gitmodules [GPU] Moved onednn_gpu to plugin folder (#9458) 2021-12-29 11:06:14 +03:00
CMakeLists.txt Build with system TBB (#11244) 2022-03-31 18:05:59 +03:00
CODEOWNERS DOCS: port changes from releases/2022/1 (#11040) 2022-03-18 17:48:45 +03:00
CONTRIBUTING.md Add changes to contribution guide (#10675) 2022-03-22 11:51:53 +03:00
install_build_dependencies.sh Build with system TBB (#11244) 2022-03-31 18:05:59 +03:00
Jenkinsfile Beautify Jenkinsfile a little bit 2021-05-31 15:24:56 +03:00
LICENSE Publishing R3 2018-10-16 13:45:03 +03:00
README.md Fixed conflicts (#11332) 2022-03-30 16:10:03 +03:00
SECURITY.md Added SECURITY.md back (#3177) 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.