Bug 7688 - RB hangs with errors about type mismatchs
Summary: RB hangs with errors about type mismatchs
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: release_blocker normal
Target Milestone: ---
Assignee: Mageia Bug Squad
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-03 16:27 CEST by Juan Magallon
Modified: 2012-10-10 02:28 CEST (History)
4 users (show)

See Also:
Source RPM: rhythmbox-2.98-1.mga3.src.rpm
CVE:
Status comment:


Attachments

Description Juan Magallon 2012-10-03 16:27:21 CEST
When you try to play any song in rhythmbox, it exits and spews these
error messages:

(rhythmbox:13580): GLib-GObject-WARNING **: specified class size for type `GstPulseSrc' is smaller than the parent type's `GstAudioSrc' class size

(rhythmbox:13580): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(rhythmbox:13580): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(rhythmbox:13580): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(rhythmbox:13580): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(rhythmbox:13580): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed

(rhythmbox:13580): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started

(rhythmbox:13580): GLib-GObject-WARNING **: specified class size for type `GstAlsaSrc' is smaller than the parent type's `GstAudioSrc' class size

(rhythmbox:13580): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(rhythmbox:13580): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(rhythmbox:13580): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(rhythmbox:13580): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed

(rhythmbox:13580): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed

(rhythmbox:13580): GLib-GObject-WARNING **: specified class size for type `GstOss4Sink' is smaller than the parent type's `GstAudioSink' class size

(rhythmbox:13580): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(rhythmbox:13580): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(rhythmbox:13580): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed

(rhythmbox:13580): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed

(rhythmbox:13580): GLib-GObject-WARNING **: specified class size for type `GstOssSrc' is smaller than the parent type's `GstAudioSrc' class size

(rhythmbox:13580): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(rhythmbox:13580): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(rhythmbox:13580): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed

(rhythmbox:13580): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed

(rhythmbox:13580): GLib-GObject-WARNING **: specified class size for type `GstOpenALSink' is smaller than the parent type's `GstAudioSink' class size

(rhythmbox:13580): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed

(rhythmbox:13580): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed

(rhythmbox:13580): GLib-GObject-WARNING **: cannot register existing type `GstAudioClock'

(rhythmbox:13580): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed

(rhythmbox:13580): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed
Segmentation fault
Manuel Hiebel 2012-10-07 11:41:54 CEST

CC: (none) => fundawang, olav

Manuel Hiebel 2012-10-07 11:43:05 CEST

Priority: Normal => release_blocker

Comment 1 Juan Magallon 2012-10-09 02:18:32 CEST
I have read in the upstream bug that the problem is getting mixed libraries
for GStreamer  (0.10 + 1.0)...
Is this a problem with RB build scripts or a more general one with GStreamer
packagin ? If its the latter, it can affect other programs also...

CC: (none) => jamagallon

Comment 2 Funda Wang 2012-10-09 05:12:56 CEST
I've rebuilt rhythmbox, so that the gobject-introspection scripts are force using correct version of gst-gir.

Does rhythmbox-2.98-2.mga3 work better?
Comment 3 Juan Magallon 2012-10-09 12:18:47 CEST
It still crashes. And the binary is still linked again both versions of
GStreamer:

pandora:~# ldd /usr/bin/rhythmbox | grep gst
	libgstbase-0.10.so.0 => /usr/lib64/libgstbase-0.10.so.0 (0x00007f013d056000)
	libgstinterfaces-0.10.so.0 => /usr/lib64/libgstinterfaces-0.10.so.0 (0x00007f013ce44000)
	libgstreamer-0.10.so.0 => /usr/lib64/libgstreamer-0.10.so.0 (0x00007f013cb5d000)
	libgstpbutils-0.10.so.0 => /usr/lib64/libgstpbutils-0.10.so.0 (0x00007f013c5d6000)
	libgstcontroller-0.10.so.0 => /usr/lib64/libgstcontroller-0.10.so.0 (0x00007f013c3b0000)
	libgsttag-0.10.so.0 => /usr/lib64/libgsttag-0.10.so.0 (0x00007f013c17b000)
	libgstapp-1.0.so.0 => /lib64/libgstapp-1.0.so.0 (0x00007f01373df000)
	libgstaudio-1.0.so.0 => /lib64/libgstaudio-1.0.so.0 (0x00007f0137196000)
	libgstpbutils-1.0.so.0 => /lib64/libgstpbutils-1.0.so.0 (0x00007f0136f72000)
	libgstvideo-1.0.so.0 => /lib64/libgstvideo-1.0.so.0 (0x00007f0136d31000)
	libgstbase-1.0.so.0 => /lib64/libgstbase-1.0.so.0 (0x00007f0136ae1000)
	libgstreamer-1.0.so.0 => /lib64/libgstreamer-1.0.so.0 (0x00007f01367ee000)
	libgsttag-1.0.so.0 => /lib64/libgsttag-1.0.so.0 (0x00007f01311ea000)
Comment 4 Juan Magallon 2012-10-09 12:31:34 CEST
I think the problem is linking against libwebkitgtk-3. It pulls gst-1.0.
If I rename 

pandora:/usr/lib64# mv libwebkitgtk-3.0.so.0.17.3 libwebkitgtk-3.0.so.0.17.3.old

link dependencies for gst 1.0 go away in rb:

pandora:~# ldd /usr/bin/rhythmbox | grep gst
	libgstbase-0.10.so.0 => /usr/lib64/libgstbase-0.10.so.0 (0x00007f81d1c7c000)
	libgstinterfaces-0.10.so.0 => /usr/lib64/libgstinterfaces-0.10.so.0 (0x00007f81d1a6a000)
	libgstreamer-0.10.so.0 => /usr/lib64/libgstreamer-0.10.so.0 (0x00007f81d1783000)
	libgstpbutils-0.10.so.0 => /usr/lib64/libgstpbutils-0.10.so.0 (0x00007f81d11fc000)
	libgstcontroller-0.10.so.0 => /usr/lib64/libgstcontroller-0.10.so.0 (0x00007f81d0fd6000)
	libgsttag-0.10.so.0 => /usr/lib64/libgsttag-0.10.so.0 (0x00007f81d0da1000)

just 0.10.
So you'll have to foce it to choose webkit-1.0 someway...
Comment 5 Juan Magallon 2012-10-09 13:18:35 CEST
Mmmm, I think there is a problem....

Webkit-1.0 pulls gtk-2, and webkit-3.0 pull gst-1.0.
Probaly temporary solution is to disable webkit in RB until it
can build with gst-1.0....
(from my short and probably uninformed experiments, correct me if I'm wrong...)
Comment 6 Funda Wang 2012-10-09 16:01:01 CEST
Easy, we could build webkit-3.0 with gst-0.10.

Status: NEW => RESOLVED
Resolution: (none) => FIXED

Curtis Hildebrand 2012-10-09 22:35:30 CEST

CC: (none) => curtis_mageia

Comment 7 Juan Magallon 2012-10-10 02:28:02 CEST
Thx, everything seems normal now...RB works and nothing more looks broken.

Note You need to log in before you can comment on or make changes to this bug.