Я понимаю, что @lefticus принял ответ, касающийся, как мне кажется, неопределенного статического порядка инициализации; однако у меня была очень похожая проблема, на этот раз с boost::python
.
Я старался изо всех сил, чтобы найти какие-либо проблемы статической инициализации, и не смог - до такой степени, что я рефакторинг основной части нашей кодовой базы; и когда это не сработало, в итоге все исключения были исключены.
Тем не менее, появилось еще немного, и мы снова начали получать эти ошибки.
После еще одного расследования я наткнулся на эту ссылку , в которой говорится о пользовательских распределителях.
Мы действительно используем tcmalloc
сами; и после того, как я удалил его из нашей библиотеки, которая экспортируется в boost::python
, у нас больше не было проблем!
Так что просто к сведению всех, кто наткнулся на этот поток - если ответ @ lefticus не работает, проверьте, используете ли вы другой распределитель, чем тот, который используется python
.