On Friday, March 04, 2016 10:14 AM, Phil Bouchard wrote:
On 03/03/2016 08:30 PM, Phil Bouchard wrote:
On 03/02/2016 11:42 PM, Phil Bouchard wrote:
It works with -O0 so for the moment I have no idea what's going on there.
Sorry wrong call; I fixed a memory corruption bug but now block_ptr<> doesn't work anymore with the Boost.Container. And this time this is consistent unfortunately.
I will try to figure out if I can fix it.
Everything works well if I comment:
template
struct node_alloc_holder { [...]
~node_alloc_holder() { /*this->clear(alloc_version());*/ }
It seems like the nodes destroy themselves before the list attempts to destroy them.
I am pretty sure block_ptr<> is neat now as I reviewed it many times. If I could have some help solving this that would be great.
If you haven't used asan (address-sanitizer) you may find it throws a fair bit of light on the subject. If using gcc or clang, just add -fsanitize=address to the compiler command line. Ben