gedit crashed with SIGABRT: (tp != NULL)

Bug #917344 reported by Curtis Hovey
18
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gedit
Invalid
Critical
gedit (Ubuntu)
Invalid
Medium
Unassigned

Bug Description

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.

ProblemType: Crash
DistroRelease: Ubuntu 12.04
Package: gedit 3.3.2-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-9.16-generic 3.2.1
Uname: Linux 3.2.0-9-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 1.90-0ubuntu2
Architecture: amd64
Date: Mon Jan 16 15:01:53 2012
ExecutablePath: /usr/bin/gedit
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
ProcCmdline: gedit _notes.txt
Signal: 6
SourcePackage: gedit
StacktraceTop:
 raise () from /lib/x86_64-linux-gnu/libc.so.6
 abort () from /lib/x86_64-linux-gnu/libc.so.6
 g_assertion_message () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 g_assertion_message_expr () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 ?? () from /usr/lib/python2.7/dist-packages/gi/_gobject/_gobject.so
Title: gedit crashed with SIGABRT in raise()
UpgradeStatus: Upgraded to precise on 2012-01-15 (1 days ago)
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare

Revision history for this message
Curtis Hovey (sinzui) wrote :
Revision history for this message
Apport retracing service (apport) wrote :

StacktraceTop:
 g_assertion_message (domain=<optimized out>, file=<optimized out>, line=<optimized out>, func=0x7f8be9ff6be0 "pygobject_new_full", message=0x3abe070 "assertion failed: (tp != NULL)") at /build/buildd/glib2.0-2.31.8/./glib/gtestutils.c:1860
 g_assertion_message_expr (domain=0x0, file=0x7f8be9ff6310 "/build/buildd/pygobject-3.0.3/gi/_gobject/pygobject.c", line=929, func=0x7f8be9ff6be0 "pygobject_new_full", expr=<optimized out>) at /build/buildd/glib2.0-2.31.8/./glib/gtestutils.c:1871
 pygobject_new_full (obj=0x3ad2da0, sink=<optimized out>, g_class=0x0) at /build/buildd/pygobject-3.0.3/gi/_gobject/pygobject.c:929
 _pygi_marshal_to_py_interface_object (state=<optimized out>, callable_cache=<optimized out>, arg_cache=0x7f8be042ca40, arg=0x7fffa2004dd0) at /build/buildd/pygobject-3.0.3/gi/pygi-marshal-to-py.c:764
 _invoke_marshal_out_args (cache=0x7f8be0331ea0, state=0x7fffa2004d90) at /build/buildd/pygobject-3.0.3/gi/pygi-invoke.c:521

Revision history for this message
Apport retracing service (apport) wrote : Stacktrace.txt
Revision history for this message
Apport retracing service (apport) wrote : ThreadStacktrace.txt
Changed in gedit (Ubuntu):
importance: Undecided → Medium
summary: - gedit crashed with SIGABRT in raise()
+ gedit crashed with SIGABRT in g_assertion_message()
tags: removed: need-amd64-retrace
Revision history for this message
Curtis Hovey (sinzui) wrote : Re: gedit crashed with SIGABRT in g_assertion_message()

I use the gedit developer plugins, source code browser, and standard plugins. I refactored GDP to not use type and change the inheritance to reduce the occurrences of this issue. I suspect the problem is that libpeas encourages multiple inheritance, and that it is not clear if pygobject creates/uses other types.

I think the issue might really be in snippets. I see in plugins/snippets/singleton.py
class Singleton(type):

visibility: private → public
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. The issue you are reporting is an upstream one and it would be nice if somebody having it could send the bug to the developers of the software by following the instructions at https://wiki.ubuntu.com/Bugs/Upstream/GNOME. If you have done so, please tell us the number of the upstream bug (or the link), so we can add a bugwatch that will inform us about its status. Thanks in advance.

summary: - gedit crashed with SIGABRT in g_assertion_message()
+ gedit crashed with SIGABRT: (tp != NULL)
Revision history for this message
Vadim Rutkovsky (roignac) wrote :
Changed in gedit (Ubuntu):
status: New → Confirmed
Changed in gedit:
importance: Unknown → Critical
status: Unknown → New
Changed in gedit (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Curtis Hovey (sinzui) wrote :

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

Changed in gedit (Ubuntu):
status: Triaged → Invalid
Changed in gedit:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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