<div dir="ltr">Hmm, valgrind shows QNetworkAccessManager is reading some location it shouldn't inside it's destructor:<div><br></div><div>



<div>
<span style="font-family:monospace"><span style="color:rgb(0,0,0)">==22353== Invalid read of size 8
</span><br>==22353==    at 0x59BE57E: QExplicitlySharedDataPointer<QNetworkConfigurationPrivate>::~QExplicitlySharedDataPointer() (in /home/jeremy/devel/kde/src/qt5build/qtbase/lib/libQt5Network.so.5.
<br>4.0)
<br>==22353==    by 0x59BD977: QNetworkConfiguration::~QNetworkConfiguration() (qnetworkconfiguration.cpp:304)
<br>==22353==    by 0x597B9E0: QNetworkAccessManagerPrivate::~QNetworkAccessManagerPrivate() (qnetworkaccessmanager.cpp:1488)
<br>==22353==    by 0x597BA6B: QNetworkAccessManagerPrivate::~QNetworkAccessManagerPrivate() (qnetworkaccessmanager.cpp:1499)
<br>==22353==    by 0x7E20C6F: QScopedPointerDeleter<QObjectData>::cleanup(QObjectData*) (qscopedpointer.h:54)
<br>==22353==    by 0x7E1F25A: QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::~QScopedPointer() (qscopedpointer.h:101)
<br>==22353==    by 0x7E147DA: QObject::~QObject() (qobject.cpp:882)
<br>==22353==    by 0x5978E02: QNetworkAccessManager::~QNetworkAccessManager() (qnetworkaccessmanager.cpp:466)
<br>==22353==    by 0x9083BA4: KIO::AccessManager::~AccessManager() (accessmanager.cpp:121)
<br>==22353==    by 0x9083BD3: KIO::AccessManager::~AccessManager() (accessmanager.cpp:126)
<br>==22353==    by 0x7E1614F: QObjectPrivate::deleteChildren() (qobject.cpp:1950)
<br>==22353==    by 0x7E14767: QObject::~QObject() (qobject.cpp:1030)
<br>==22353==  Address 0x1cd1b758 is not stack'd, malloc'd or (recently) free'd
<br>==22353==  <br>KCrash: crashing... crashRecursionCounter = 2
<br>KCrash: Application Name = khotnewstuff path = /home/jeremy/devel/kde/build/frameworks/knewstuff/tests pid = 22353
<br>KCrash: Arguments: /home/jeremy/devel/kde/build/frameworks/knewstuff/tests/khotnewstuff parley-themes.knsrc  <br>KCrash: Attempting to start /usr/local/lib/libexec/drkonqi from kdeinit
<br>sock_file=/run/user/1000/kdeinit5__0
<br>
<br>[1]+  Stopped                 valgrind --leak-check=full ./khotnewstuff parley-themes.knsrc<br><br></span></div></div><div><span style="font-family:monospace">then valgrind crashes too :/</span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace">BTW, this code is two files, a .h and .cpp in plasma-desktop/attica-kde/kdeplugin/ if anyone wants to see the code. I don't have any local changes besides adding qDebug() lines.</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Nov 16, 2014 at 6:09 PM, Jeremy Whiting <span dir="ltr"><<a href="mailto:jpwhiting@kde.org" target="_blank">jpwhiting@kde.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I'm not deleting anything in the destructor except m_wallet which is a KWallet. The crash is in the base class destructor QNetworkAccessManager. I'll try valgrind. good idea.</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Nov 16, 2014 at 4:38 PM, Albert Astals Cid <span dir="ltr"><<a href="mailto:aacid@kde.org" target="_blank">aacid@kde.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">El Dilluns, 17 de novembre de 2014, a les 00:33:17, Thomas Lübking va<br>
escriure:<br>
<div><div>> On Sonntag, 16. November 2014 21:50:03 CEST, Jeremy Whiting wrote:<br>
> > #10 0x00007ffff4e59150 in QObjectPrivate::deleteChildren (this=0xa12a10)<br>
> > at<br>
> > /home/jeremy/devel/kde/src/qt5/qtbase/src/corelib/kernel/qobject.cpp:1950<br>
> > #11 0x00007ffff4e57768 in QObject::~QObject (this=0xa0eff0,<br>
> > __in_chrg=<optimized out>) at<br>
> > /home/jeremy/devel/kde/src/qt5/qtbase/src/corelib/kernel/qobject.cpp:1030<br>
><br>
> You do not happen to delete a bechilded member in the destructor explicitly,<br>
> are you?<br>
><br>
> Ie, sth. like<br>
><br>
> KdePlatformDependent() : QObject() {<br>
>    m_accessmanager = new AccessManager(this);<br>
> }<br>
><br>
> ~KdePlatformDependent() {<br>
>    delete m_accessmanager;<br>
> }<br>
<br>
</div></div>Why would this be wrong?<br>
<br>
Cheers,<br>
  Albert<br>
<br>
><br>
> Cheers,<br>
> Thomas<br>
<br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>