Ticket #4181 (closed defect: fixed)

Opened 4 months ago

Last modified 3 months ago

TB when a contact is reconnecting while a conversation window with him is opened

Reported by: geekounet Owned by:
Priority: normal Milestone: 0.12
Component: None Version: svn
Severity: normal Keywords:
Cc: OS: All

Description

Hi, using the latest SVN version, I get this TB when a contact is reconnecting if a conversation window is opened with him :

Traceback (most recent call last):
  File "/usr/share/gajim/src/common/xmpp/idlequeue.py", line 132, in process_events
    obj.pollin()
  File "/usr/share/gajim/src/common/xmpp/transports_nb.py", line 351, in pollin
    self._do_receive()
  File "/usr/share/gajim/src/common/xmpp/transports_nb.py", line 496, in _do_receive
    self.on_receive(received)
  File "/usr/share/gajim/src/common/xmpp/dispatcher_nb.py", line 355, in dispatch
    handler['func'](session,stanza)
  File "/usr/share/gajim/src/common/connection_handlers.py", line 2162, in _presenceCB
    keyID, timestamp, contact_nickname))
  File "/usr/share/gajim/src/common/connection.py", line 181, in dispatch
    self.put_event((event, data))
  File "/usr/share/gajim/src/common/connection.py", line 177, in put_event
    gajim.handlers[ev[0]](self.name, ev[1])
  File "gajim.py", line 828, in handle_event_notify
    account)
  File "/usr/share/gajim/src/roster_window.py", line 2035, in chg_contact_status
    ctrl.update_status_display(name, uf_show, status)
  File "/usr/share/gajim/src/chat_control.py", line 2591, in update_status_display
    self.update_ui()
  File "/usr/share/gajim/src/chat_control.py", line 1408, in update_ui
    self.update_toolbar()
  File "/usr/share/gajim/src/chat_control.py", line 1195, in update_toolbar
    if gajim.capscache.is_supported(self.contact, NS_FILE):
  File "/usr/share/gajim/src/common/caps.py", line 205, in is_supported
    features = self[(contact.caps_hash_method, contact.caps_node + '#' + \
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

And then all following events are blocked for a while, until I change my status...

Attachments

Change History

Changed 4 months ago by asterix

I'm not able to reproduce :/ if you can, can you run gajim -v and show us the XML before you get the traceback?

a way to reproduce that? what client your contact was using?

Changed 4 months ago by anonymous

It happened with differents contacts using differents clients (Gajim, Pidgin, GMail), I get this with gajim -v : http://rafb.net/p/YsVO6786.html I'll try to get the XML next time it will happens. (Sorry for using a pastebin, but your antispam doesn't seem to like me)

Changed 4 months ago by geekounet

Hm, maybe the antispam didn't like me because I wasn't logged in :P

Well, here is a full trace, I tested with 2 accounts of mine, the first with Gajim, the other on Psi 0.13 :

<presence from='geekounet@jaim.at/Korriban/Gentoo/Psi' to='geekounet@jabber.poildetroll.net/Korriban/Gentoo/Gajim' xml:lang='en' type='unavailable'>
<status>Logged out</status>
</presence>

<presence from='geekounet@jaim.at/Korriban/Gentoo/Psi' to='geekounet@jabber.poildetroll.net/Korriban/Gentoo/Gajim' xml:lang='en'>
<priority>40</priority>
<c xmlns='http://jabber.org/protocol/caps' node='http://psi-im.org/caps' ver='0.13-dev-rev1' ext='cs ep-notify'/>
<x xmlns='vcard-temp:x:update'>
<photo>29011a746ca491c30d6791a46dee80bdf3d676eb</photo>
</x>
</presence>
DEBUG: socket       got   <presence from='geekounet@jaim.at/Korriban/Gentoo/Psi' to='geekounet@jabber.poildetroll.net/Korriban/Gentoo/Gajim' xml:lang='en' type='unavailable'>\n<status>Logged out</status>\n</presence>
DEBUG: dispatcher   ok    Got jabber:client/presence stanza
DEBUG: dispatcher   ok    Dispatching presence stanza with type->unavailable props->[u'jabber:client'] id->None
08 Aug 2008 01:31:10 Gajim: PresenceCB: unavailable
DEBUG: socket       got   <presence from='geekounet@jaim.at/Korriban/Gentoo/Psi' to='geekounet@jabber.poildetroll.net/Korriban/Gentoo/Gajim' xml:lang='en'>\n<priority>40</priority>\n<c xmlns='http://jabber.org/protocol/caps' node='http://psi-im.org/caps' ver='0.13-dev-rev1' ext='cs ep-notify'/>\n<x xmlns='vcard-temp:x:update'>\n<photo>29011a746ca491c30d6791a46dee80bdf3d676eb</photo>\n</x>\n</presence>
DEBUG: dispatcher   ok    Got jabber:client/presence stanza
DEBUG: dispatcher   ok    Dispatching presence stanza with type-> props->[u'jabber:client', u'http://jabber.org/protocol/caps', u'vcard-temp:x:update'] id->None
08 Aug 2008 01:31:37 Gajim: PresenceCB: None
Traceback (most recent call last):
  File "/usr/share/gajim/src/common/xmpp/idlequeue.py", line 132, in process_events
    obj.pollin()
  File "/usr/share/gajim/src/common/xmpp/transports_nb.py", line 351, in pollin
    self._do_receive() 
  File "/usr/share/gajim/src/common/xmpp/transports_nb.py", line 496, in _do_receive
    self.on_receive(received)
  File "/usr/share/gajim/src/common/xmpp/dispatcher_nb.py", line 355, in dispatch
    handler['func'](session,stanza)
  File "/usr/share/gajim/src/common/connection_handlers.py", line 2162, in _presenceCB
    keyID, timestamp, contact_nickname))
  File "/usr/share/gajim/src/common/connection.py", line 181, in dispatch
    self.put_event((event, data))
  File "/usr/share/gajim/src/common/connection.py", line 177, in put_event
    gajim.handlers[ev[0]](self.name, ev[1])
  File "gajim.py", line 828, in handle_event_notify
    account)
  File "/usr/share/gajim/src/roster_window.py", line 2035, in chg_contact_status
    ctrl.update_status_display(name, uf_show, status)
  File "/usr/share/gajim/src/chat_control.py", line 2591, in update_status_display
    self.update_ui()
  File "/usr/share/gajim/src/chat_control.py", line 1408, in update_ui
    self.update_toolbar()
  File "/usr/share/gajim/src/chat_control.py", line 1195, in update_toolbar
    if gajim.capscache.is_supported(self.contact, NS_FILE):
  File "/usr/share/gajim/src/common/caps.py", line 205, in is_supported
    features = self[(contact.caps_hash_method, contact.caps_node + '#' + \
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

Changed 3 months ago by geekounet

I confirm that this problem occur since your changes in r10129. I don't have the problem using a caps.py from a prior revision.

Changed 3 months ago by asterix

  • status changed from new to closed
  • resolution set to fixed
  • milestone set to 0.12

(In [10178]) fix typo. Now caps are correctly reset when a contact goes offline. Fixes #4181

Add/Change #4181 (TB when a contact is reconnecting while a conversation window with him is opened)

Author



Change Properties
<Author field>
Action
as closed
Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.