After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 670061 - gedit crashed with SIGABRT: (tp != NULL)
gedit crashed with SIGABRT: (tp != NULL)
Status: RESOLVED INVALID
Product: gedit-plugins
Classification: Other
Component: General
3.3.x
Other Linux
: Normal critical
: ---
Assigned To: Gedit maintainers
Gedit maintainers
Depends on:
Blocks:
 
 
Reported: 2012-02-14 11:17 UTC by Vadim Rutkovsky
Modified: 2019-03-23 20:57 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Vadim Rutkovsky 2012-02-14 11:17:42 UTC
Original Report: https://bugs.launchpad.net/ubuntu/+source/gedit/+bug/917344

This may be an issue in gedit-developer-plugins or a another enabled plugin because I have seen similar issues recently that relate to pygobject message I see in the terminal:
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
**
ERROR:/build/buildd/pygobject-3.0.3/gi/_gobject/pygobject.c:929:pygobject_new_full: assertion failed: (tp != NULL)

I used GDPFind to locate text in a file, I clicked the matching row to open the file. The file happen to already be open, I expected the cursor to move the the proper line. I saw the TypeError: metaclass conflict: in the terminal, then gedit crashed.

PS. GDP does not set __metaclass__. Most classes inherit from object or a GObject class.

DistroRelease: Ubuntu 12.04
Package: gedit 3.3.2-0ubuntu1

  • #0 __GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 64
  • #1 __GI_abort
    at abort.c line 92
  • #2 g_assertion_message
  • #3 g_assertion_message_expr
    at /build/buildd/glib2.0-2.31.8/./glib/gtestutils.c line 1871
  • #4 pygobject_new_full
    at /build/buildd/pygobject-3.0.3/gi/_gobject/pygobject.c line 929
  • #5 _pygi_marshal_to_py_interface_object
    at /build/buildd/pygobject-3.0.3/gi/pygi-marshal-to-py.c line 764
  • #6 _invoke_marshal_out_args
    at /build/buildd/pygobject-3.0.3/gi/pygi-invoke.c line 521
  • #7 _wrap_g_callable_info_invoke
    at /build/buildd/pygobject-3.0.3/gi/pygi-invoke.c line 638
  • #8 PyEval_EvalFrameEx
    from /tmp/tmp8WPZpU/usr/lib/libpython2.7.so.1.0
  • #9 PyEval_EvalCodeEx
    from /tmp/tmp8WPZpU/usr/lib/libpython2.7.so.1.0
  • #10 PyEval_EvalFrameEx
    from /tmp/tmp8WPZpU/usr/lib/libpython2.7.so.1.0
  • #11 PyEval_EvalCodeEx
    from /tmp/tmp8WPZpU/usr/lib/libpython2.7.so.1.0
  • #12 PyEval_EvalFrameEx
    from /tmp/tmp8WPZpU/usr/lib/libpython2.7.so.1.0
  • #13 PyEval_EvalCodeEx
    from /tmp/tmp8WPZpU/usr/lib/libpython2.7.so.1.0
  • #14 function_call
    from /tmp/tmp8WPZpU/usr/lib/libpython2.7.so.1.0
  • #15 PyObject_Call
    from /tmp/tmp8WPZpU/usr/lib/libpython2.7.so.1.0
  • #16 PyEval_CallObjectWithKeywords
    from /tmp/tmp8WPZpU/usr/lib/libpython2.7.so.1.0
  • #17 pygi_signal_closure_marshal
    at /build/buildd/pygobject-3.0.3/gi/pygi-signal-closure.c line 168
  • #18 g_closure_invoke
    at /build/buildd/glib2.0-2.31.8/./gobject/gclosure.c line 774
  • #19 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.31.8/./gobject/gsignal.c line 3302
  • #20 g_signal_emit_valist
    at /build/buildd/glib2.0-2.31.8/./gobject/gsignal.c line 3033
  • #21 g_signal_emit
    at /build/buildd/glib2.0-2.31.8/./gobject/gsignal.c line 3090
  • #22 gtk_tree_view_button_press
    at /build/buildd/gtk+3.0-3.3.6/./gtk/gtktreeview.c line 3193
  • #23 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+3.0-3.3.6/./gtk/gtkmarshalers.c line 85
  • #24 g_closure_invoke
    at /build/buildd/glib2.0-2.31.8/./gobject/gclosure.c line 774
  • #25 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.31.8/./gobject/gsignal.c line 3340
  • #26 g_signal_emit_valist
    at /build/buildd/glib2.0-2.31.8/./gobject/gsignal.c line 3043
  • #27 g_signal_emit
    at /build/buildd/glib2.0-2.31.8/./gobject/gsignal.c line 3090
  • #28 gtk_widget_event_internal
    at /build/buildd/gtk+3.0-3.3.6/./gtk/gtkwidget.c line 6134
  • #29 gtk_propagate_event
    at /build/buildd/gtk+3.0-3.3.6/./gtk/gtkmain.c line 2426
  • #30 gtk_main_do_event
    at /build/buildd/gtk+3.0-3.3.6/./gtk/gtkmain.c line 1691
  • #31 gdk_event_source_dispatch
    at /build/buildd/gtk+3.0-3.3.6/./gdk/x11/gdkeventsource.c line 360
  • #32 g_main_dispatch
    at /build/buildd/glib2.0-2.31.8/./glib/gmain.c line 2513
  • #33 g_main_context_dispatch
    at /build/buildd/glib2.0-2.31.8/./glib/gmain.c line 3050
  • #34 g_main_context_iterate
    at /build/buildd/glib2.0-2.31.8/./glib/gmain.c line 3121
  • #35 g_main_context_iterate
    at /build/buildd/glib2.0-2.31.8/./glib/gmain.c line 3058
  • #36 g_main_loop_run
    at /build/buildd/glib2.0-2.31.8/./glib/gmain.c line 3315
  • #37 gtk_main
    at /build/buildd/gtk+3.0-3.3.6/./gtk/gtkmain.c line 1164
  • #38 gedit_main
    at gedit.c line 203
  • #39 main
    at gedit.c line 294

Comment 1 Vadim Rutkovsky 2012-02-14 11:18:09 UTC
See similar issue for rhythmbox - https://bugzilla.gnome.org/show_bug.cgi?id=661957
Comment 2 Curtis Hovey 2012-02-17 17:42:09 UTC
This is not a bug in gedit.

The issue was caused by a chain of python imports in the set of plugins I was running. This specific problem was cause by bzr-dbus and bzr-notify both of which had fallback conditions to import from old gtk or old gobject.

I located the problem imports by placing a pdb debug statement before the assert in both the gtk and gobject gi modules. I then recreated the failure to view the true stacktrace