IRC transport problems will cause to Gajim to freak out (please correct the title)
''Note: The event described at #7003 (closed) is reminiscing the following event.
Ticket #7003 (closed):
Gajim consumed 30% to 40% of CPU and~99 MB of RAM
Database might get corrupted.
I believe that the following event can be happen even if you will leave your machine with an IRC chat opened and someone will change the configurations of the channel''
Bug description
Not clear.
Gajim will produce a various of Programming Errors while being flooded with WHOIS messages because of problems with the IRC transport itself.
Steps to reproduce
Join to an IRC channel which redirected to another channel: #sip-communicator is set to redirect users to #jitsi
Try to join to: sip-communicator%irc.freenode.org@irc.draugr.de
The contact <MY_IRC_NICK>!irc.freenode.org@irc.draugr.de will send to you endless WHOIS requests
[09:07:12 PM] \<MY_IRC_NICK>!irc.freenode.org: WHOIS: \<MY_IRC_NICK> is ~MyName@jabberd.draugr.de : \<MY_IRC_NICK>
[09:07:12 PM] \<MY_IRC_NICK>!irc.freenode.org: WHOIS: \<MY_IRC_NICK> is on #jitsi
[09:07:12 PM] \<MY_IRC_NICK>!irc.freenode.org: WHOIS: \<MY_IRC_NICK> use adams.freenode.net : Budapest, HU, EU
[09:07:12 PM] \<MY_IRC_NICK>!irc.freenode.org: End of WHOIS
[09:07:13 PM] \<MY_IRC_NICK>!irc.freenode.org: WHOIS: \<MY_IRC_NICK> is ~PhilipZur@jabberd.draugr.de : \<MY_IRC_NICK>
[09:07:13 PM] \<MY_IRC_NICK>!irc.freenode.org: WHOIS: \<MY_IRC_NICK> is on #jitsi
[09:07:13 PM] \<MY_IRC_NICK>!irc.freenode.org: WHOIS: \<MY_IRC_NICK> use adams.freenode.net : Budapest, HU, EU
[09:07:13 PM] \<MY_IRC_NICK>!irc.freenode.org: End of WHOIS
As long as you won't close all the related conversations of irc.draugr.de: You will not be able to logout from your XMPP account. You will get dialogs of A programming error has been detected each time you will do something (select text, try to logout from your XMPP account or other)
Traceback (most recent call last):
File "/usr/share/gajim/src/roster_window.py", line 2224, in change_status
change(account, status)
File "/usr/share/gajim/src/roster_window.py", line 2215, in change
self.get_status_message(status, on_response)
File "/usr/share/gajim/src/roster_window.py", line 2201, in get_status_message
on_response('', empty_pep)
File "/usr/share/gajim/src/roster_window.py", line 2213, in on_response
self.send_status(account, status, message)
File "/usr/share/gajim/src/roster_window.py", line 2010, in send_status
self.send_status_continue(account, status, txt, auto, to)
File "/usr/share/gajim/src/roster_window.py", line 2059, in send_status_continue
gajim.connections[account].change_status(status, txt, auto)
File "/usr/share/gajim/src/common/connection.py", line 645, in change_status
self.connection.start_disconnect()
File "/usr/share/gajim/src/common/xmpp/transports_nb.py", line 318, in start_disconnect
self.disconnect()
File "/usr/share/gajim/src/common/xmpp/transports_nb.py", line 459, in disconnect
NonBlockingTransport.disconnect(self, do_callback)
File "/usr/share/gajim/src/common/xmpp/transports_nb.py", line 209, in disconnect
self.on_disconnect()
File "/usr/share/gajim/src/common/xmpp/client_nb.py", line 133, in disconnect
i()
File "/usr/share/gajim/src/common/connection.py", line 232, in _on_disconnected
self.dispatch('STATUS', 'offline')
File "/usr/share/gajim/src/common/connection.py", line 177, in dispatch
gajim.ged.raise_event(event, self.name, data)
File "/usr/share/gajim/src/common/ged.py", line 67, in raise_event
handler(*args, **kwargs)
File "/usr/share/gajim/src/gui_interface.py", line 265, in handle_event_status
ctrl.parent_win.redraw_tab(ctrl)
File "/usr/share/gajim/src/message_window.py", line 614, in redraw_tab
tab_img = ctrl.get_tab_image()
File "/usr/share/gajim/src/chat_control.py", line 2386, in get_tab_image
tab_img = img_16[contact.show]
KeyError: '\<MY_IRC_NICK>'
Traceback (most recent call last):
File "/usr/share/gajim/src/common/xmpp/idlequeue.py", line 533, in _process_events
return IdleQueue._process_events(self, fd, flags)
File "/usr/share/gajim/src/common/xmpp/idlequeue.py", line 394, in _process_events
obj.pollin()
File "/usr/share/gajim/src/common/xmpp/transports_nb.py", line 414, in pollin
self._do_receive()
File "/usr/share/gajim/src/common/xmpp/transports_nb.py", line 600, in _do_receive
self._on_receive(received)
File "/usr/share/gajim/src/common/xmpp/transports_nb.py", line 614, in _on_receive
self.on_receive(data)
File "/usr/share/gajim/src/common/xmpp/dispatcher_nb.py", line 452, in dispatch
handler['func'](session, stanza)
File "/usr/share/gajim/src/common/connection_handlers.py", line 674, in _IqCB
self._getRoster()
File "/usr/share/gajim/src/common/connection_handlers.py", line 2218, in _getRoster
self.connection.getRoster(self._on_roster_set)
File "/usr/share/gajim/src/common/xmpp/roster_nb.py", line 364, in getRoster
on_ready(self)
File "/usr/share/gajim/src/common/connection_handlers.py", line 2253, in _on_roster_set
self._send_first_presence(signed)
File "/usr/share/gajim/src/common/connection_handlers.py", line 2320, in _send_first_presence
self.dispatch('STATUS', show)
File "/usr/share/gajim/src/common/connection.py", line 177, in dispatch
gajim.ged.raise_event(event, self.name, data)
File "/usr/share/gajim/src/common/ged.py", line 67, in raise_event
handler(*args, **kwargs)
File "/usr/share/gajim/src/gui_interface.py", line 263, in handle_event_status
ctrl.got_connected()
File "/usr/share/gajim/src/chat_control.py", line 2929, in got_connected
self.draw_banner()
File "/usr/share/gajim/src/chat_control.py", line 159, in draw_banner
self._update_banner_state_image()
File "/usr/share/gajim/src/chat_control.py", line 1847, in _update_banner_state_image
banner_image = img_16[show]
KeyError: '\<MY_IRC_NICK>'
Traceback (most recent call last):
File "/usr/share/gajim/src/message_window.py", line 194, in _on_window_focus
self.redraw_tab(ctrl)
File "/usr/share/gajim/src/message_window.py", line 614, in redraw_tab
tab_img = ctrl.get_tab_image()
File "/usr/share/gajim/src/chat_control.py", line 2386, in get_tab_image
tab_img = img_16[contact.show]
KeyError: '\<MY_IRC_NICK>'
You have to closed all the related conversation tabs that are related to irc.draugr.de (I have found two Private Message tabs on another workspace)
Tab 1: \<MY_IRC_NICK> from zenwalk%irc.freenode.org@irc.draugr.de
[09:05:47 PM] Error: #sip-communicator #jitsi :Forwarding to another channel
[09:05:47 PM] Error 500: #sip-communicator #jitsi :Forwarding to another channel
Tab 2: \<MY_IRC_NICK> from sip-communicator%irc.freenode.org@irc.draugr.de
[09:05:46 PM] Error: #sip-communicator #jitsi :Forwarding to another channel
[09:05:46 PM] Error 500: #sip-communicator #jitsi :Forwarding to another channel
Close these tabs.
If you use 0.14.x then the "Error 500" lines won't appear in the logs due to #6860 (closed)
Now you will be able to logout from my XMPP account.
Software versions
OS version: Salix OS 13.37 (Slackware 13.37 based)
GTK version: 2.24.4
PyGTK version: 2.22.0