ipab-slmc / exotica

Extensible Optimization Framework
https://ipab-slmc.github.io/exotica
BSD 3-Clause "New" or "Revised" License
149 stars 70 forks source link

Fix segmentation fault on exiting Python #732

Closed wxmerkt closed 3 years ago

wxmerkt commented 3 years ago

This PR fixes the the long-prevailing segmentation fault at the end of a Python process which includes Exotica. The source of the issue was a destructor order in Property which is key for the Initializers: The boost::any destructor particularly in conjunction with Eigen types did not exit cleanly. Processes finish faster (!) and cleaner now without a segmentation fault. I also moved the OcTree header (a large header-only type) to the implementation which reduces overall compile time considerably.