Warning: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed
Bug #923824 reported by
Curtis Hovey
This bug affects 5 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar GTK+ Frontends |
Invalid
|
High
|
Unassigned | ||
bzr-dbus |
Fix Released
|
High
|
Unassigned | ||
bzr-dbus (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
I see this error when I run gci from the command line or from gedit-developer
/usr/lib/
import gobject._gobject
This is harmless from the command line, but when the code is embedded, the whole app becomes unstable and is likely to crash the next time any call to bzr-gtk is made.
I believe this happens when gir code is interacting with statically bound old gobject code, or there is an indirect import from old gobject. I suspect the import of dbus, and specifically dbus.glib is the issue. I think bzr-gtk should be using Gio.DBusProxy
Related branches
lp:~sinzui/bzr-dbus/gtk3-support
- Jelmer Vernooij (community): Approve
-
Diff: 305 lines (+68/-34)3 files modifiedactivity.py (+8/-6)
setup.py (+32/-4)
tests/test_activity.py (+28/-24)
tags: | added: gtk3 |
Changed in bzr-dbus: | |
status: | In Progress → Fix Committed |
importance: | Undecided → High |
Changed in bzr-gtk: | |
status: | Triaged → Invalid |
Changed in bzr-dbus: | |
status: | Fix Committed → Fix Released |
Changed in bzr-dbus: | |
assignee: | Curtis Hovey (sinzui) → nobody |
To post a comment you must log in.
This is indeed due to loading a particular library both through GIR and through a static module. dbus can be mixed quite fine with Gtk, though; if you only use client-side d-bus (i. e. making calls), using Gio.DBusProxy will work fine, but if you want to export objects to the bus, you currently have to use the static "dbus" binding.
I advise to temporarily modify /usr/lib/ python2. 7/dist- packages/ gobject/ constants. py to say
raise ImportError("no static plz")
somewhere at the top, then you will get a proper backtrace and can easily identify the culprit.