Crash on shell exit

Bug #1489672 reported by pd5rm
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Terminator
Invalid
Undecided
Unassigned

Bug Description

This crashes appears to occur when one of the shells started within Terminator is exited. It happen unpredictably but usually when multiple shells terms are open in multiple tabs, some of while are split horizontally.

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `/usr/bin/python2 /usr/bin/terminator'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007fac95a35182 in g_datalist_id_dup_data () from /usr/lib/libglib-2.0.so.0

Partial stack trace:
#0 0x00007fac95a35182 in g_datalist_id_dup_data () from /usr/lib/libglib-2.0.so.0
#1 0x00007fac93b18adb in ?? () from /usr/lib/libpangocairo-1.0.so.0
#2 0x00007fac93b18b64 in pango_cairo_context_set_resolution () from /usr/lib/libpangocairo-1.0.so.0
#3 0x00007fac94222c77 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#4 0x00007fac94225bc9 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#5 0x00007fac9477e6f4 in ?? () from /usr/lib/python2.7/site-packages/gtk-2.0/gtk/_gtk.so
#6 0x00007fac976bbb3f in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
#7 0x00007fac976bb833 in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
#8 0x00007fac976bcabc in PyEval_EvalCodeEx () from /usr/lib/libpython2.7.so.1.0
#9 0x00007fac976bb786 in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
#10 0x00007fac976bcabc in PyEval_EvalCodeEx () from /usr/lib/libpython2.7.so.1.0
#11 0x00007fac976493cc in function_call () from /usr/lib/libpython2.7.so.1.0
#12 0x00007fac976249e3 in PyObject_Call () from /usr/lib/libpython2.7.so.1.0
#13 0x00007fac976337c7 in instancemethod_call () from /usr/lib/libpython2.7.so.1.0
#14 0x00007fac976249e3 in PyObject_Call () from /usr/lib/libpython2.7.so.1.0
#15 0x00007fac976b5ed7 in PyEval_CallObjectWithKeywords () from /usr/lib/libpython2.7.so.1.0
#16 0x00007fac94b626c9 in ?? () from /usr/lib/python2.7/site-packages/gobject/_gobject.so
#17 0x00007fac95f272f5 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#18 0x00007fac95f3902c in ?? () from /usr/lib/libgobject-2.0.so.0
#19 0x00007fac95f40601 in g_signal_emitv () from /usr/lib/libgobject-2.0.so.0
#20 0x00007fac94b5b7db in ?? () from /usr/lib/python2.7/site-packages/gobject/_gobject.so
#21 0x00007fac976bbb3f in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
...

Full core is attached.

I'm running terminator 0.97 on Arch.

Here's some relevant versions:
Python 2.7.10
glib2 2.44.1-1
cairo 1.14.2-1
python2-cairo 1.10.0-2

Tags: no-response
Revision history for this message
pd5rm (pd5rm) wrote :
Revision history for this message
Stephen Boddy (stephen-j-boddy) wrote :

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.

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
Stephen Boddy (stephen-j-boddy) wrote :

Old bug, codebase has moved on a lot and no longer using gtk2 which seems to be the root of segfaults, with gtk3 being much better behaved. Also OP never returned to bug.

Marking as Invalid/no-response.

tags: added: no-response
Changed in terminator:
status: Incomplete → Invalid
Revision history for this message
pd5rm (pd5rm) wrote :

Hey Stephen,

This resolution seems fine to me. I'm on the GTK3 builds of Terminator now and haven't had any crashes in a while. Thanks for the followup and the good work you do on this project.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

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