b2c822065c0f1f4671c0a471b5718123e83f57ca
The crash can occur in the following situations: - Attempt to open a corrupted EXR file - Attempt to save an EXR file under a non-existing directory. The root cause is not really clear: for some reason the OpenEXE API on the Blender side can not catch OpenEXE exceptions by a constant reference to a std::exception, although it can by a constant reference to an Iex::BaseExc. This does not seem to be an issue with the OpenEXR library itself as the idiff tool from our SVN folder catches the exceptions correctly. It is also not caused by the symbols_apple.map as erasing it does not make the problem go away. It could still be some compiler/visibility flag which we were unable to nail down yet. The proposed solution is to add catch-all cases, mimicking the OIIO tools. This solves the problem with the downside is that there are no friendly error messages in the terminal. Those messages could be brought as part of the workaround by additionally catching the Iex::BaseExc exception. But probably nobody relies on those error prints anyway, so added complexity in the code is likely does not worth it. Pull Request: https://projects.blender.org/blender/blender/pulls/107184
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
