--===============0158096812== Content-Type: multipart/signed; boundary="nextPart1354982.pCZ0t2Hg0U"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit --nextPart1354982.pCZ0t2Hg0U Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Bart Van Assche wrote: >Hello, > >While analyzing KDE applications with a thread checker I noticed that >there is a serious problem in Qt3: the implementation of the class >QShared in Qt3 is not threadsafe. This can cause spurious and hard to >find crashes in KDE applications like Amarok that share Qt-objects >over threads. I have contacted Trolltech about this, and Trolltech >told me that Qt3 has reached end-of-life and that they won't fix this. >Trolltech also told me that the KDE project keeps a collection of >patches for Qt3. This leads to the following questions: >* How important is Qt3 for the KDE project ? Is there still a >significant number of people using Qt3, or will everyone switch to Qt4 >shortly ? There can't be a wholesale switch in a short time frame. There are very=20 many installations still out there that will need at least two years to=20 switch, maybe even more. But KDE developers are now focussing on the KDE 4 applications, which are=20 based on Qt 4. In that version, the shared classes are thread-safe (they=20 were designed from the ground up to be so). >* If it is considered relevant to fix this kind of issue, where can I >find the collection of Qt3 patches and how can I submit Qt3 patches ? The collection of patches can be found in branches/qt/3.3/qt-copy/patches/= =20 on our Subversion server. The link to websvn is: branches/qt/3.3/qt-copy/patches/ But amarok solved the problem in a different fashion: they make all=20 threads of theirs specific to a single processor. That avoids those race=20 conditions, up to a certain extent. But I have to tell you: this is a bug in Amarok, not in Qt. They should be= =20 making deep copies of all objects that will be used in a different=20 thread. =2D-=20 =A0 Thiago Macieira =A0- =A0thiago (AT) macieira.info - thiago (AT) kde.org =A0 =A0 PGP/GPG: 0x6EF45358; fingerprint: =A0 =A0 E067 918B B660 DBD1 105C =A0966C 33F5 F005 6EF4 5358 --nextPart1354982.pCZ0t2Hg0U 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) iD8DBQBICg/kM/XwBW70U1gRAnm0AKC8s1VnhU38MOlNKhJqrVI1Xr7ghwCgt7t4 yFZVd3GQsBMqiunY85/dlrU= =l6zO -----END PGP SIGNATURE----- --nextPart1354982.pCZ0t2Hg0U-- --===============0158096812== 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 << --===============0158096812==--