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 739034 - GLib-GObject-WARNING **: g_object_set_valist: object class 'GstPlayBin' has no property named '\xd8{ʸ\u0002'
GLib-GObject-WARNING **: g_object_set_valist: object class 'GstPlayBin' has n...
Status: RESOLVED FIXED
Product: cogl
Classification: Platform
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Cogl maintainer(s)
Cogl maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2014-10-22 20:22 UTC by Paul Menzel
Modified: 2016-01-08 14:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Compressed Valgrind log (93.14 KB, application/octet-stream)
2014-10-26 12:39 UTC, Paul Menzel
Details

Description Paul Menzel 2014-10-22 20:22:22 UTC
Using Debian Sid/unstable with Totem 3.14.0-2, the following warning is printed to the terminal.

    GLib-GObject-WARNING **: g_object_set_valist: object class 'GstPlayBin' has no property named '\xd8{ʸ\u0002'

This is the backtrace captured by running `G_DEBUG=fatal-warnings gdb totem`.

Thread 1 (Thread 0xb55578c0 (LWP 23871))

  • #0 g_logv
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./glib/gmessages.c line 1046
  • #1 g_log
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./glib/gmessages.c line 1079
  • #2 g_object_set_valist
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gobject.c line 2143
  • #3 g_object_set
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gobject.c line 2269
  • #4 bacon_video_widget_initable_init
    at bacon-video-widget.c line 6057
  • #5 g_initable_init
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gio/ginitable.c line 112
  • #6 g_initable_new_valist
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gio/ginitable.c line 228
  • #7 g_initable_new
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gio/ginitable.c line 146
  • #8 bacon_video_widget_new
    at bacon-video-widget.c line 6101
  • #9 video_widget_create
    at totem-object.c line 3864
  • #10 app_init
    at totem.c line 111
  • #11 app_command_line
    at totem.c line 213
  • #12 ffi_call_SYSV
    from /usr/lib/i386-linux-gnu/libffi.so.6
  • #13 ffi_call
    from /usr/lib/i386-linux-gnu/libffi.so.6
  • #14 g_cclosure_marshal_generic
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gclosure.c line 1448
  • #15 g_closure_invoke
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gclosure.c line 768
  • #16 signal_emit_unlocked_R
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gsignal.c line 3553
  • #17 g_signal_emit_valist
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gsignal.c line 3319
  • #18 g_signal_emit
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gobject/gsignal.c line 3365
  • #19 g_application_call_command_line
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gio/gapplication.c line 933
  • #20 g_application_run
    at /build/glib2.0-BmD7JP/glib2.0-2.42.0/./gio/gapplication.c line 2263
  • #21 main
    at totem.c line 266

Comment 1 Bastien Nocera 2014-10-23 10:13:38 UTC
There's something utterly broken on your system if this fails:
g_object_set (bvw->priv->play, "connection-speed", MAX_NETWORK_SPEED, NULL);

Best run it under valgrind.
Comment 2 Paul Menzel 2014-10-26 12:39:32 UTC
Created attachment 289341 [details]
Compressed Valgrind log

Please find the compressed Valgrind log attached.

Valgrind 3.10.0 is used with the following command for capturing.

    $ G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind -v --tool=memcheck --leak-check=full --num-callers=40 --log-file=/tmp/20141026--totem--valgrind.txt totem /tmp/sample.wav

    (totem:29681): GLib-GObject-WARNING **: g_object_set_valist: object class 'GstPlayBin' has no property named '\xe8\xcfh\u000e\u0002'

    (totem:29681): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

Compressed with the following command.

    7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on 20141026--totem--valgrind.txt{.7z,}
Comment 3 Bastien Nocera 2014-10-26 16:12:24 UTC
Looks like a bug in cogl or the GL library.

==29681== Invalid read of size 1
==29681==    at 0x482D54A: strcmp (vg_replace_strmem.c:755)
==29681==    by 0x656D1EE: stub_find_dynamic (in /usr/lib/i386-linux-gnu/libglapi.so.0.0.0)
==29681==    by 0x656CD59: ??? (in /usr/lib/i386-linux-gnu/libglapi.so.0.0.0)
==29681==    by 0x656D02C: _glapi_get_proc_address (in /usr/lib/i386-linux-gnu/libglapi.so.0.0.0)
==29681==    by 0x9EF55AF: glXGetProcAddress (in /usr/lib/i386-linux-gnu/libGL.so.1.2.0)
==29681==    by 0x4DE0EEF: _cogl_winsys_renderer_get_proc_address (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4D95491: _cogl_renderer_get_proc_address (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4D9F983: _cogl_feature_check (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4D9FA80: _cogl_feature_check_ext_functions (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4D8FED4: _cogl_driver_update_features (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4D94158: _cogl_context_update_features (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4DE1FD8: update_winsys_features (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4DE2CEE: _cogl_winsys_context_init (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4D932C2: cogl_context_new (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4C21371: clutter_backend_real_create_context (clutter-backend.c:345)
==29681==    by 0x4C21920: _clutter_backend_create_context (clutter-backend.c:803)
==29681==    by 0x4C3B0BC: _clutter_feature_init (clutter-feature.c:107)
==29681==    by 0x4C4DA70: clutter_init_real (clutter-main.c:1536)
==29681==    by 0x4C4DC90: post_parse_hook (clutter-main.c:1749)
==29681==    by 0x606D241: g_option_context_parse (in /lib/i386-linux-gnu/libglib-2.0.so.0.4200.0)
==29681==    by 0x4C4EA30: clutter_parse_args (clutter-main.c:1985)
==29681==    by 0x4C4EA30: clutter_init (clutter-main.c:2047)
==29681==    by 0x4BBE541: gtk_clutter_init (gtk-clutter-util.c:216)
==29681==    by 0x109FA1: app_init (totem.c:76)
==29681==    by 0x109FA1: app_command_line (totem.c:213)
==29681==    by 0x65D3949: ffi_call_SYSV (in /usr/lib/i386-linux-gnu/libffi.so.6.0.2)
==29681==    by 0x65D33D8: ffi_call (in /usr/lib/i386-linux-gnu/libffi.so.6.0.2)
==29681==    by 0x5FCB06E: g_cclosure_marshal_generic (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4200.0)
==29681==    by 0x5FCA83A: g_closure_invoke (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4200.0)
==29681==    by 0x5FDC854: signal_emit_unlocked_R (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4200.0)
==29681==    by 0x5FE4A51: g_signal_emit_valist (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4200.0)
==29681==    by 0x5FE50D4: g_signal_emit (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4200.0)
==29681==    by 0x5EA3D63: g_application_call_command_line (in /usr/lib/i386-linux-gnu/libgio-2.0.so.0.4200.0)
==29681==    by 0x5EA6069: g_application_run (in /usr/lib/i386-linux-gnu/libgio-2.0.so.0.4200.0)
==29681==    by 0x109C3E: main (totem.c:266)
==29681==  Address 0xd77ee8a is 2 bytes inside a block of size 17 free'd
==29681==    at 0x482A3A8: free (vg_replace_malloc.c:473)
==29681==    by 0x6067810: g_free (in /lib/i386-linux-gnu/libglib-2.0.so.0.4200.0)
==29681==    by 0x4D9F994: _cogl_feature_check (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4D9FA80: _cogl_feature_check_ext_functions (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4D8FED4: _cogl_driver_update_features (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4D94158: _cogl_context_update_features (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4DE1FD8: update_winsys_features (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4DE2CEE: _cogl_winsys_context_init (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4D932C2: cogl_context_new (in /usr/lib/i386-linux-gnu/libcogl.so.20.2.0)
==29681==    by 0x4C21371: clutter_backend_real_create_context (clutter-backend.c:345)
==29681==    by 0x4C21920: _clutter_backend_create_context (clutter-backend.c:803)
==29681==    by 0x4C3B0BC: _clutter_feature_init (clutter-feature.c:107)
==29681==    by 0x4C4DA70: clutter_init_real (clutter-main.c:1536)
==29681==    by 0x4C4DC90: post_parse_hook (clutter-main.c:1749)
==29681==    by 0x606D241: g_option_context_parse (in /lib/i386-linux-gnu/libglib-2.0.so.0.4200.0)
==29681==    by 0x4C4EA30: clutter_parse_args (clutter-main.c:1985)
==29681==    by 0x4C4EA30: clutter_init (clutter-main.c:2047)
==29681==    by 0x4BBE541: gtk_clutter_init (gtk-clutter-util.c:216)
==29681==    by 0x109FA1: app_init (totem.c:76)
==29681==    by 0x109FA1: app_command_line (totem.c:213)
==29681==    by 0x65D3949: ffi_call_SYSV (in /usr/lib/i386-linux-gnu/libffi.so.6.0.2)
==29681==    by 0x65D33D8: ffi_call (in /usr/lib/i386-linux-gnu/libffi.so.6.0.2)
==29681==    by 0x5FCB06E: g_cclosure_marshal_generic (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4200.0)
==29681==    by 0x5FCA83A: g_closure_invoke (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4200.0)
==29681==    by 0x5FDC854: signal_emit_unlocked_R (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4200.0)
==29681==    by 0x5FE4A51: g_signal_emit_valist (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4200.0)
==29681==    by 0x5FE50D4: g_signal_emit (in /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.4200.0)
==29681==    by 0x5EA3D63: g_application_call_command_line (in /usr/lib/i386-linux-gnu/libgio-2.0.so.0.4200.0)
==29681==    by 0x5EA6069: g_application_run (in /usr/lib/i386-linux-gnu/libgio-2.0.so.0.4200.0)
==29681==    by 0x109C3E: main (totem.c:266)
Comment 4 Jan Schmidt 2016-01-08 14:22:35 UTC
This bug is now in Ubuntu 15.04 for me, and makes totem spectacularly useless there :(
Comment 5 Emmanuele Bassi (:ebassi) 2016-01-08 14:28:05 UTC
Seems like a 32 bit issue, which I have no way to test.

Looking at:

> g_object_set (bvw->priv->play, "connection-speed", MAX_NETWORK_SPEED, NULL);

I think I saw it already on Endless...

Is MAX_NETWORK_SPEED a 64 bit constant that hasn't been cast correctly, and va_arg is trying to read outside of the memory boundaries?
Comment 6 Emmanuele Bassi (:ebassi) 2016-01-08 14:29:22 UTC
Yep, remembered it correctly: bug 749993.

The invalid read is a red herring.
Comment 7 Emmanuele Bassi (:ebassi) 2016-01-08 14:29:33 UTC

*** This bug has been marked as a duplicate of bug 749993 ***
Comment 8 Jan Schmidt 2016-01-08 14:46:53 UTC
Good catch. Seems this isn't actually the bug making my totem not work then though. I'll keep digging.