Opened 5 years ago

Closed 4 years ago

Last modified 4 years ago

#6903 closed defect (fixed)

gajim crash

Reported by: x11term Owned by:
Priority: normal Milestone: 0.15.2
Component: None Version: hg
Severity: normal Keywords:
Cc: md@… Blocked By:
Blocking: OS: All

Description

Bug description

gajim crash or hang with 100% cpu

Steps to reproduce

set escape_key_closes to Activated

Send a message to the conference or contact, and immediately press Esc. Closing a window with the mouse leads to the same result, but less frequently.

hang log

term@fort ~ $ gajim
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
/home/users/staff/terminator/soft/gajim/src/roster_window.py:4926: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  if not model[titer][data]:
/home/users/staff/terminator/soft/gajim/src/roster_window.py:4981: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  if type_ == 'account' and model[titer][C_PADLOCK_PIXBUF]:
/home/users/staff/terminator/soft/gajim/src/roster_window.py:6396: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.window.show_all()
/home/users/staff/terminator/.local/share/gajim/plugins/clients_icons/clients_icons.py:165: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  if roster.model[child_iters[0]][self.renderer_num] is None:
15:02:19 (W) gajim.c.x.transports_nb No Dispatcher plugged. Received data will not be processed
/home/users/staff/terminator/soft/gajim/src/roster_window.py:2266: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  liststore.prepend(['SEPARATOR', None, '', True])
/home/users/staff/terminator/soft/gajim/src/roster_window.py:2269: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  gajim.interface.jabber_state_images['16'][show], show, False])
gajim.py:449: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  gtk.main()
/home/users/staff/terminator/soft/gajim/src/roster_window.py:4953: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  if model[titer][C_AVATAR_PIXBUF] or \
/home/users/staff/terminator/.local/share/gajim/plugins/clients_icons/clients_icons.py:332: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  if model[iter_][self.muc_renderer_num] is not None:
/home/users/staff/terminator/soft/gajim/src/message_window.py:306: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.window.show_all()
/home/users/staff/terminator/soft/gajim/src/conversation_textview.py:1079: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.tv.add_child_at_anchor(img, anchor)
/home/users/staff/terminator/soft/gajim/src/groupchat_control.py:93: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  if parent_iter and (model[iter_][C_AVATAR] or avatar_position == \
/home/users/staff/terminator/.local/share/gajim/plugins/clients_icons/clients_icons.py:355: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  elif model[iter_][self.muc_renderer_num]:
/home/users/staff/terminator/soft/gajim/src/statusicon.py:407: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  win.show_all()
gajim.py:449: GtkWarning: IA__gtk_accel_group_activate: assertion `GTK_IS_ACCEL_GROUP (accel_group)' failed
  gtk.main()

crash log

term@fort ~ $ gajim
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
/home/users/staff/terminator/soft/gajim/src/roster_window.py:4926: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  if not model[titer][data]:
/home/users/staff/terminator/soft/gajim/src/roster_window.py:4981: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  if type_ == 'account' and model[titer][C_PADLOCK_PIXBUF]:
/home/users/staff/terminator/soft/gajim/src/roster_window.py:6396: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.window.show_all()
/home/users/staff/terminator/.local/share/gajim/plugins/clients_icons/clients_icons.py:165: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  if roster.model[child_iters[0]][self.renderer_num] is None:
18:25:39 (W) gajim.c.x.transports_nb No Dispatcher plugged. Received data will not be processed
/home/users/staff/terminator/soft/gajim/src/roster_window.py:2266: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  liststore.prepend(['SEPARATOR', None, '', True])
/home/users/staff/terminator/soft/gajim/src/roster_window.py:2269: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  gajim.interface.jabber_state_images['16'][show], show, False])
gajim.py:449: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  gtk.main()
/home/users/staff/terminator/soft/gajim/src/roster_window.py:4953: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  if model[titer][C_AVATAR_PIXBUF] or \
/home/users/staff/terminator/soft/gajim/src/message_window.py:306: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.window.show_all()
/home/users/staff/terminator/.local/share/gajim/plugins/clients_icons/clients_icons.py:332: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  if model[iter_][self.muc_renderer_num] is not None:
/home/users/staff/terminator/soft/gajim/src/conversation_textview.py:1079: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  self.tv.add_child_at_anchor(img, anchor)
/home/users/staff/terminator/.local/share/gajim/plugins/clients_icons/clients_icons.py:355: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  elif model[iter_][self.muc_renderer_num]:
/home/users/staff/terminator/soft/gajim/src/groupchat_control.py:93: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  if parent_iter and (model[iter_][C_AVATAR] or avatar_position == \
/home/users/staff/terminator/soft/gajim/src/gtkgui_helpers.py:270: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  w, h = window.get_size()
/home/users/staff/terminator/soft/gajim/src/statusicon.py:407: Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
  win.show_all()
NOTE: child process received `Goodbye', closing down
NOTE: child process received `Goodbye', closing down
NOTE: child process received `Goodbye', closing down

Software versions

OS version: gentoo
Gajim 0.14.1.1-d8912f584584
GTK+ Version: 2.24.3
PyGTK Version: 2.24.0

Change History (19)

comment:1 Changed 5 years ago by Dicson

I can't repro

comment:2 Changed 5 years ago by asterix

  • Status changed from new to needinfo

I cannot reproduce either (I don't have same GTK / PyGTK versions as you), and your logs only show GTK Warnings, nothing important.

Can you reproduce everytime?

comment:3 Changed 5 years ago by x11term

attempted to reproduce and could not :(

maybe gtk bug. Now GTK+ Version: 2.24.4

comment:4 Changed 5 years ago by asterix

  • Resolution set to invalid
  • Status changed from needinfo to closed

Nice, let's hope it's that. Don't hesitate to reopen the bug if you think there is something wrong with Gajim

comment:5 Changed 5 years ago by x11term

  • Resolution invalid deleted
  • Status changed from closed to reopened

It turned out that I was not the same branch. Updated to default and fall resumed. Just exactly reproduce the conditions for the fall but could not. Drops at random times. Sometimes falling in general, without any participation. Was in the tray, after some time no. After disabling escape_key_closes, yet did not fall.

Last edited 5 years ago by x11term (previous) (diff)

comment:6 Changed 5 years ago by x11term

gajim still works. Need fix escape_key_closes :)

comment:7 Changed 4 years ago by zimio

I can confirm this. It seems to happen at random which makes it hard to pin point where the bug is.

comment:8 Changed 4 years ago by grzegorz janoszka

I confirm it still happens. I opened a separate bug as I didn't see this one: http://trac.gajim.org/ticket/7129 Maybe it is just gtk bug, not gajim, as I saw some similar pidgin bugs on Windows. Is it possible to ship gajim with a different gtk version for Windows?

comment:9 Changed 4 years ago by grzegorz janoszka

One more update - it crashes more often if you press "esc" shortly after typing a message. Now I used to wait about 10 seconds before closing the chat window, it makes the crashes less frequent, but they still happen.

comment:10 Changed 4 years ago by grzegorz janoszka

Sorry for third update - I have this very bug on Windows, so maybe it is OS: all ?

comment:11 Changed 4 years ago by asterix

  • OS changed from Unix to All

We already provide the latest GTK version. And it happens with many GTK version, under windows and Linux. So 2 possibilities: There is a bug in GTK which is there for a long time, or there is a problem in Gajim, maybe with the way we use accel groups. No idea what could cause that, and as it's random, it's very hard to debug that :/

comment:12 Changed 4 years ago by zimio

I think I can reproduce. Just open a chat window, send a message or two, and press Esc, then open the window again and press Esc, then open the window again and press Esc, then open the window again and press and so on

You get a Segmentation Fault or gajim.py:456: GtkWarning?: IAgtk_accel_group_activate: assertion `GTK_IS_ACCEL_GROUP (accel_group)' failed

gtk.main()

comment:13 Changed 4 years ago by pztrn

Confirming this, python 2.6.6, pygtk 2.22.0, gtk 2.24.8, latest hg. I can reproduce it by open and close any chat, with escape_key_closes. Output here: http://server.pztrn.ru/paste/184

Last edited 4 years ago by pztrn (previous) (diff)

comment:14 Changed 4 years ago by zimio

It looks like this is a very old bug, it goes off to 2009. Here are some bug reports for this same thing:

https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=551834

https://bugzilla.gnome.org/show_bug.cgi?id=599971

The problem is definitely happening in GTK

comment:15 in reply to: ↑ description Changed 4 years ago by md

  • Cc md@… added

This happens to me all the time, often enough that I start gajim in a shell while loop. When I close the message window it often either crashes or starts looping at 100% CPU.

I run the gajim hg tree on Debian/unstable.

I am not sure that I have been experiencing this for 3 years, I would say 1-2.

Any workaround or debugging patches are welcome, because this makes using gajim very hard and the only reason why I have not abandoned it yet is that the other clients suck more. :-)

comment:16 Changed 4 years ago by asterix

workarround is easy: don't press Esc.

A solution: it is welcome indeed ...

comment:17 Changed 4 years ago by zimio

  • Resolution set to duplicate
  • Status changed from reopened to closed

It looks like this is a duplicate of #5371

comment:18 Changed 4 years ago by Yann Leboulanger <asterix@…>

  • Milestone set to 0.16
  • Resolution changed from duplicate to fixed

(In [fdd7c9b81c1b]) return True in accel_group callback. Fixes #5371, #6903

comment:19 Changed 4 years ago by Yann Leboulanger <asterix@…>

  • Milestone changed from 0.16 to 0.15.2

(In [e2ed21a816f2]) return True in accel_group callback. Fixes #5371, #6903

Note: See TracTickets for help on using tickets.