Boost logo

Boost Users :

From: Manges, Ross G (Ross.G.Manges_at_[hidden])
Date: 2005-04-13 12:37:40


> Date: Wed, 13 Apr 2005 06:58:01 +0000 (UTC)
> From: Joaquin M Lopez Munoz <joaquin_at_[hidden]>
> Subject: [Boost-users] Re: MultiIndexSet invariant test failure
> To: boost-users_at_[hidden]
> Message-ID: <loom.20050413T084751-297_at_[hidden]>
> Content-Type: text/plain; charset=utf-8
>
> So, once you have mutex-guarded your code, the problem
> does not show? Please confirm.
The invariant test fails (asserts) on a call to 'insert()' regardless of
my mutex
gaurds. I have even gone as far as to wrap 'read' methods such as calls
to 'size()'
and 'empty()' with mutexes.

> Other than that, you'll have to guard your code with
> mutexes like you say you're doing now.
Yes, I understand this, but it seems that the invariant assertion is
happening
and it may not (?) necessarily be related to a threading issue.
According to my
backtrace, it appears that I do not have a thread contention issue.
There is only one thread that is performing a call to any of the
container methods
(the other threads are waiting on a mutex release), and that call is
'insert()',
 and it is causing the aforementioned invariant assert.

The invariant assert does not happen during every test run, but it does
happen frequently.
What are the kinds of things that could cause the invariant assert? The
documentation
doesn't go into any great detail in this area.

> Hope this helps. Best regards,
Any help is most welcome; thanks!


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net