Ticket #3407 (closed defect: worksforme)

Opened 15 months ago

Last modified 13 months ago

crash when sending messages to myself

Reported by: g_damian@… Owned by: asterix
Priority: normal Milestone: 0.12
Component: None Version:
Severity: normal Keywords:
Cc: whateley@… OS: All

Description (last modified by asterix) (diff)

(sorry for my bad english) i use svn version, in 0.11 it's working. my os is ubuntu 7.04 with all updates. in another pc i'm sending to my account messages via sendxmpp. i've configured sendxmpp to sending msgs to me by the same account. so i haven't got myself in roster. this crash is only when i'm starting gajim and have some messages sent to me.

Traceback (most recent call last):
  File "/home/all/opt/gajim_svn/gajim/src/conversation_textview.py", line 256, in scroll_to_end_iter
    self.tv.scroll_to_iter(end_iter, 0, False, 1, 1)
  File "/var/lib/python-support/python2.5/dbus/_dbus.py", line 616, in _signal_func
    signal_name):
  File "/var/lib/python-support/python2.5/dbus/_dbus.py", line 526, in _iter_easy_matches
    for dbus_interface in interface_keys:
  File "/var/lib/python-support/python2.5/dbus/_dbus.py", line 617, in _signal_func
    if match.maybe_handle_message(message):
  File "/var/lib/python-support/python2.5/dbus/_dbus.py", line 210, in maybe_handle_message
    self._handler(*args, **kwargs)
  File "/home/all/opt/gajim_svn/gajim/src/notify.py", line 375, in on_action_invoked
    notification.on_action_invoked(id, reason)
  File "/home/all/opt/gajim_svn/gajim/src/notify.py", line 531, in on_action_invoked
    gajim.interface.handle_event(self.account, self.jid, self.msg_type)
  File "gajim.py", line 2496, in handle_event
    self.roster.new_chat(contact, account, resource = resource)
  File "/home/all/opt/gajim_svn/gajim/src/roster_window.py", line 3791, in new_chat
    chat_control.read_queue()
  File "/home/all/opt/gajim_svn/gajim/src/chat_control.py", line 1956, in read_queue
    self.set_session(data[8])
  File "/home/all/opt/gajim_svn/gajim/src/message_control.py", line 119, in set_session
    gajim.connections[self.account].delete_session(self.contact.get_full_jid(), self.session.thread_id)
  File "/home/all/opt/gajim_svn/gajim/src/common/connection_handlers.py", line 1699, in delete_session
    del self.sessions[jid][thread_id]
KeyError: u'g_damian@jabber.wroc.pl

in addition, part of messages are coming in "accountname/sendxmpp" resource, and part as "accountname" (in 0.11 too)

Attachments

Change History

  Changed 15 months ago by asterix

  • os changed from Unix to All
  • milestone set to 0.12

follow-up: ↓ 3   Changed 15 months ago by bct

  • cc whateley@… added

I can't reproduce this bug. Are your sendxmpp messages the only ones you're receiving when you start Gajim?

in reply to: ↑ 2   Changed 15 months ago by g_damian@…

Replying to bct:

I can't reproduce this bug. Are your sendxmpp messages the only ones you're receiving when you start Gajim?

it doesn't matter, in both cases

  Changed 15 months ago by sgala@…

Yesterday, bct commented that a traceback I got was similar to this bug. Another one I got today on startup:

IndexError: list index out of range
Traceback (most recent call last):
  File "/home/sgala/newcode/gajim/src/common/xmpp/idlequeue.py", line 132, in process_events
    obj.pollin()
  File "/home/sgala/newcode/gajim/src/common/xmpp/transports_nb.py", line 351, in pollin
    self._do_receive() 
  File "/home/sgala/newcode/gajim/src/common/xmpp/transports_nb.py", line 490, in _do_receive
    self.on_receive(received)
  File "/home/sgala/newcode/gajim/src/common/xmpp/dispatcher_nb.py", line 355, in dispatch
    handler['func'](session,stanza)
  File "/home/sgala/newcode/gajim/src/common/connection_handlers.py", line 1477, in _messageCB
    session = self.get_session(frm, thread_id, mtype)
  File "/home/sgala/newcode/gajim/src/common/connection_handlers.py", line 1679, in get_session
    session = self.find_session(bare_jid, thread_id, type)
  File "/home/sgala/newcode/gajim/src/common/connection_handlers.py", line 1692, in find_session
    return self.find_null_session(jid)
  File "/home/sgala/newcode/gajim/src/common/connection_handlers.py", line 1727, in find_null_session
    return no_threadid_sessions[-1]
IndexError: list index out of range

Same "contact" (a Pyirc-t server), while connecting, and I think it lost a few of the messages I get on connection.

  Changed 15 months ago by g_damian@…

today, i've unmerged accounts and connected to only that "problematic".

Traceback (most recent call last):
  File "/home/all/opt/gajim_svn/gajim/src/roster_window.py", line 4518, in iconCellDataFunc
    renderer.set_property('xalign', 0)
TypeError: could not convert argument to correct param type

but when i did another test, i had the same error as in my first post.

i have "advanced notification control" set on. i turned it off and had the same as in my first post.

if click in tray / show all pending events:

Traceback (most recent call last):
  File "/home/all/opt/gajim_svn/gajim/src/systray.py", line 266, in on_show_all_events_menuitem_activate
    gajim.interface.handle_event(account, jid, event.type_)
  File "gajim.py", line 2496, in handle_event
    self.roster.new_chat(contact, account, resource = resource)
  File "/home/all/opt/gajim_svn/gajim/src/roster_window.py", line 3791, in new_chat
    chat_control.read_queue()
  File "/home/all/opt/gajim_svn/gajim/src/chat_control.py", line 1956, in read_queue
    self.set_session(data[8])
  File "/home/all/opt/gajim_svn/gajim/src/message_control.py", line 119, in set_session
    gajim.connections[self.account].delete_session(self.contact.get_full_jid(), self.session.thread_id)
  File "/home/all/opt/gajim_svn/gajim/src/common/connection_handlers.py", line 1699, in delete_session
    del self.sessions[jid][thread_id]
KeyError: u'g_damian@jabber.wroc.pl'

i set in preferences / when new event is received to pop it up (before was notify me about it):

Traceback (most recent call last):
  File "/home/all/opt/gajim_svn/gajim/src/common/xmpp/idlequeue.py", line 132, in process_events
    obj.pollin()
  File "/home/all/opt/gajim_svn/gajim/src/common/xmpp/transports_nb.py", line 361, in pollin
    self._do_receive()
  File "/home/all/opt/gajim_svn/gajim/src/common/xmpp/transports_nb.py", line 500, in _do_receive
    self.on_receive(received)
  File "/home/all/opt/gajim_svn/gajim/src/common/xmpp/dispatcher_nb.py", line 355, in dispatch
    handler['func'](session,stanza)
  File "/home/all/opt/gajim_svn/gajim/src/common/connection_handlers.py", line 1665, in _messageCB
    session))
  File "/home/all/opt/gajim_svn/gajim/src/common/connection.py", line 165, in dispatch
    self.put_event((event, data))
  File "/home/all/opt/gajim_svn/gajim/src/common/connection.py", line 161, in put_event
    gajim.handlers[ev[0]](self.name, ev[1])
  File "gajim.py", line 811, in handle_event_msg
    advanced_notif_num, xhtml = xhtml, session = session)
  File "/home/all/opt/gajim_svn/gajim/src/roster_window.py", line 3895, in on_message
    ctrl.set_session(session)
  File "/home/all/opt/gajim_svn/gajim/src/message_control.py", line 119, in set_session
    gajim.connections[self.account].delete_session(self.contact.get_full_jid(), self.session.thread_id)
  File "/home/all/opt/gajim_svn/gajim/src/common/connection_handlers.py", line 1699, in delete_session
    del self.sessions[jid][thread_id]
KeyError: u'g_damian@jabber.wroc.pl'

i set in preferences / when new event is received to show only in roster - the same as in 1st post.

oooo, when i have only one message sent it doesn't crash !

i hope it helps. i can send more informations / results of test, if you need :)

  Changed 15 months ago by sgala@…

Hope this helps, this is the traceback I got, just after connection, I click on a irc server:

starting a new session, dropping the old one! Traceback (most recent call last):

File "/home/sgala/newcode/gajim/src/roster_window.py", line 4285, in on_roster_treeview_row_activated

self.on_row_activated(widget, path)

File "/home/sgala/newcode/gajim/src/roster_window.py", line 4280, in on_row_activated

self.on_open_chat_window(widget, c, account, resource = resource, session = session)

File "/home/sgala/newcode/gajim/src/roster_window.py", line 4219, in on_open_chat_window

self.new_chat(contact, account, resource = resource, session = session)

File "/home/sgala/newcode/gajim/src/roster_window.py", line 3791, in new_chat

chat_control.read_queue()

File "/home/sgala/newcode/gajim/src/chat_control.py", line 1956, in read_queue

self.set_session(data[8])

File "/home/sgala/newcode/gajim/src/message_control.py", line 119, in set_session

gajim.connections[self.account].delete_session(self.contact.get_full_jid(), self.session.thread_id)

File "/home/sgala/newcode/gajim/src/common/connection_handlers.py", line 1699, in delete_session

del self.sessions[jid][thread_id]

KeyError?: u'freenode@…'

  Changed 15 months ago by bct

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

(In [8780]) minor adjustments to how sessions are handled (partially fixes #3407)

  Changed 15 months ago by bct

  • status changed from closed to reopened
  • resolution fixed deleted

The crash should be fixed, but we may get sessions hanging around. [8780] should give us a bit more information; look out for messages saying "jid %s should have been in %s, but it wasn't. missing session?"

  Changed 13 months ago by asterix

  • description modified (diff)

  Changed 13 months ago by asterix

  • status changed from reopened to closed
  • resolution set to worksforme

Add/Change #3407 (crash when sending messages to myself)

Author



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