segfault and crash on new tab

Bug #1479448 reported by Frank Pinto
34
This bug affects 6 people
Affects Status Importance Assigned to Milestone
Terminator
Invalid
Undecided
Unassigned

Bug Description

Possibly related tickets:
https://bugs.launchpad.net/terminator/+bug/720735

Environment:
I'm on elementary OS Luna, which is based on Ubuntu 12.04. It uses Pantheon as it's DE and Gala as its window manager. Fully GTK based, no Gnome AFAIK. Terminator version 0.97

Steps to reproduce:
1. Open Terminator
2. Open new tab (CTRL+Shift+T)
3. Type 'exit' on new tab and press enter. You should end up on first and only tab again.
4. Try to open new tab again (CTRL+Shift+T)
5. Witness the crash
6. Cry

I get the following error output when I run Terminator from another shell and follow the steps above:

/usr/share/terminator/terminatorlib/window.py:394: GtkWarning: IA__gdk_drawable_get_screen: assertion `GDK_IS_DRAWABLE (drawable)' failed
  gtk.Window.add(self, widget)
/usr/share/terminator/terminatorlib/window.py:394: GtkWarning: IA__gdk_screen_get_display: assertion `GDK_IS_SCREEN (screen)' failed
  gtk.Window.add(self, widget)
Segmentation fault

I've also attached the output of terminator -d.

Tags: no-action
Revision history for this message
Frank Pinto (frankpinto) wrote :
Revision history for this message
Stephen Boddy (stephen-j-boddy) wrote :

Unable to reproduce on my system (Ubuntu 14.04) with 0.97.

Unfortunately these seg faults happen in the gtk code, and provide no Python stack trace that even gives a hint. Even with a core dump and dbg tools I don't really have the skills to troubleshoot C code gtk internals. Especially difficult as there is no way to reliably reproduce. I'll mark as incomplete so the issue is still visible, but I don't hold out much hope.

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

Correction, I see you do have a little internal indication. It is where we try to set the child widget of the window to the newly created notebook. But that doesn't really help too much, as that is still inside the libraries.

Changed in terminator:
status: New → Incomplete
Revision history for this message
Stephen Boddy (stephen-j-boddy) wrote :

Hi Bug subscribers, this is the maintainer (Steve Boddy) of Terminator, who took over from Chris.

In case you were not aware there has been a new release 0.98 of Terminator in the last few days which has many changes, fixes and updates. We also have an ongoing GTK3 port which uses a much more up-to-date libvte.

Even with the ~50 issues closed by that release, and discounting the ~90 outstanding wishlist items, we still have an unwieldy 95 bugs. With the oldest approaching it's 6th birthday and some that haven't seen any updates in nearly 5, it is time for a purge.

My intention is to try and get this list down to a minimum, and for that I need your help.

First I'm going to work through, oldest to newest, setting bugs to Incomplete, pending confirmation that they are still an issue. If after a month there is no feedback, the issue will get closed as Invalid. Here's where you come in. I can't always reproduce, or setting up (i.e. other distros) to even test takes a long time, so I'm going to try crowdsourcing this.

1. Get the latest release. Is it still an issue? If yes, set the confirmed-0.98 tag. For bonus points follow the guide http://gnometerminator.blogspot.com/2015/09/so-you-want-to-try-terminator-gtk3.html and see if the GTK3 branch has same issue, and set the confirmed-gtk3 or notaffected-gtk3 tag.

2. Can you reproduce with an empty/default config file? You can pass "-g temp_config" to do this without affecting your existing config. If you already have Terminator running, you'll need to pass -u as well to disable the DBus.

3. If able to, can you reproduce with another user/guest account?

4. If the issue does not already have clear, precise instructions to reproduce with minimal setup/steps, add them.

5. Put as much info about what you are running.
   * Software/library versions (libvte, gtk, pango, cairo, distro, desktop environment, language)
   * Screens (single or multi)
   * Any unusual / custom packages or configs that might be interacting.

6. If possible attach the config file, unless the issue also happens with an empty one, but mention that.

7. Attach the "-d" debug output from 0.98.

Some common things that cause incidents.

* Strange sizing issues or rapidly shrinking windows - Try turning off Window geometry hints.
* Input (esp. broadcasting duplicate chars etc) problems - Try killing IBus.
* Hand editing of the config file can cause various issues - Due to misunderstanding, incorrect structure or typos.
* Some issues are actually in libvte - This is why testing GTK3 is so important.
* segfaults - Unfortunately these are dying inside the C libraries, and it is usually beyond me to fix those.

Many thanks for your assistance, and hopefully this will get us closer to a bug-free Terminator.

Revision history for this message
SimonWerner (simonwerner) wrote :

I get this very issue with Terminator 0.98, I have even tested on the gnome-terminator/nightly PPA repository.

I don't get the issue when I run "terminator -g dummy_config". After doing this I was able to nail it down to one config option. If the following option is set
    [profiles] -> [[default]] -> scrollbar_position = hidden
then Terminator will crash.

I have attached the "terminator -d" output (this is for Terminator v0.98 vanilla, not the nightly version).

I have attached the the config file which causes terminator to crash.

Revision history for this message
SimonWerner (simonwerner) wrote :

... and the config file.

Revision history for this message
SimonWerner (simonwerner) wrote :

Oh, I and I can confirm that this the same as https://bugs.launchpad.net/terminator/+bug/720735

My Linux configuration is as follows:
 - Ubuntu GNOME 16.10
 - Gnome v3.20
 - libvte-2.91-0 (v0.44.2)
 - libgtk-3-0 (v3.20.9)
 - libpango-1.0-0 (v1.40.1)
 - libcairo2 (v1.14.6)

Revision history for this message
SimonWerner (simonwerner) wrote :

Actually, after some more testing there is no consistent way to crash Terminator using the different settings I described in the last 3 posts above. It appears to crash regardless of the settings. But it will consistently crash for a short while, the appear to work properly for a short while.

Revision history for this message
Franco Victorio (fvictorio) wrote :

Not sure if this is useful, but:

If I open a new tab, close it, open preferences and close it, then the bug doesn't seem to happen again.

This is merely empirical, but maybe it can help a little.

Revision history for this message
SimonWerner (simonwerner) wrote :

I can confirm that with terminator version 1.0-0~1772~ubuntu16.10.1 this issue does not manifest any longer.

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

Marking as Invalid/no-action as I didn't do anything specific to fix this.

tags: added: no-action
Changed in terminator:
status: Incomplete → Invalid
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.