Modify

Opened 5 years ago

Closed 4 years ago

#7164 closed Bugs (fixed)

[interprocess] Two potential bugs with b::int::vector of b::i::weak_ptr

Reported by: Gaëtan Gaumer <gaetan.gaumer@…> Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: interprocess
Version: Boost 1.47.0 Severity: Problem
Keywords: interprocess vector weak_ptr Cc: igaztanaga@…

Description

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.

Attachments (0)

Change History (3)

comment:1 Changed 5 years ago by Ion Gaztañaga

Resolution: fixed
Status: newclosed

(In [82810]) Fixes #7164 (first bug only)

comment:2 Changed 5 years ago by Ion Gaztañaga

Resolution: fixed
Status: closedreopened

Thanks for the report. The first bug it's caused by a missing assignment in weak_count. I'll reopen the bug until you can confirm current trunk code does not suffer from bug #2

comment:3 Changed 4 years ago by Ion Gaztañaga

Resolution: fixed
Status: reopenedclosed

No bug report received so closing the bug as fixed.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Ion Gaztañaga.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.