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