Subject: [Boost-bugs] [Boost C++ Libraries] #7164: [interprocess] Two potential bugs with b::int::vector of b::i::weak_ptr
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-07-24 08:48:21
#7164: [interprocess] Two potential bugs with b::int::vector of b::i::weak_ptr
---------------------------------------------------+------------------------
Reporter: Gaëtan Gaumer <gaetan.gaumer@â¦> | Owner: igaztanaga
Type: Bugs | Status: new
Milestone: To Be Determined | Component: interprocess
Version: Boost 1.47.0 | Severity: Problem
Keywords: interprocess vector weak_ptr |
---------------------------------------------------+------------------------
Here are two potential bugs discussed on boost-users mailing list when
using b::int::vector of b::i::weak_ptr
- 1 - Erase of an element delete the wrong post
The original post : http://lists.boost.org/boost-users/2010/11/64591.php
This bug is reproduced by the sample programm pasted here :
http://pastebin.com/yDCngGw4
It's still present in v1.50
- 2 - After a pushback sometimes the last element is not the one
push_backed.
The original post : http://lists.boost.org/boost-users/2012/07/75311.php
The sample program trying to reproduce the bug :
http://pastebin.com/rdpZA7CU
Note that this program does not reproduce the problem, as when it runs,
only the priv_range_insert_new_allocation method is called.
I don't know how to force the program to use
priv_range_insert_expand_backwards to reproduce the problem.
A sample of a trace when the bug occurs :
{{{
In priv_range_insert_expand_backwards possibility 4/8 and NOT do_after
After pushback in cableToUpdate vector last elem Id=50332165 added cable
Id =134218245
!--> sizeBefore=8, capacityBefore=8, sizeAfter=9, capacityAfter=13
CableToUpdate[16777216260, 16777216260, 16777216260, 50332165, 67109381,
16777216260, 16777216260, 16777216260, 50332165, ]
}}}
The 4 firsts elements are wrongly duplicated at index 5-8.
This vector corruption is perhaps done when the vector is resized from 5
to 8.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/7164> 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:10 UTC