[Bug 28439] New: Traceback (KeyError) when user left a conversation with more than one user

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Jun 8 12:24:03 CEST 2010


https://bugs.freedesktop.org/show_bug.cgi?id=28439

           Summary: Traceback (KeyError) when user left a conversation
                    with more than one user
           Product: Telepathy
           Version: git master
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: papyon
        AssignedTo: louis-francis.ratte-boulianne at collabora.co.uk
        ReportedBy: louiz at louiz.org
         QAContact: telepathy-bugs at lists.freedesktop.org


A papyon client CREATES a conversation with one contact, then invites one other
contact. If the papyon client then leaves (papyon.Conversation.leave()) the
conversation, the other clients don't get the "client left the conversation"
message, and we are still in the conversation (we still receive the message
sent in it).
Then, if both the two client leave the conversation, you get this traceback :


Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/papyon/switchboard_manager.py", line 77,
in <lambda>
    lambda sb, contact: self.__on_user_left(contact))
  File "/usr/lib/pymodules/python2.6/papyon/switchboard_manager.py", line 138,
in __on_user_left
    self._on_contact_left(contact)
  File "/usr/lib/pymodules/python2.6/papyon/msnp2p/transport/switchboard.py",
line 80, in _on_contact_left
    self.close()
  File "/usr/lib/pymodules/python2.6/papyon/msnp2p/transport/switchboard.py",
line 42, in close
    BaseP2PTransport.close(self)
  File "/usr/lib/pymodules/python2.6/papyon/msnp2p/transport/base.py", line 76,
in close
    self._transport_manager._unregister_transport(self)
  File
"/usr/lib/pymodules/python2.6/papyon/msnp2p/transport/transport_manager.py",
line 72, in _unregister_transport
    signals = self._transport_signals[transport]
KeyError: <SwitchboardP2PTransport object at 0x9e3407c
(papyon+msnp2p+transport+base+BaseP2PTransport at 0x9c95dc0)>


Reproducible: Always

How to reproduce step-by-step, with papyon debug :


* Create a conversation with one contact :
INFO:papyon.protocol.switchboard_manager:requesting new switchboard
INFO:papyon.protocol.switchboard_manager:New switchboard attached

* Invite one other contact in this conversation :
INFO:papyon.protocol.switchboard_manager:requesting new switchboard
DEBUG:papyon.transport:>>> XFR 14 SB
DEBUG:papyon.transport:<<< XFR 14 SB 65.54.48.157:1863 CKI
46036025.2295178.15520564 U messenger.msn.com 1
DEBUG:papyon.transport:<-> Connecting to 65.54.48.157:1863
DEBUG:papyon.transport:>>> USR 0 testlou2 at hotmail.fr 46036025.2295178.15520564
DEBUG:papyon.transport:<<< USR 0 OK testlou2 at hotmail.fr %E2%99%A5.%E2%99%A5
INFO:papyon.protocol.switchboard_manager:New switchboard attached
DEBUG:papyon.transport:>>> CAL 1 testlou9 at hotmail.fr
DEBUG:papyon.transport:>>> CAL 2 testlou4 at hotmail.fr
DEBUG:papyon.transport:<<< CAL 1 RINGING 46036025
DEBUG:papyon.transport:<<< JOI testlou9 at hotmail.fr testlou9 1342472230
on_conversation_user_joined
DEBUG:papyon.transport:<<< CAL 2 RINGING 46036025
DEBUG:papyon.transport:<<< JOI testlou4 at hotmail.fr testlou2 1342472230
on_conversation_user_joined

* Say hi:
DEBUG:papyon.transport:>>> MSG 3 N 81
    Content-Type: 'text/plain; charset=utf-8'\r\n
    MIME-Version: '1.0'\r\n
    \r\n
    hi

* Get a response:
DEBUG:papyon.transport:<<< MSG testlou4 at hotmail.fr testlou2 144
    X-MMS-IM-Format: 'FN=Sans; EF=; CO=000000; PF=0 ;RL=0'\r\n
    Content-Type: 'text/plain; charset=UTF-8'\r\n
    MIME-Version: '1.0'\r\n
    \r\n
    hello

* Leave the conversation :
DEBUG:papyon.transport:>>> OUT 4
INFO:papyon.protocol.switchboard:Disconnected

* You still get the messages:
DEBUG:papyon.transport:<<< MSG testlou4 at hotmail.fr testlou2 117
    TypingUser: 'testlou4 at hotmail.fr'\r\n
    Content-Type: 'text/x-msmsgscontrol'\r\n
    MIME-Version: '1.0'\r\n
    \r\n
    \r\n
DEBUG:papyon.transport:<<< MSG testlou4 at hotmail.fr testlou2 152
    X-MMS-IM-Format: 'FN=Sans; EF=; CO=000000; PF=0 ;RL=0'\r\n
    Content-Type: 'text/plain; charset=UTF-8'\r\n
    MIME-Version: '1.0'\r\n
    \r\n
    still there ?
INFO:papyon.protocol.switchboard_manager:New switchboard attached

* Then the two other participants leave the conversation:
DEBUG:papyon.transport:<<< BYE testlou4 at hotmail.fr
DEBUG:papyon.transport:<<< BYE testlou9 at hotmail.fr
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/papyon/switchboard_manager.py", line 77,
in <lambda>
    lambda sb, contact: self.__on_user_left(contact))
  File "/usr/lib/pymodules/python2.6/papyon/switchboard_manager.py", line 138,
in __on_user_left
    self._on_contact_left(contact)
  File "/usr/lib/pymodules/python2.6/papyon/msnp2p/transport/switchboard.py",
line 80, in _on_contact_left
    self.close()
  File "/usr/lib/pymodules/python2.6/papyon/msnp2p/transport/switchboard.py",
line 42, in close
    BaseP2PTransport.close(self)
  File "/usr/lib/pymodules/python2.6/papyon/msnp2p/transport/base.py", line 76,
in close
    self._transport_manager._unregister_transport(self)
  File
"/usr/lib/pymodules/python2.6/papyon/msnp2p/transport/transport_manager.py",
line 72, in _unregister_transport
    signals = self._transport_signals[transport]
KeyError: <SwitchboardP2PTransport object at 0xa11161c
(papyon+msnp2p+transport+base+BaseP2PTransport at 0x9eea990)>
DEBUG:papyon.transport:>>> OUT 10
DEBUG:papyon.transport:>>> OUT 11
INFO:papyon.protocol.switchboard:Disconnected

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.



More information about the telepathy-bugs mailing list