Bug#712126: brasero: Brasero 3.8.0-1 segfaults due to duplicate gio module references

Emilio Pozuelo Monfort pochu at debian.org
Thu Jun 13 08:30:27 UTC 2013


On 13/06/13 10:17, Marc J. Driftmeyer wrote:
> Package: brasero
> Version: 3.8.0-1
> Severity: normal
> 
> Dear Maintainer,
> 
> 
> Upon installing brasero 3.8.0-1 from Sid and the subsequent gvfs the application will not launch.
> 
> Output:
> 
> mdriftmeyer at horus:/usr/lib/x86_64-linux-gnu/gio/modules$ brasero
> 
> (gst-plugin-scanner:6451): GLib-GObject-WARNING **: Two different plugins tried to register 'GDaemonVfs'.
> 
> (gst-plugin-scanner:6451): GLib-GObject-WARNING **: Two different plugins tried to register 'GDaemonVolumeMonitor'.
> 
> (gst-plugin-scanner:6451): GLib-GIO-WARNING **: Tried to register an extension of the type (null) to extension point gio-volume-monitor. Expected type is GVolumeMonitor.
> 
> (gst-plugin-scanner:6451): GLib-GObject-WARNING **: cannot add interface type `GLoadableIcon' to type `GVfsIcon', since type `GVfsIcon' already conforms to interface
> 
> (gst-plugin-scanner:6451): GLib-GIO-WARNING **: Tried to register an extension of the type (null) to extension point gio-vfs. Expected type is GVfs.
> 
> (gst-plugin-scanner:6451): GLib-GObject-WARNING **: Two different plugins tried to register 'GVfsUriMapper'.
> 
> (gst-plugin-scanner:6451): GLib-GObject-WARNING **: Two different plugins tried to register 'GVfsUriMapperSmb'.
> 
> (gst-plugin-scanner:6451): GLib-GObject-WARNING **: Two different plugins tried to register 'GVfsUriMapperHttp'.
> 
> (gst-plugin-scanner:6451): GLib-GObject-WARNING **: Two different plugins tried to register 'GVfsUriMapperAfp'.
> 
> (gst-plugin-scanner:6451): GLib-GObject-WARNING **: invalid cast from `GDaemonVfs' to `<invalid>'
> 
> (gst-plugin-scanner:6451): GLib-GObject-WARNING **: invalid cast from `GDaemonVfs' to `<invalid>'
> 
> (brasero:6450): GLib-GObject-WARNING **: Two different plugins tried to register 'GDaemonVfs'.
> 
> (brasero:6450): GLib-GObject-WARNING **: Two different plugins tried to register 'GDaemonVolumeMonitor'.
> 
> (brasero:6450): GLib-GIO-WARNING **: Tried to register an extension of the type (null) to extension point gio-volume-monitor. Expected type is GVolumeMonitor.
> 
> (brasero:6450): GLib-GObject-WARNING **: cannot add interface type `GLoadableIcon' to type `GVfsIcon', since type `GVfsIcon' already conforms to interface
> 
> (brasero:6450): GLib-GIO-WARNING **: Tried to register an extension of the type (null) to extension point gio-vfs. Expected type is GVfs.
> 
> (brasero:6450): GLib-GObject-WARNING **: Two different plugins tried to register 'GVfsUriMapper'.
> 
> (brasero:6450): GLib-GObject-WARNING **: Two different plugins tried to register 'GVfsUriMapperSmb'.
> 
> (brasero:6450): GLib-GObject-WARNING **: Two different plugins tried to register 'GVfsUriMapperHttp'.
> 
> (brasero:6450): GLib-GObject-WARNING **: Two different plugins tried to register 'GVfsUriMapperAfp'.
> 
> (brasero:6450): GLib-GObject-WARNING **: invalid cast from `GDaemonVfs' to `<invalid>'
> 
> (brasero:6450): GLib-GObject-WARNING **: Two different plugins tried to register 'GProxyDrive'.
> 
> (brasero:6450): GLib-GObject-CRITICAL **: g_type_add_interface_dynamic: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
> 
> (brasero:6450): GLib-GObject-WARNING **: Two different plugins tried to register 'GProxyMount'.
> 
> (brasero:6450): GLib-GObject-CRITICAL **: g_type_add_interface_dynamic: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
> 
> (brasero:6450): GLib-GObject-WARNING **: Two different plugins tried to register 'GProxyShadowMount'.
> 
> (brasero:6450): GLib-GObject-CRITICAL **: g_type_add_interface_dynamic: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
> 
> (brasero:6450): GLib-GObject-WARNING **: Two different plugins tried to register 'GProxyVolume'.
> 
> (brasero:6450): GLib-GObject-CRITICAL **: g_type_add_interface_dynamic: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
> 
> (brasero:6450): GLib-GObject-WARNING **: Two different plugins tried to register 'GProxyVolumeMonitor'.
> 
> (brasero:6450): GLib-GObject-WARNING **: Two different plugins tried to register 'GProxyVolumeMonitorUDisks2'.
> 
> (brasero:6450): GLib-GIO-WARNING **: Tried to register an extension of the type (null) to extension point gio-native-volume-monitor. Expected type is GNativeVolumeMonitor.
> 
> (brasero:6450): GLib-GObject-WARNING **: invalid class cast from `GProxyVolumeMonitorUDisks2' to `<invalid>'
> 
> (brasero:6450): GLib-GObject-WARNING **: invalid class cast from (NULL) pointer to `<invalid>'
> 
> (brasero:6450): GLib-GObject-CRITICAL **: g_type_class_peek_parent: assertion `g_class != NULL' failed
> 
> (brasero:6450): GLib-GObject-WARNING **: invalid class cast from (NULL) pointer to `GObject'
> Segmentation fault
> mdriftmeyer at horus:/usr/lib/x86_64-linux-gnu/gio/modules$
> 
> ------------------------------------------------------
> 
> Upon investigating these two different plugins I noticed the following with glib-networking gio modules and gvfs gio modules:
> 
> mdriftmeyer at horus:/usr/lib/x86_64-linux-gnu/gio/modules$ ls -rhlt
> total 520K
> -rw-r--r-- 1 root root  15K May  8 05:08 libgiolibproxy.so
> -rw-r--r-- 1 root root 101K May  8 05:08 libgiognutls.so
> -rw-r--r-- 1 root root  19K May  8 05:08 libgiognomeproxy.so
> -rw-r--r-- 1 root root 199K May 24 16:50 libgvfsdbus.so
> -rw-r--r-- 1 root root 116K May 24 16:50 libgioremote-volume-monitor.so
> -rw-r--r-- 1 root root  48K Jun  4 19:40 libdconfsettings.so
> -rw-r--r-- 1 root root  270 Jun 13 08:08 giomodule.cache
> mdriftmeyer at horus:/usr/lib/x86_64-linux-gnu/gio/modules$
> 
> mdriftmeyer at horus:/usr/lib/gio/modules$ ls -rhlt
> total 520K
> -rw-r--r-- 1 root root  15K May  8 05:08 libgiolibproxy.so
> -rw-r--r-- 1 root root 101K May  8 05:08 libgiognutls.so
> -rw-r--r-- 1 root root  19K May  8 05:08 libgiognomeproxy.so
> -rw-r--r-- 1 root root 199K May 24 16:50 libgvfsdbus.so
> -rw-r--r-- 1 root root 116K May 24 16:50 libgioremote-volume-monitor.so
> -rw-r--r-- 1 root root  48K Jun  4 19:40 libdconfsettings.so
> -rw-r--r-- 1 root root  270 Jun 13 08:08 giomodule.cache
> mdriftmeyer at horus:/usr/lib/gio/modules$ 
> 
> Maybe I'm missing something but looking at the package contents for gvfs extracted via dpkg -x I get the following file path structure:
> 
> mdriftmeyer at horus:~/Temp/gio-temp/usr/lib/x86_64-linux-gnu/gio/modules$ ls -rhlt
> total 324K
> -rw-r--r-- 1 mdriftmeyer mdriftmeyer 199K May 24 16:50 libgvfsdbus.so
> -rw-r--r-- 1 mdriftmeyer mdriftmeyer 116K May 24 16:50 libgioremote-volume-monitor.so
> mdriftmeyer at horus:~/Temp/gio-temp/usr/lib/x86_64-linux-gnu/gio/modules$
> 
> Yet, why does the system duplicate this and install an exact copy under /usr/lib/gio/modules when it's not shown in the paths even with symlinks?
> 
> This and glib-networking packages both do this? Is this expected behavior? And if so, it seems to cause failures for brasero, nautilus and any other gio modules used by gnome apps that need gvfs.
> 

No, that's not normal and I don't see how you could have ended with that:

emilio at titan:~$ dpkg -L gvfs | grep gio
/usr/lib/x86_64-linux-gnu/gio
/usr/lib/x86_64-linux-gnu/gio/modules
/usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
/usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so
emilio at titan:~$ dpkg -L glib-networking | grep gio
/usr/lib/x86_64-linux-gnu/gio
/usr/lib/x86_64-linux-gnu/gio/modules
/usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so
/usr/lib/x86_64-linux-gnu/gio/modules/libgiognomeproxy.so
/usr/lib/x86_64-linux-gnu/gio/modules/libgiognutls.so
emilio at titan:~$
emilio at titan:~$ ls /usr/lib/gio
ls: cannot access /usr/lib/gio: No such file or directory

Check with dpkg -S /usr/lib/gio

But I don't really know how that could have happened.

In any case, run debsums to check if the rest of /usr is fine, and delete
/usr/lib/gio/

Emilio



More information about the pkg-gnome-maintainers mailing list