[Telepathy] [PATCH] Fix crashes in FileTransfer and StreamTubes related to SocketAddressIPv4

Dario Freddi drf54321 at gmail.com
Mon May 3 11:18:18 PDT 2010

On Monday 03 May 2010 19:51:33 Simon McVittie wrote:
> On Sun, 02 May 2010 at 12:31:34 +0200, Dario Freddi wrote:
> > so after some further debugging with George, we found out the problem
> > that made File transfers and stream tubes crash. It looks like dbus-glib
> > is sending u instead of q, due to the fact that it is not capable of
> > sending q, hence the struct as received by QtDBus is (su).
> There are (meant to be) tests for file transfers in telepathy-qt4. If this
> is because of a workaround in FT, could that workaround be applied
> elsewhere? If not, why aren't the FT tests crashing in the same way?

FT examples are actually crashing in the very same way (that's also why I 
started debugging DBus, otherwise I would have blamed myself for the crash). 
Also, I'd like to stress the fact that this is not a workaround, but a 
concrete solution. The spec at the moment is wrong as u is always returned 
instead of q. 

It would be a workaround changing the spec _only_ in tp-qt4, where we would 
actually end up having an inconsistency. The real solutions are:

 * Apply my changes to the whole Telepathy spec
 * Fix dbus-glib and make all CM adhere to the spec

If both of them are not possible, I can add a real workaround, which consists 
in adding another structure with signature (su) as a private type, and cast to 
that structure if casting to (sq) fails.

> > On a side note, I'd propose to change this in Telepathy spec itself,
> > given that as wjt confirmed, u is always used instead of q in some
> > places, and it might lead to similar situations.
> This is <https://bugs.freedesktop.org/show_bug.cgi?id=20776>. There's a
> branch there, although it may need updating. However, I was under the
> impression that it could be worked around in QtDBus/Telepathy-Qt4...
> This would be an ABI break for telepathy-qt4, although possibly only in ABI
> that has never worked.

Definitely - but if the spec can't be changed globally, I'd suggest applying 
my workaround as described above, which despite being uglier does not break 
ABI and makes Tp-Qt4 still adhere to the "real" specification.

IMHO, using a different spec for tp-qt4 and tp-glib is asking for trouble, and 
even if this is a special case, it would still be a precedent.

Just my two cents.

>     Simon
> _______________________________________________
> telepathy mailing list
> telepathy at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/telepathy


Dario Freddi
KDE Developer
GPG Key Signature: 511A9A3B
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/telepathy/attachments/20100503/383294fd/attachment-0001.pgp>

More information about the telepathy mailing list