The problem has already been fixed, by Alexander Grund. The fix, in its latest incarnation, is in #131.
To recap,
- the Serialization library crashes on exit in certain scenarios, as demonstrated by the tests in #111 and #128.
- this is caused by the fact that singleton<X>::is_destroyed() always returns false, as demonstrated by the test in #129.
(At extended_type_info_typeid.cpp:99, the code tests singleton<tkmap>::is_destroyed(), and if false, proceeds to use singleton<tkmap>::get_mutable_instance(). But since is_destroyed always returns false, the check doesn't work and doesn't prevent the library from accessing the destroyed tkmap in the scenario in question.)
- a fix for is_destroyed() is proposed in #131. It makes the tests from #111/#128/#129 pass.
Hmmm - OK - I'll take yet another look at this.
Robert Ramey
With the upcoming release of 1.69 can we get those PRs finally merged now? What is still missing?