Re: [Boost-bugs] [Boost C++ Libraries] #4842: "pure virtual method called; terminate called without an active exception" on shutdown

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-01-31 20:31:57


#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 ruediger.berlich@…):

 Hi Robert,
 here are the last few lines of the output of one of my examples
 ("G01Optimizer"), at the end of the program run. The total output has
 approx. 2000 lines, but doesn't look much different from what you see
 below:

 ** begin **

 // [...]

 N3Gem6Geneva6GSwarmE<-N3Gem6Geneva12GMutableSetTINS0_13GParameterSetEEE
 recursive_unregister
 N3Gem6Geneva6GSwarmE<-N3Gem6Geneva23GOptimizationAlgorithmTINS0_13GParameterSetEEE
 recursive_unregister
 N3Gem6Geneva6GSwarm25GSwarmOptimizationMonitorE<-N3Gem6Geneva23GOptimizationAlgorithmTINS0_13GParameterSetEE21GOptimizationMonitorTE
 recursive_unregister
 N3Gem6Geneva18GPersonalityTraitsE<-N3Gem6Geneva7GObjectE
 recursive_unregister
 N3Gem6Geneva23GSwarmPersonalityTraitsE<-N3Gem6Geneva7GObjectE
 recursive_unregister
 N3Gem6Geneva23GSwarmPersonalityTraitsE<-N3Gem6Geneva18GPersonalityTraitsE
 recursive_unregister
 N9boost_1326detail20sp_counted_base_implIPN3Gem6Geneva14GParameterBaseEN5boost13serialization12null_deleterEEE<-N9boost_1326detail15sp_counted_baseE
 recursive_unregister
 N9boost_1326detail20sp_counted_base_implIPN3Gem6Geneva18GPersonalityTraitsEN5boost13serialization12null_deleterEEE<-N9boost_1326detail15sp_counted_baseE
 recursive_unregister
 N3Gem6Geneva11GIndividualE<-N3Gem6Geneva7GObjectE
 recursive_unregister
 N3Gem5Tests16GTestIndividual1E<-N3Gem6Geneva7GObjectE
 recursive_unregister
 N3Gem6Geneva13GParameterSetE<-N3Gem6Geneva7GObjectE
 recursive_unregister
 N3Gem6Geneva12GMutableSetTINS0_14GParameterBaseEEE<-N3Gem6Geneva7GObjectE
 recursive_unregister
 N3Gem5Tests16GDelayIndividualE<-pure virtual method called
 terminate called without an active exception
 Abgebrochen

 ** end **

 "Abgebrochen" means "Terminated". The example uses GFunctionIndividual.
 "GDelayIndividual", which appears to be the point during whose
 unregistration the crash happens, is never explicitly instantiated by my
 program. GDelayIndividual's code is located in a separate library,
 together with "GFunctionIndividual". It is linked to the application, and
 there is another dynamic library using Serialization services, which is
 also linked to the code.

 I have used Beta 1 of Boost 1.46, the platform is Ubuntu Linux 64 bit, g++
 4.4.5. Boost and my own code have been compiled in Debug mode.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4842#comment:16>
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:05 UTC