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-27 22:21:34


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

 O.k., I'll try to be more specific:

 I'm seeing this behaviour on three systems:
 - Kubuntu Linux 10.10, 64 bit, g++ 4.4.5, Boost 1.44, 1.45 and current
 trunk version/pre-beta of 1.46
 - CentOS 5.5, 64 bit, g++ 4.1.2, tested only with Boost 1.45
 - I have in the past seen similar behaviour on Scientific Linux 5, which
 is however close to CentOS
 The problem does not happen with Boost 1.40 - 1.43 .

 I'd be happy to try other (Linux-)distributions you suggest. My code is so
 far "Linux only", so I cannot try other Operating Systems.

 I experience the problem in conjunction with our Geneva library collection
 (or its demo applications, to be more exact). The library is available on
 http://www.launchpad.net/geneva. I'm using the current trunk version of
 Geneva, which can be downloaded via the Bazaar version control system,
 e.g. with the command "bzr co lp:geneva ." .

 I'm always linking dynamically, and the problem happens both in Debug and
 Release mode.

 There are two libraries which involve serialization (libgemfony-geneva.so
 and libgemfony-geneva-individuals.so) and which get linked into all of the
 demo applications. I am not loading any libraries manually, but rather
 rely on the dynamic linker of the operating system, which loads the
 libraries upon program startup, likely in the order in which they were
 specified during the linking stage. I have tried reversing the order of
 the libraries in my CMake build scripts, but to no avail (it is possible
 that CMake has some built-in magic which always enforces a certain order).
 Not all of my demo applications are affected. I am currently trying to
 find out, which change of conditions make the problem go away. Will say so
 here, if I find a solution.

 Trimming down Jan Boehme's test case: I have tried to reproduce the
 problem with his code. As I am not a "bjam person", I have however written
 a CMake build script for his code. Using this, however, the problem cannot
 be reproduced in my main environment (Kubuntu 10.10, the same, where
 Geneva fails with the aforementioned "Pure virtual method called").

 And here is an offer:
 If you have a means of receiving a file of maybe 2 GB, I'd be happy to set
 up a VMWare virtual machine (or any other VM that is free and runs both on
 Linux and Windows), with Kubuntu and my library installed, and send it to
 you. This way you could see for yourself what is happening.

 I intend to come to BoostCon so that, if the problem still exists then,
 I'd be happy to work with you on a solution (assuming you will be there).

 Hope that helps. I'll try to respond on short notice, if you have further
 questions. In the meantime, I will try to reproduce the problem with Jan's
 code.

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