[ad_1]
I can only assume that a side effect of calculateSomeValue() is changing a which invalidates all iterators.
Since the order of evaluation of arguments in a.insert(a.begin(), calculateSomeValue()); is unspecified it could be that a.begin() is evaluated before calculateSomeValue() invalidates all iterators to a. Which is undefined behaviour.
[ad_2]
solved discussion about the scenarios that the insertion function of an STL vector may not work [closed]