<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 30/01/16 18:36, David Blaikie wrote:<br>
</div>
<blockquote
cite="mid:CAENS6EsVSKOJSXGWZUOz9+pg5=LTSiM_f+ypf5AvJ-VA-m3Hzw@mail.gmail.com"
type="cite">
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Sat, Jan 30, 2016 at 9:00 AM,
Vassil Vassilev <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:v.g.vassilev@gmail.com" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:v.g.vassilev@gmail.com">v.g.vassilev@gmail.com</a></a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>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.</div>
</div>
</blockquote>
<div><br>
</div>
<div>Sorry, I think I didn't explain myself well. What I
mean is - due to the instability of test cases for UB
(especially library UB), we don't usually commit test
cases for them - we just fix them without tests. About the
only time I think committing a test is helpful for UB
(especially library UB) is if we have a reliable way to
test/catch the UB (eg: the sanitizers or a checking STL
that fails fast on validation violations). So, while it
would be good to provide/demonstrate your test case, I
would not commit the test case unless it's a minimal
reproduction in the presence of one of those tools
(sanitizers or checking STL) - and would just commit the
fix without a test case, usually. <br>
<br>
(I'm not actually reviewing this patch - I don't know much
about the modules code, but just providing a bit of
context and first-pass-review)</div>
</div>
</div>
</div>
</blockquote>
Got it. Thanks!<br>
--Vassil<br>
<blockquote
cite="mid:CAENS6EsVSKOJSXGWZUOz9+pg5=LTSiM_f+ypf5AvJ-VA-m3Hzw@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>
<div>
<div class="h5"><br>
On 30/01/16 17:37, David Blaikie wrote:<br>
</div>
</div>
</div>
<div>
<div class="h5">
<blockquote type="cite">
<p dir="ltr">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</p>
<div class="gmail_quote">On Jan 30, 2016 8:23 AM,
"Vassil Vassilev" <<a moz-do-not-send="true"
href="mailto:v.g.vassilev@gmail.com"
target="_blank">v.g.vassilev@gmail.com</a>>
wrote:<br type="attribution">
<blockquote class="gmail_quote" style="margin:0
0 0 .8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Sorry.<br>
<br>
Our module builds choke on merging several
modules, containing declarations from STL
(we are using libc++, no modulemaps).<br>
<br>
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.<br>
<br>
--Vassil<br>
<br>
On 30/01/16 17:08, David Blaikie wrote:<br>
</div>
<blockquote type="cite">
<p dir="ltr">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</p>
<div class="gmail_quote">On Jan 30, 2016
6:49 AM, "Vassil Vassilev via
cfe-commits" <<a
moz-do-not-send="true"
href="mailto:cfe-commits@lists.llvm.org"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a></a>>
wrote:<br type="attribution">
<blockquote class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">Attaching a
fix to <a moz-do-not-send="true"
href="https://llvm.org/bugs/show_bug.cgi?id=26237"
rel="noreferrer" target="_blank">https://llvm.org/bugs/show_bug.cgi?id=26237</a><br>
<br>
Please review.<br>
<br>
Many thanks!<br>
--Vassil<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a moz-do-not-send="true"
href="mailto:cfe-commits@lists.llvm.org"
target="_blank">cfe-commits@lists.llvm.org</a><br>
<a moz-do-not-send="true"
href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits"
rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
<br>
</blockquote>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
<br>
</body>
</html>