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 664099 - 0.11 new to use new floating ref annotation
0.11 new to use new floating ref annotation
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.11.x
Other Linux
: Normal normal
: 0.11.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-11-15 11:30 UTC by Christian Fredrik Kalager Schaller
Modified: 2011-12-12 12:16 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Test application (812 bytes, text/x-python)
2011-11-15 11:30 UTC, Christian Fredrik Kalager Schaller
Details

Description Christian Fredrik Kalager Schaller 2011-11-15 11:30:58 UTC
Created attachment 201427 [details]
Test application

I haven't been able to make any python applications work with 0.11 lately. I get errors as seen bellow, talking about stuff not being initialized. The attached test application used to work fine for me 3-4 weeks ago. 

python gst-gi-test.py
Traceback (most recent call last):
  • File "gst-gi-test.py", line 30 in <module>
    src.set_property('num-buffers', 10)
TypeError: object at 0x8c4293c of type __main__.GstVideoTestSrc is not initialized

(python:23796): GLib-GObject-CRITICAL **: g_object_get_qdata: assertion `G_IS_OBJECT (object)' failed

(python:23796): GLib-GObject-CRITICAL **: g_object_set_qdata_full: assertion `G_IS_OBJECT (object)' failed

(python:23796): GLib-GObject-CRITICAL **: g_object_get_qdata: assertion `G_IS_OBJECT (object)' failed

(python:23796): GLib-GObject-CRITICAL **: g_object_set_qdata_full: assertion `G_IS_OBJECT (object)' failed

(python:23796): GLib-GObject-CRITICAL **: g_object_get_qdata: assertion `G_IS_OBJECT (object)' failed

(python:23796): GLib-GObject-CRITICAL **: g_object_set_qdata_full: assertion `G_IS_OBJECT (object)' failed

(python:23796): GLib-GObject-CRITICAL **: g_object_set_qdata_full: assertion `G_IS_OBJECT (object)' failed

(python:23796): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
Comment 1 Edward Hervey 2011-11-21 10:58:53 UTC
Same old issue of having to set (transfer none) instead of (transfer full) for methods returning a newly created floating object.

Find the relevant bug in gobject-introspection and/or pygi and mark this one as a duplicate of the other one.
Comment 2 Tim-Philipp Müller 2011-11-21 11:06:48 UTC
There's bug #657202 and bug #656205 . It needs to be fixed in pygi.
Comment 3 Christian Fredrik Kalager Schaller 2011-11-21 11:26:12 UTC

*** This bug has been marked as a duplicate of bug 657202 ***
Comment 4 Christian Fredrik Kalager Schaller 2011-12-12 11:47:56 UTC
Re-opening, because even if the upstream gobject-introspection bug in 657202 is fixed, we still need to do this annotation in GStreamer 0.11
Comment 5 Tim-Philipp Müller 2011-12-12 12:16:35 UTC
Hope this fixes it (didn't test myself since I'm still on g-i 1.31.0):

 commit a81abdeee5a761f63c7740c7948e9b38107a7b68
 Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
 Date:   Mon Dec 12 12:11:40 2011 +0000

    elementfactory: use new 'transfer floating' annotation for gst_element_factory_make()
    
    Requires gobject-introspection 1.31.1 (older versions will
    error out with that).
    
    https://bugzilla.gnome.org/show_bug.cgi?id=664099