Description
Issue description
Update: After diving deep in the pybind11 comments inside the code (Thanks God for it!) I am rephrasing the issue.
It looks like different MSVC versions that build modules with pybind11 interfere with each other (due to use of common resources between python modules).
The PYBIND11_INTERNALS_ID string is not constructed from a _MSC_VER and when I miss match modules build with MSVC 14.0
and MSVC >= 14.2 the ID is the same and I get a crash
Here is the crash stack
The "registered_exception_translators" list is not empty, but once you try to access the translator you get access violation.
I saw the "PYBIND11_COMPILER_TYPE" definition can be override,
I guess what I see here is that mismatch between MSVC versions also cause problems and perhaps should be considered as a different ABI.
Question:
What are the benefits of using the same "Internals" between modules? is it memory consumption?
It seems like if I force override the ABI version it works (add_definitions(-DPYBIND11_COMPILER_TYPE="_testing")
This is my workaround for now, I can suggest a PR that integrate MSC version as part of the ABI_ID..
Thanks
Thanks
Nir