<p>In my experience (i earlier tried it a few times), helgrind simply doesn't get it.</p>
<p><blockquote type="cite">Am 01.10.2010 01:50 schrieb "Milian Wolff" <<a href="mailto:mail@milianw.de">mail@milianw.de</a>>:<br><br><p><font color="#500050">On Thursday, 30. September 2010 18:47:02 Milian Wolff wrote:<br>
> Imo this is a valid complain, no? It ...</font></p>Maybe this is because Helgrind does not now our DUChain locks, does anyone<br>
have any idea on how to change this?<br>
<br>
Here is a similar race:<br>
<br>
==7178== Possible data race during read of size 4 at 0xf292328 by thread #6<br>
==7178==    at 0x684C1E0: KDevelop::TopDUContext::d_func() const<br>
(topducontext.h:391)<br>
==7178==    by 0x6887EE6: KDevelop::TopDUContext::usingImportsCache() const<br>
<p><font color="#500050">(topducontext.cpp:673)<br>==7178==    by 0x688C6DC: <br>KDevelop::TopDUContextLocalPrivate::addImportedCon...</font></p><p><font color="#500050">==7178==  This conflicts with a previous write of size 4 by thread #2</font></p>
==7178==    at 0x681C990:<br>
KDevelop::DocumentRangeObject::setData(KDevelop::DocumentRangeObjectData*,<br>
bool) (documentrangeobject.cpp:139)<br>
==7178==    by 0x68B3357:<br>
KDevelop::DUChainBase::setData(KDevelop::DocumentRangeObjectData*, bool)<br>
(duchainbase.cpp:74)<br>
==7178==    by 0x6895256: saveDUChainItem(QList<QPair<QByteArray, unsigned<br>
<p><font color="#500050">int> >&, KDevelop::DUChainBase&, unsigned int&) </font></p>(topducontextdynamicdata.cpp:69)<br>
<p><font color="#500050">==7178==    by 0x6898265: KDevelop::TopDUContextDynamicData::store() <br>(topducontextdynamicdata.cpp:5...</font></p><p><font color="#500050">==7178==    by 0x544BFBD: QThreadPrivate::start(void*) (qthread_unix.cpp:248)<br>
==7178==    by 0x40287...</font></p>==7178==  Address 0xf292328 is 8 bytes inside a block of size 36 alloc'd<br>
==7178==    at 0x4024C5C: operator new(unsigned int) (vg_replace_malloc.c:255)<br>
==7178==    by 0x6894BB6: KDevelop::DUChainItemFactory<KDevelop::TopDUContext,<br>
KDevelop::TopDUContextData>::create(KDevelop::DUChainBaseData*) const<br>
(duchainregister.h:49)<br>
<p><font color="#500050"><br>-- <br>Milian Wolff<br><a href="mailto:mail@milianw.de">mail@milianw.de</a><br><a href="http://milianw.de">http://milianw.de</a></font></p><br>--<br>
KDevelop-devel mailing list<br>
<a href="mailto:KDevelop-devel@kdevelop.org">KDevelop-devel@kdevelop.org</a><br>
<a href="https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel" target="_blank">https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel</a><br>
<br></blockquote></p>