[Telepathy] [PATCH] Fix crashes in FileTransfer and StreamTubes related to SocketAddressIPv4
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.
> telepathy mailing list
> telepathy at lists.freedesktop.org
GPG Key Signature: 511A9A3B
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 198 bytes
Desc: This is a digitally signed message part.
More information about the telepathy