----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/105507/#review15632 -----------------------------------------------------------
Ship it! Could you please add a FIXME in the comment? Just so that it becomes more obvious. - Vishesh Handa On July 10, 2012, 3:57 p.m., David Faure wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/105507/ > ----------------------------------------------------------- > > (Updated July 10, 2012, 3:57 p.m.) > > > Review request for Nepomuk and Release Team. > > > Description > ------- > > Fix crash due to other threads using the model at the time it gets deleted. > No proper solution found though, with the current API. > > > Diffs > ----- > > libnepomukcore/resource/nepomukmainmodel.cpp ba2626f > > Diff: http://git.reviewboard.kde.org/r/105507/diff/ > > > Testing > ------- > > Running nepomukqueryservice in valgrind gave this: > > "/d/kde/inst/kde4.9/bin/nepomukservicestub(19732)" Soprano: "Timeout (5)": > "Command timed out." > ==19732== Thread 3: > ==19732== Invalid read of size 8 > ==19732== at 0xC5AB6DA: > QPointer<Soprano::Client::ClientConnection>::operator->() const > (qpointer.h:74) > ==19732== by 0xC5AA70A: Soprano::Client::ClientModel::executeQuery(QString > const&, Soprano::Query::QueryLanguage, QString const&) const > (clientmodel.cpp:106) > ==19732== by 0x68E9319: Nepomuk2::MainModel::executeQuery(QString const&, > Soprano::Query::QueryLanguage, QString const&) const > (nepomukmainmodel.cpp:182) > ==19732== by 0x12BDDEED: Nepomuk2::Query::SearchRunnable::run() > (searchrunnable.cpp:89) > ==19732== by 0x4ECA2FC: QThreadPoolThread::run() (qthreadpool.cpp:107) > ==19732== by 0x4EDAF27: QThreadPrivate::start(void*) (qthread_unix.cpp:307) > ==19732== by 0x53CCF04: start_thread (in /lib64/libpthread-2.14.1.so) > ==19732== by 0x86CD10C: clone (in /lib64/libc-2.14.1.so) > ==19732== Address 0x117af938 is 72 bytes inside a block of size 80 free'd > ==19732== at 0x4C28706: operator delete(void*) (vg_replace_malloc.c:457) > ==19732== by 0xC5AA2ED: Soprano::Client::ClientModel::~ClientModel() > (clientmodel.cpp:58) > ==19732== by 0x68E8BAB: (anonymous > namespace)::GlobalModelContainer::init(bool) (nepomukmainmodel.cpp:82) > ==19732== by 0x68E8E58: (anonymous > namespace)::GlobalModelContainer::model() (nepomukmainmodel.cpp:100) > ==19732== by 0x68E932D: Nepomuk2::MainModel::executeQuery(QString const&, > Soprano::Query::QueryLanguage, QString const&) const > (nepomukmainmodel.cpp:183) > ==19732== by 0x12BDDEED: Nepomuk2::Query::SearchRunnable::run() > (searchrunnable.cpp:89) > ==19732== by 0x4ECA2FC: QThreadPoolThread::run() (qthreadpool.cpp:107) > ==19732== by 0x4EDAF27: QThreadPrivate::start(void*) (qthread_unix.cpp:307) > ==19732== by 0x53CCF04: start_thread (in /lib64/libpthread-2.14.1.so) > ==19732== by 0x86CD10C: clone (in /lib64/libc-2.14.1.so) > ==19732== > > No crash anymore after this "fix"... > > > Thanks, > > David Faure > >
_______________________________________________ Nepomuk mailing list [email protected] https://mail.kde.org/mailman/listinfo/nepomuk
