Summary: | ktp-text-ui crashes, possibly on "bad" sent/received message | ||
---|---|---|---|
Product: | [Unmaintained] telepathy | Reporter: | Maksim Melnikau <maxposedon> |
Component: | text-ui | Assignee: | Telepathy Bugs <kde-telepathy-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | kde |
Priority: | NOR | ||
Version: | 0.5.2 | ||
Target Milestone: | Future | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/telepathy-text-ui/4cc1135127905d3681655e19a1a3d403f3d7c3d1 | Version Fixed In: | 0.5.3 |
Sentry Crash Report: |
Description
Maksim Melnikau
2013-01-19 22:15:01 UTC
I downgraded to 0.5.1 kde-telepathy version, and everything is works, so its some kind of regression. It's a null sender() in the receivedMessage. Will happen in the ContactHandle isn't one Telepathy knows about. Pretty sure there was another crash on that here too for the same issue, that happened once in a jabber chatroom and no-one could repeat. The thing is I don't know if it's a bug in TpQt, or whether this is a legitimate situation, and we should always check. I don't want to add in workarounds in our code if it's not where the real problem is. I think segfault on incorrect dbus message is always a bug, data should be checked, warning putted, and message skipped. And as I see processMessageQueue have check for such kind of situations: void TextChannel::Private::processMessageQueue() { while (!incompleteMessages.isEmpty()) { if (e->isMessage) { if (e->message.senderHandle() != 0 && !e->message.sender()) { break; } emit parent->messageReceived(e->message); } And yes, in my echo CM I make a bug, and message-sender header part is missed. But accrording too http://telepathy.freedesktop.org/spec/Channel_Interface_Messages.html#Simple-Type:Message_Header_Key: message-sender (u - Contact_Handle) The contact who sent the message. If 0 or omitted, the contact who sent the message could not be determined. And this is kind-of situation which happened in jabber room in your, David Edmundson, example. Brilliant, that's all the info I need. Will fix. Git commit 4cc1135127905d3681655e19a1a3d403f3d7c3d1 by David Edmundson. Committed on 27/01/2013 at 20:40. Pushed by davidedmundson into branch 'kde-telepathy-0.5'. Check messages.sender() is valid before using it. REVIEW: 108508 M +15 -9 lib/chat-widget.cpp http://commits.kde.org/telepathy-text-ui/4cc1135127905d3681655e19a1a3d403f3d7c3d1 |