[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-release-team
Subject: Re: Review Request: Fix crash in nepomuk services after a timeout
From: "David Faure" <faure () kde ! org>
Date: 2012-07-10 15:57:32
Message-ID: 20120710155732.24819.7816 () vidsolbach ! de
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
-----------------------------------------------------------
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.
Changes
-------
Sorry, wrong patch/description combination. Fixed.
Summary (updated)
-----------------
Fix crash in nepomuk services after a timeout
Description (updated)
-------
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 (updated)
-------
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
[Attachment #5 (text/html)]
<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 \
solid;"> <tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="http://git.reviewboard.kde.org/r/105507/">http://git.reviewboard.kde.org/r/105507/</a>
</td>
</tr>
</table>
<br />
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" \
style="background-image: \
url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); \
background-position: left top; background-repeat: repeat-x; border: 1px black \
solid;"> <tr>
<td>
<div>Review request for Nepomuk and Release Team.</div>
<div>By David Faure.</div>
<p style="color: grey;"><i>Updated July 10, 2012, 3:57 p.m.</i></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0"> <tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">Sorry, wrong patch/description combination. Fixed.</pre> </td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Summary \
(updated)</h1> <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" \
style="border: 1px solid #b8b5a0"> <tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">Fix crash in nepomuk services after a timeout</pre> </td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description \
(updated)</h1> <table width="100%" bgcolor="#ffffff" cellspacing="0" \
cellpadding="10" style="border: 1px solid #b8b5a0"> <tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">Fix crash due to other threads using the model at the time it gets \
deleted. No proper solution found though, with the current API.</pre> </td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing \
(updated)</h1> <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" \
style="border: 1px solid #b8b5a0"> <tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">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"...</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>libnepomukcore/resource/nepomukmainmodel.cpp <span style="color: \
grey">(ba2626f)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/105507/diff/" style="margin-left: \
3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>
_______________________________________________
release-team mailing list
release-team@kde.org
https://mail.kde.org/mailman/listinfo/release-team
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic