[PATCH][modules][PR26237]

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:
>
>     Sorry.
>
>     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.
>
>     --Vassil
>
>     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>>
>>     wrote:
>>
>>         Attaching a fix to https://llvm.org/bugs/show_bug.cgi?id=26237
>>
>>         Please review.
>>
>>         Many thanks!
>>         --Vassil
>>
>>         _______________________________________________
>>         cfe-commits mailing list
>>         cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>
>>         http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160130/55d35e07/attachment-0001.html>


More information about the cfe-commits mailing list