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 730069 - gl: Crash when setting invalid GST_GL_PLATFORM
gl: Crash when setting invalid GST_GL_PLATFORM
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 1.3.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-05-13 16:58 UTC by Nicolas Dufresne (ndufresne)
Modified: 2014-05-19 10:27 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Nicolas Dufresne (ndufresne) 2014-05-13 16:58:52 UTC
GST_GL_PLATFORM=e gst-launch-1.0 videotestsrc ! video/x-raw,format=I420 ! glimagesink

Leads to multiple assertions and then crash. Very easy to reproduce, no need to attach backtrace I think, or leave it to those who can reproduce.

Got context from element 'glimagesink0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";

** (gst-launch-1.0:6732): CRITICAL **: gst_gl_context_get_window: assertion 'GST_GL_IS_CONTEXT (context)' failed

** (gst-launch-1.0:6732): CRITICAL **: gst_gl_context_create: assertion 'GST_GL_IS_CONTEXT (context)' failed

(gst-launch-1.0:6732): GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL' failed
Caught SIGSEGV
  • #0 poll
    at ../sysdeps/unix/syscall-template.S line 81
  • #1 g_main_context_iterate.isra.24
  • #2 g_main_loop_run
    from /lib64/libglib-2.0.so.0
  • #3 gst_bus_poll
  • #4 event_loop
  • #5 main

Comment 1 Sebastian Dröge (slomo) 2014-05-19 10:27:04 UTC
commit 8070b4e043bd863a87605dad5908c1e04b9bdafc
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Mon May 19 12:25:51 2014 +0200

    glimagesink: Check if context creation failed before trying to use it
    
    Otherwise we will cause assertions everywhere by passing NULL to functions
    and eventually crash when dereferencing a NULL pointer.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=730069

commit 911ec0d3ef4850a2978d10a9c9de667f65ae587b
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Mon May 19 12:21:13 2014 +0200

    glcontext: Add more assertions to make sure that everything sets the GError during context creation if something fails