Boost logo

Boost :

Subject: Re: [boost] [Boost.Serialization] Crash in current master (1.68)
From: Alexander Grund (alexander.grund_at_[hidden])
Date: 2018-06-29 09:07:47

Hi all again,

I have to stress the importance of a swift action/review here as the
current master now contains the flawed commit again that leads to a
certain crash when using shared libraries linked against static boost.

Reproduce with:
git clone git_at_[hidden]:boostorg/boost.git && cd boost && git submodule
update --recursive --init
./ && ./b2 variant=release link=static
--with-libraries=serialization cxxflags=-fPIC cflags=-fPIC -j2
mkdir mytest && cd mytest
Create 3 files:

|test_multi_singleton.cpp:intf();intg();intmain(intargc,char**){// Make
sure symbols are
Use different(!)

export CPATH=$PWD/..
export LIBRARY_PATH=$PWD/../stage/lib/
g++ multi_singleton1.cpp -lboost_serialization -fPIC -shared
g++ multi_singleton2.cpp -lboost_serialization -fPIC -shared
g++ test_multi_singleton.cpp -L. -lmulti_singleton1 -lmulti_singleton2

Result: *** Error in `./a.out': double free or corruption (fasttop):
0x0000000001accc20 ***

This is due to the bug I described and fixed in
An extract from there only showing the bug with `is_destroyed` is

In the current state I'm strongly against including the latest master
from Boost.Serialization. It would be better, to include the Boost 1.67
version of it which "only" contains a memory leak.

Regards, Alex

Boost list run by bdawes at, gregod at, cpdaniel at, john at