Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4842: "pure virtual method called; terminate called without an active exception" on shutdown
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-03-19 06:40:47
#4842: "pure virtual method called; terminate called without an active exception"
on shutdown
-------------------------------+--------------------------------------------
Reporter: eric_niebler | Owner: ramey
Type: Bugs | Status: reopened
Milestone: To Be Determined | Component: serialization
Version: Boost 1.44.0 | Severity: Regression
Resolution: | Keywords: serialization singleton
-------------------------------+--------------------------------------------
Comment (by anonymous):
I spent a little time looking at this.
I looked at the stack traces (and log output) from a couple of different
reports. The traces I see look like:
~void_caster
recurrsive_unregister
operator<
Or some variation - all ending with operator<
operator< compares the dereferenced pointers to extended_type_info.
I couldn't see any reason why this should occur with void_caster. I'm
thinking the issue would be with extended_type_info.
recurrsive_unregister invokes operator< on dereferenced pointers to
extended_type_info objects.
I'm concerned that there may be multilple such objects in the map. This
would occur if one included code in both the DLL and the mainline. There
is a trap to detect this because I was concerned about just this problem.
I had to disable this trap because it required more discipline in code
organization than many could implement. I would be curious to know if
those who have experienced this problem were to re-enable this trap if it
would catch this issue.
This hypothesis would also explain why the situation isn't as common as I
would expect it to be if were something else.
This trap is found and explained at basic_serializer_map.cpp line 46. Try
these test cases with the following:
a) uncomment the code at line 63 in basic_serializer_map.cp
b) rebuild the library
c) rerun the problem program
d) let me know the results.
I realize that this is a lot of work. But without this kind of effort,
it's very difficult to make progress here. I thank all those who have
invested efforts here and appreciate your patience and help.
Robert Ramey
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/4842#comment:22> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:06 UTC