[Boost-bugs] [Boost C++ Libraries] #11801: Recursive modify in multi_index sometimes does not update index correctly

Subject: [Boost-bugs] [Boost C++ Libraries] #11801: Recursive modify in multi_index sometimes does not update index correctly
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-11-18 10:04:08


#11801: Recursive modify in multi_index sometimes does not update index correctly
-------------------------------------------------+-------------------------
 Reporter: Valentyn Shtronda <valiko.ua@…> | Owner: joaquin
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: multi_index
  Version: Boost 1.59.0 | Severity: Problem
 Keywords: multi_index multi_index_container |
  recursive modify |
-------------------------------------------------+-------------------------
 Please use attached simplified file to reproduce the problem.
 I used boost 1.59 with VS2015.
 Reproduced in all 4 configurations (debug/release, x86/x64).
 I'm not sure if it's a bug or limitation of multi_index, but commenting
 any line in fill_test_date() fixes the problem, so seems like a bug in
 some specific conditions.
 If it's multi_index limitation, please mention this in description of
 modify/modify_key.

 The problem:
 multi_index container has two keys ordered_unique and ordered_non_unique.
 In calc_layer() I call modify() on first index and change the key of
 second index.
 During calculation of new key for second index, other recursive calls to
 modify() may be performed.
 All calls to modify() return true but in some cases second index is not
 correctly ordered in we see message "WRONG SORT ORDER BY LAYER".

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11801>
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:19 UTC