[Nepomuk] Bug 317168 - soprano 2.9.1 incompatible with nepomuk 4.10.2
Vishesh Handa
me at vhanda.in
Fri May 10 15:15:30 UTC 2013
Hey Simeon
I debugged the issue and figured it out. It was bug in Soprano. Could you
possibly test it?
commit cb1ba2cb833940e00de29790284bf017938a7a09
Author: Vishesh Handa <me at vhanda.in>
Date: Fri May 10 20:34:38 2013 +0530
ServerCore: Avoid using qDeleteAll for the connections
Each delete operation modifies the d->connections list. Therefore we
cannot use qDeleteAll as qDeleteAll internally uses iterators.
This was never a problem before because the connections were never
actually deleted because of a bug fixed by 5acc205e25e
diff --git a/server/servercore.cpp b/server/servercore.cpp
index fc4d462..1ef09f9 100644
--- a/server/servercore.cpp
+++ b/server/servercore.cpp
@@ -73,7 +73,10 @@ Soprano::Server::ServerCore::~ServerCore()
#ifdef BUILD_DBUS_SUPPORT
delete d->dbusController;
#endif
- qDeleteAll( d->connections );
+ // We avoid using qDeleteAll because d->connections is modified by
each delete operation
+ foreach(const Soprano::Server::ServerConnection* con, d->connections) {
+ delete con;
+ }
qDeleteAll( d->models );
delete d->modelPool;
delete d;
@@ -181,7 +184,11 @@ bool Soprano::Server::ServerCore::listen( quint16 port
)
void Soprano::Server::ServerCore::stop()
{
- qDeleteAll( d->connections );
+ qDebug() << "Stopping and deleting";
+ // We avoid using qDeleteAll because d->connections is modified by
each delete operation
+ foreach(const Soprano::Server::ServerConnection* con, d->connections) {
+ delete con;
+ }
qDeleteAll( d->models );
delete d->tcpServer;
I still haven't pushed it. It fixes the crash for me. Once you confirm,
I'll release Soprano 2.9.2 with this patch.
On Thu, May 9, 2013 at 9:28 AM, Simeon Bird <bladud at gmail.com> wrote:
> >> We could just revert that commit (which is only needed for master) and
> >> re-release soprano 2.9.2, I suppose. And then re-release another
> >> soprano version with the commit when 4.11 is released.
> >
> >
> > My bad. I shouldn't have put that patch in Soprano 2.9.1. I was hoping to
> > only have to do the release once for the next six months since I do not
> see
> > any other changes that will be required in Soprano for 4.11
> >
> > I think the only possible solution is to release a new Soprano version
> > (2.9.2?) with the reverted patch. Though maybe KDE/4.10 would be the
> correct
> > place to fix this .. hmm.
>
> Yeah, 2.9.2 with the revert sounds good. Thinking about it, any
> KDE/4.10 fix would be a hack - plus it would have to wait a full month
> and would only be in use for one minor version, so it doesn't seem
> worth the effort
>
> Simeon
>
--
Vishesh Handa
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/nepomuk/attachments/20130510/a9ddc7ec/attachment.html>
More information about the Nepomuk
mailing list