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