From kde-devel Wed Sep 16 22:23:14 2009 From: Milian Wolff Date: Wed, 16 Sep 2009 22:23:14 +0000 To: kde-devel Subject: Re: KDirWatch::contains() crashes Message-Id: <200909170023.18539.mail () milianw ! de> X-MARC-Message: https://marc.info/?l=kde-devel&m=125313987922130 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============1914392639==" --===============1914392639== Content-Type: multipart/signed; boundary="nextPart1345462.SHmYJzVNIm"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit --nextPart1345462.SHmYJzVNIm Content-Type: Text/Plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Aleix Pol, 16.09.2009: > On Wed, Sep 16, 2009 at 12:19 AM, Milian Wolff wrote: > > Hello! > > > > In KDevelop we spot crashes like these every now and then: > > > > #6 KDirWatchPrivate::entry (this=3D0x50, _path=3D@0xbfd7d5b8) at > > /usr/include/qt4/QtCore/qmap.h:172 > > #7 0xb7b77bed in KDirWatch::contains (this=3D0xa1f0bf0, _path=3D@0xbfd= 7d5b8) > > at > > /build/buildd/kde4libs-4.3.1/kio/kio/kdirwatch.cpp:1717 > > #8 0xaa8f074e in CMakeManager::dirtyFile (this=3D0x9e65900, > > dirty=3D@0xbfd7d5b8) > > at kdevelop/projectmanagers/cmake/cmakemanager.cpp:797 > > ... > > > > The code is: > > void CMakeManager::dirtyFile(const QString & dirty) > > { > > ... > > else { > > foreach(KDevelop::IProject* project, m_watchers.uniqueKeys()) > > { > > if(m_watchers[project]->contains(dirty)) // this is loc 797 > > reload(project->projectItem()); > > } > > } > > } > > > > Has anyone an idea what the problem is? Is it not safe to call > > ::contains() from a dirty() slot? > > -- > > Milian Wolff > > mail@milianw.de > > http://milianw.de > > > > >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to > > > > unsubscribe << >=20 > Can you reproduce that? do you have the full backtrace? Not consistently, but I think apaku will remember as well that we also got = the=20 same / a similar backtrace for the genericmanager some time ago. And as I=20 remember not once. Hence why I posted this here after I encountered it myse= lf=20 (albeit in the cmake manager). I think I'll have to do some more stress-testing with randomly, adding &=20 deleting items in a project while running valgrind. That should hopefully=20 clear things up. =2D-=20 Milian Wolff mail@milianw.de http://milianw.de --nextPart1345462.SHmYJzVNIm Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEABECAAYFAkqxZVIACgkQDA6yEs0dE5PcPwCfRD79cL+gialCq5FsqHL+EN8H xlkAn35zxOxG1gDfdpLC4SbKgmhHXi+8 =ckwP -----END PGP SIGNATURE----- --nextPart1345462.SHmYJzVNIm-- --===============1914392639== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline >> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe << --===============1914392639==--