controlflowgraph plugin moved to kdereview ...
Sandro Andrade
sandro.andrade at gmail.com
Sat Jun 19 11:39:30 UTC 2010
Hi Niko,
Thanks for reporting this, I actually removed some unnecessary DUChain
locks some weeks ago, may be I am
misunderstanding this.
The function in which the assert hapenned
(DUChainControlFlow::processFunctionCall) is only called from other
functions which already holds a DUChain lock. I am considering the
locks are kept in ordinary function invocations
and when using signals/slots.
I mean:
X::m1()
{
DUChainReadLocker lock(DUChain::lock());
DUChainControlFlow::processFunctionCall();
}
or
X::m2()
{
DUChainReadLocker lock(DUChain::lock());
emit signalConnectedToProcessFunctionCall();
}
Since connections aren't queued wouldn't the locks be kept in this both cases ?
Thanks,
Sandro
On Sat, Jun 19, 2010 at 4:19 AM, Niko Sams <niko.sams at gmail.com> wrote:
> Hi,
>
> Great to see progress on this nice plugin!
>
> Do you run KDevelop in debug mode?
> because I hit this assert:
>
> ASSERT: "DUChain::lock()->currentThreadHasReadLock() ||
> DUChain::lock()->currentThreadHasWriteLock()" in file
> /home/niko/kdesvn/kdevelop/kdevplatform/language/duchain/functiondefinition.cpp,
> line 82
>
> [KCrash Handler]
> #4 0x00007f685eb61315 in raise () from /lib/libc.so.6
> #5 0x00007f685eb62811 in abort () from /lib/libc.so.6
> #6 0x00007f686082e7ed in qt_message_output(QtMsgType, char const*) ()
> from /usr/lib64/qt4/libQtCore.so.4
> #7 0x00007f686082e98d in ?? () from /usr/lib64/qt4/libQtCore.so.4
> #8 0x00007f686082eb25 in qFatal(char const*, ...) () from
> /usr/lib64/qt4/libQtCore.so.4
> #9 0x00007f685d3c8748 in KDevelop::FunctionDefinition::definition
> (decl=0x5526ce0) at
> /home/niko/kdesvn/kdevelop/kdevplatform/language/duchain/functiondefinition.cpp:82
> #10 0x00007f683bff1f64 in DUChainControlFlow::processFunctionCall
> (this=0x2513450, source=0x7f682c244310, target=0x5526ce0, use=...)
> at /home/niko/kdesvn/kdevelop/controlflowgraph/duchaincontrolflow.cpp:266
> #11 0x00007f683bfe29d2 in DUChainControlFlow::qt_metacall
> (this=0x2513450, _c=QMetaObject::InvokeMetaMethod, _id=6,
> _a=0x7f68412ea470)
> at /home/niko/kdesvn/build/kdevelop/controlflowgraph/moc_duchaincontrolflow.cpp:114
> #12 0x00007f6860947468 in QObject::event(QEvent*) () from
> /usr/lib64/qt4/libQtCore.so.4
>
> --
> KDevelop-devel mailing list
> KDevelop-devel at kdevelop.org
> https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel
>
More information about the KDevelop-devel
mailing list