Vassil Vassilev via cfe-commits
cfe-commits at lists.llvm.org
Sat Jan 30 09:00:19 PST 2016
AFAICT the making a test case independent on STL is the hard part. I
think it will be always failing due to the relocation of the memory
region of the underlying SmallVector.
On 30/01/16 17:37, David Blaikie wrote:
> Yeah, it's good to have a reproduction, but I wouldn't actually commit
> one - unless you have a checked stl to test against that always fails
> on possibly-invalidating sequences of operations, then you'd have a
> fairly simple reproduction
> On Jan 30, 2016 8:23 AM, "Vassil Vassilev" <v.g.vassilev at gmail.com
> <mailto:v.g.vassilev at gmail.com>> wrote:
> Our module builds choke on merging several modules, containing
> declarations from STL (we are using libc++, no modulemaps).
> When writing a new module containing the definition of a STL
> reverse_iterator, it collects all its template specializations.
> Some of the specializations need to be deserialized from a third
> module. This triggers an iterator invalidation bug because of the
> deserialization happening when iterating the specializations
> container itself. This happens only when the container's capacity
> is exceeded and the relocation invalidates the iterators and at
> best causes a crash (see valgrind reports in the bug report).
> Unfortunately I haven't been able to make the reproducer
> independent on STL.
> On 30/01/16 17:08, David Blaikie wrote:
>> It might be handy to give an overview of the issue in the review
>> (& certainly in the commit) message rather than only citing the
>> bug number
>> On Jan 30, 2016 6:49 AM, "Vassil Vassilev via cfe-commits"
>> <cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>>
>> Attaching a fix to https://llvm.org/bugs/show_bug.cgi?id=26237
>> Please review.
>> Many thanks!
>> cfe-commits mailing list
>> cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-commits