Random hangs after upgrade to 0.97/8

Bug #1535364 reported by XANi
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
terminator (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

After upgrading to 0.97/8 (I've tested both Debian and Ubuntu packages) in Debian Testing I get random hangs (window freezes, does not respond to alt+f4. I've managed to get a backtrace in gdb: http://pastebin.com/HkjPa4br , what else I can do to help debug that ?

Revision history for this message
Stephen Boddy (stephen-j-boddy) wrote :

Well taking a quick look at the gdb trace (I'm not a C dev, so please excuse my errors) and it looks like the hang occurs in the gtk_image_set_from_icon_name function, which is called as set_from_icon_name as a method of a Python object.

This function is called from terminal_popup_menu.py and titlebar.py for Terminator, but without understanding what exactly causes the hang it's tricky to diagnose anything. You could try running terminator with the debug flag, and putting the output into a file. Something like:
terminator -d --debug-class TerminalPopupMenu,Titlebar
Unfortunately the debugging statements are few and far between in these code blocks, so you might need to insert some and try to trigger the hang to narrow the possibilities.

Note that because the hang looks to be inside GTK, then unless we are misusing the API, it might not be possible to fix in Terminator itself.

Changed in terminator (Ubuntu):
status: New → Incomplete
Revision history for this message
XANi (xani666) wrote :

Thanks, I'll try to debug it tommorrow.

It is REALLY weird case as I basically have 2 machines with almost same config (as in "I have Puppet manifest that runs on both that deploys same config for almost everything on both") and it only happens on one of those (tho it is one I use much more, so I might've just not triggered it)

Revision history for this message
XANi (xani666) wrote :

I have tried that, but it just displayed:

    Titlebar::get_desired_visibility: configured visibility: True
    Titlebar::get_desired_visibility: configured visibility: True
    Titlebar::update_visibility: showing titlebar

stacktrace looked similiar to previous one. I've got the coredumpt altho I cant really publish it consdering it contains some sensitive info

Revision history for this message
Stephen Boddy (stephen-j-boddy) wrote :

Hi, you have unfortunately over trimmed. Any chance you could post the last 50 or so lines of the debug output? This way I could more definitively be sure where we are in the path.

I'm pretty sure we dealing with the titlebar update (which call the update_visibility method) and shortly after it returns there is a call to local method set_from_icon_name, which then calls a method of the same name of the group icon.

One thing you could try (which will stop the group icons from updating) is to comment out the line in titlebar.py at the end of the Titlebar class' update method:
     self.set_from_icon_name(icon, gtk.ICON_SIZE_MENU)

For me it is line 178, but that might be different for you. I'm guessing it will no longer crash for you.

These two machines. Are they the same OS/release? The same versions of gtk & python?

This function gets called very frequently, and you (so far) seem to be the only one hitting this, so I am suspecting something funky going on on that machine. How easy is this to trigger? Does it happen very quickly, or does it often take prolonged use?

Also, have you tried the gtk3 version on the funky machine? Does it exhibit the same issue? That's a completely different library, and it would be very odd if that suffers the issue too.

Revision history for this message
XANi (xani666) wrote :

> Hi, you have unfortunately over trimmed. Any chance you could post the last 50 or so lines of the debug output? This way I could more definitively be sure where we are in the path.

do you mean output from "terminator -d --debug-class TerminalPopupMenu,Titlebar" ?
It was same 3 lines repeated few times over few hours the program was running

> These two machines. Are they the same OS/release? The same versions of gtk & python?

I will compare exact versions when I get back to work on monday but that issue persisted during few "upgrade all packages to latest" over last few months. I haven't filled a bug earlier because I just assumed it was some wonkiness caused by using debian testing instead of stable

> This function gets called very frequently, and you (so far) seem to be the only one hitting this, so I am suspecting something funky going on on that machine. How easy is this to trigger? Does it happen very quickly, or does it often take prolonged use?

definitely heavy use over few hours. Usually I have at least 2-4 windows, each with 2-10 tabs, usually split into 2-4. Maybe that is why I only managed to trigger it on one machine, I dont use it nearly as heavily or as long at home. Only thing that can be very uncommon is that I use i3 as window manager

Revision history for this message
XANi (xani666) wrote :

I've commented that line ( self.set_from_icon_name(icon, gtk.ICON_SIZE_MENU) ) but it still crashes, looks like something deep in gtk... I've attached a trace

Revision history for this message
dabTw (dabtw) wrote :

I've got the same kind of problem (freeze somewhere inside glib objects) with terminator 0.98 on ubuntu 16.04.

terminator is my main tool, so i trigger rather often (at least once in a day) a bug : either segmentation fault or freeze. However i've been able to trigger the bug using multiple ways (assuming this is the same bug). I don't have a stack trace for each time, and no segfault since i've re-enabled core dump.

- horizontal split (a couple of time)
- vertical split (once)
- moving terminal around with my shortcut (Ctrl-Shift-Left/Right) (once)
- exit (or Ctrl-D) a lot of time
- once inside preferences while clicking on Profile tab.

I've got a terminator window with a GNU screen inside that is running since quite a long time without problem (i simply don't create new tabs, splits, or exit created terms).

It seems most of the ways i've crashed terminator could be related to a tab name change or app name change. I'm using Unity with compiz as window manager (quite standard for Ubuntu users) with a lightly customized gtk theme (some color changes only).

I remember that in my previous version of terminator (0.97, from ppa, with vertical split not centered fixed), sometimes i could end up with a tab named something like Page_3 while closing all terms on a tab. I don't have this behavior now. The bug could be related to some kind of default string or object that does not exist anymore ?

Attached is the last freeze gdb output (on exit typed in bash).

Revision history for this message
XANi (xani666) wrote :

After testing gtk3 version for ~2 weeks I haven't had it crash once so it is definitely something related to gtk2, so if in future terminator will only be gtk3-only it probably doesn't make sense to chase that bug

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for terminator (Ubuntu) because there has been no activity for 60 days.]

Changed in terminator (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.