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 749430 - gltestsrc ! glimagesink crash on windows
gltestsrc ! glimagesink crash on windows
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
unspecified
Other Linux
: Normal normal
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-05-15 12:45 UTC by Xavier Claessens
Modified: 2015-05-19 14:58 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gl: fix crash on windows with intel driver (1.59 KB, patch)
2015-05-19 14:44 UTC, Xavier Claessens
committed Details | Review

Description Xavier Claessens 2015-05-15 12:45:59 UTC
This is with gstreamer master (built the whole stack with cerbero yesterday).

(gdb) r gltestsrc ! glimagesink
Starting program: /cygdrive/c/Users/collabora/gst/bin/gst-launch-1.0.exe gltestsrc ! glimagesink
[New Thread 3456.0x114]
0:00:00.000112649  3456 00000000002E4000 INFO                GST_INIT gst.c:499:init_pre: Initializing GStreamer Core Library version 1.5.0.1
0:00:00.000260553  3456 00000000002E4000 INFO                GST_INIT gst.c:500:init_pre: Using library installed in C:\Users\collabora\gst\lib
0:00:00.000598098  3456 00000000002E4000 INFO                GST_INIT gstmessage.c:119:_priv_gst_message_initialize: init messages
0:00:00.001451077  3456 00000000002E4000 INFO                GST_INIT gstcontext.c:77:_priv_gst_context_initialize: init contexts
0:00:00.004824902  3456 00000000002E4000 INFO      GST_PLUGIN_LOADING gstplugin.c:317:_priv_gst_plugin_initialize: registering 0 static plugins
0:00:00.005072894  3456 00000000002E4000 INFO      GST_PLUGIN_LOADING gstplugin.c:225:gst_plugin_register_static: registered static plugin "staticelements"
0:00:00.005176224  3456 00000000002E4000 INFO      GST_PLUGIN_LOADING gstplugin.c:227:gst_plugin_register_static: added static plugin "staticelements", result: 1
[New Thread 3456.0x15c0]
[New Thread 3456.0x1694]
0:00:00.144291200  3456 00000000002E4000 INFO            GST_REGISTRY gstregistry.c:1722:ensure_current_registry: reading registry cache: C:\Users\collabora\AppData\Local\Microsoft\Windows\Temporary Internet Files\gstreamer-1.0\registry.x86_64.bin
0:00:00.164633024  3456 00000000002E4000 INFO            GST_REGISTRY gstregistrybinary.c:619:priv_gst_registry_binary_read_cache: loaded C:\Users\collabora\AppData\Local\Microsoft\Windows\Temporary Internet Files\gstreamer-1.0\registry.x86_64.bin in 0.031000 seconds
0:00:00.164817802  3456 00000000002E4000 INFO            GST_REGISTRY gstregistry.c:1578:scan_and_update_registry: Validating plugins from registry cache: C:\Users\collabora\AppData\Local\Microsoft\Windows\Temporary Internet Files\gstreamer-1.0\registry.x86_64.bin
0:00:00.190908015  3456 00000000002E4000 INFO            GST_REGISTRY gstregistry.c:1680:scan_and_update_registry: Registry cache has not changed
0:00:00.191014586  3456 00000000002E4000 INFO            GST_REGISTRY gstregistry.c:1757:ensure_current_registry: registry reading and updating done, result = 1
0:00:00.191120348  3456 00000000002E4000 INFO                GST_INIT gst.c:709:init_post: GLib runtime version: 2.44.0
0:00:00.191198554  3456 00000000002E4000 INFO                GST_INIT gst.c:711:init_post: GLib headers version: 2.44.0
0:00:00.191276761  3456 00000000002E4000 INFO                GST_INIT gst.c:712:init_post: initialized GStreamer successfully
0:00:00.191365908  3456 00000000002E4000 INFO            GST_PIPELINE gstparse.c:323:gst_parse_launch_full: parsing pipeline description 'gltestsrc ! glimagesink '
0:00:00.697020692  3456 00000000002E4000 INFO      GST_PLUGIN_LOADING gstplugin.c:835:gst_plugin_load_file: plugin "C:\Users\collabora\gst\lib\gstreamer-1.0\libgstopengl.dll" loaded
0:00:00.697183589  3456 00000000002E4000 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:364:gst_element_factory_create: creating element "gltestsrc"
0:00:00.697458325  3456 00000000002E4000 INFO        GST_ELEMENT_PADS gstelement.c:646:gst_element_add_pad:<GstBaseSrc@0000000002CB7960> adding pad 'src'
0:00:00.697583942  3456 00000000002E4000 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:364:gst_element_factory_create: creating element "glimagesink"
0:00:00.697972949  3456 00000000002E4000 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:364:gst_element_factory_create: creating element "glupload"
0:00:00.698220130  3456 00000000002E4000 INFO        GST_ELEMENT_PADS gstelement.c:646:gst_element_add_pad:<GstBaseTransform@0000000002CBF4C0> adding pad 'sink'
0:00:00.698354662  3456 00000000002E4000 INFO        GST_ELEMENT_PADS gstelement.c:646:gst_element_add_pad:<GstBaseTransform@0000000002CBF4C0> adding pad 'src'
0:00:00.698434084  3456 00000000002E4000 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:364:gst_element_factory_create: creating element "glcolorconvert"
0:00:00.698620889  3456 00000000002E4000 INFO        GST_ELEMENT_PADS gstelement.c:646:gst_element_add_pad:<GstBaseTransform@0000000002CC1F50> adding pad 'sink'
0:00:00.698739617  3456 00000000002E4000 INFO        GST_ELEMENT_PADS gstelement.c:646:gst_element_add_pad:<GstBaseTransform@0000000002CC1F50> adding pad 'src'
0:00:00.698834843  3456 00000000002E4000 INFO        GST_ELEMENT_PADS gstutils.c:1566:gst_element_link_pads_full: trying to link element gluploadelement0:src to element glcolorconvertelement0:sink
0:00:00.698893194  3456 00000000002E4000 INFO        GST_ELEMENT_PADS gstelement.c:897:gst_element_get_static_pad: found pad gluploadelement0:src
0:00:00.698934931  3456 00000000002E4000 INFO        GST_ELEMENT_PADS gstelement.c:897:gst_element_get_static_pad: found pad glcolorconvertelement0:sink
0:00:00.698977073  3456 00000000002E4000 INFO                GST_PADS gstutils.c:1439:prepare_link_maybe_ghosting: gluploadelement0 and glcolorconvertelement0 in same bin, no need for ghost pads
0:00:00.699039071  3456 00000000002E4000 INFO                GST_PADS gstpad.c:2224:gst_pad_link_prepare: trying to link gluploadelement0:src and glcolorconvertelement0:sink
0:00:00.699147264  3456 00000000002E4000 INFO                GST_PADS gstpad.c:3953:gst_pad_peer_query:<gluploadelement0:sink> pad has no peer
0:00:00.699527761  3456 00000000002E4000 INFO                GST_PADS gstpad.c:3953:gst_pad_peer_query:<glcolorconvertelement0:src> pad has no peer
0:00:00.699855581  3456 00000000002E4000 INFO                GST_PADS gstpad.c:2430:gst_pad_link_full: linked gluploadelement0:src and glcolorconvertelement0:sink, successful
0:00:00.699994570  3456 00000000002E4000 INFO               GST_EVENT gstevent.c:1374:gst_event_new_reconfigure: creating reconfigure event
0:00:00.700069940  3456 00000000002E4000 INFO               GST_EVENT gstpad.c:5405:gst_pad_send_event_unchecked:<gluploadelement0:src> Received event on flushing pad. Discarding
0:00:00.700151793  3456 00000000002E4000 INFO        GST_ELEMENT_PADS gstelement.c:897:gst_element_get_static_pad: found pad gluploadelement0:sink
0:00:00.700317121  3456 00000000002E4000 INFO                GST_PADS gstpad.c:2224:gst_pad_link_prepare: trying to link sink:proxypad0 and gluploadelement0:sink
0:00:00.700431797  3456 00000000002E4000 INFO                GST_PADS gstpad.c:2430:gst_pad_link_full: linked sink:proxypad0 and gluploadelement0:sink, successful
0:00:00.700502305  3456 00000000002E4000 INFO               GST_EVENT gstevent.c:1374:gst_event_new_reconfigure: creating reconfigure event
0:00:00.700582943  3456 00000000002E4000 INFO        GST_ELEMENT_PADS gstelement.c:646:gst_element_add_pad:<GstGLSinkBin@0000000002C9E020> adding pad 'sink'
0:00:00.700792844  3456 00000000002E4000 INFO        GST_ELEMENT_PADS gstelement.c:646:gst_element_add_pad:<GstBaseSink@0000000002CC5030> adding pad 'sink'
0:00:00.700930618  3456 00000000002E4000 INFO        GST_ELEMENT_PADS gstutils.c:1566:gst_element_link_pads_full: trying to link element glcolorconvertelement0:src to element sink:sink
0:00:00.700995047  3456 00000000002E4000 INFO        GST_ELEMENT_PADS gstelement.c:897:gst_element_get_static_pad: found pad glcolorconvertelement0:src
0:00:00.701035974  3456 00000000002E4000 INFO        GST_ELEMENT_PADS gstelement.c:897:gst_element_get_static_pad: found pad sink:sink
0:00:00.701074064  3456 00000000002E4000 INFO                GST_PADS gstutils.c:1439:prepare_link_maybe_ghosting: glcolorconvertelement0 and sink in same bin, no need for ghost pads
0:00:00.701123500  3456 00000000002E4000 INFO                GST_PADS gstpad.c:2224:gst_pad_link_prepare: trying to link glcolorconvertelement0:src and sink:sink
0:00:00.701189145  3456 00000000002E4000 INFO                GST_PADS gstpad.c:3953:gst_pad_peer_query:<(NULL):sink> pad has no peer
0:00:00.701846810  3456 00000000002E4000 INFO                GST_PADS gstpad.c:2430:gst_pad_link_full: linked glcolorconvertelement0:src and sink:sink, successful
0:00:00.701976074  3456 00000000002E4000 INFO               GST_EVENT gstevent.c:1374:gst_event_new_reconfigure: creating reconfigure event
0:00:00.702060359  3456 00000000002E4000 INFO               GST_EVENT gstpad.c:5405:gst_pad_send_event_unchecked:<glcolorconvertelement0:src> Received event on flushing pad. Discarding
0:00:00.702199348  3456 00000000002E4000 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:364:gst_element_factory_create: creating element "pipeline"
0:00:00.702366702  3456 00000000002E4000 INFO            GST_PIPELINE grammar.y:571:gst_parse_perform_link: linking gltestsrc0:(any) to glimagesinkbin0:(any) (0/0) with caps "(NULL)"
0:00:00.702489077  3456 00000000002E4000 INFO        GST_ELEMENT_PADS gstutils.c:1566:gst_element_link_pads_full: trying to link element gltestsrc0:(any) to element glimagesinkbin0:(any)
0:00:00.702558774  3456 00000000002E4000 INFO                GST_PADS gstutils.c:932:gst_pad_check_link: trying to link gltestsrc0:src and glimagesinkbin0:sink
0:00:00.703355023  3456 00000000002E4000 INFO                GST_PADS gstutils.c:1439:prepare_link_maybe_ghosting: gltestsrc0 and glimagesinkbin0 in same bin, no need for ghost pads
0:00:00.703500090  3456 00000000002E4000 INFO                GST_PADS gstpad.c:2224:gst_pad_link_prepare: trying to link gltestsrc0:src and glimagesinkbin0:sink
0:00:00.704533795  3456 00000000002E4000 INFO                GST_PADS gstpad.c:2430:gst_pad_link_full: linked gltestsrc0:src and glimagesinkbin0:sink, successful
0:00:00.704667921  3456 00000000002E4000 INFO               GST_EVENT gstevent.c:1374:gst_event_new_reconfigure: creating reconfigure event
0:00:00.704758284  3456 00000000002E4000 INFO               GST_EVENT gstpad.c:5405:gst_pad_send_event_unchecked:<gltestsrc0:src> Received event on flushing pad. Discarding
Setting pipeline to PAUSED ...
0:00:00.705020054  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2230:gst_bin_element_set_state:<glimagesinkbin0> current NULL pending VOID_PENDING, desired next READY
0:00:00.705083267  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2230:gst_bin_element_set_state:<sink> current NULL pending VOID_PENDING, desired next READY
0:00:00.705180114  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:503:pad_query:<sink:sink> pad peer query failed
0:00:00.705241301  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:562:_gst_context_query:<sink> posting need context message
0:00:00.705293169  3456 00000000002E4000 INFO               gldisplay gstgldisplay.c:162:gst_gl_display_new: creating a display, user choice:(NULL) (platform: (NULL))
0:00:00.705344226  3456 00000000002E4000 WARN               gldisplay gstgldisplay.c:188:gst_gl_display_new: Could not create display. user specified (NULL) (platform: (NULL)), creating dummy
0:00:00.705452419  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:667:gst_gl_display_context_propagate:<sink> posting have context (00000000002E17E0) message with display (00000000002E9E30)
0:00:00.705599107  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:503:pad_query:<sink:sink> pad peer query failed
0:00:00.705678124  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:562:_gst_context_query:<sink> posting need context message
0:00:00.705754710  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2330:gst_element_continue_state:<sink> completed state change to READY
0:00:00.705824407  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2235:_priv_gst_element_state_changed:<sink> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.705899372  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2684:gst_bin_change_state_func:<glimagesinkbin0> child 'sink' changed state to 2(READY) successfully
0:00:00.705976768  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2230:gst_bin_element_set_state:<glcolorconvertelement0> current NULL pending VOID_PENDING, desired next READY
0:00:00.706086986  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:547:_gst_context_query:<glcolorconvertelement0> found context (00000000002E1780) in downstream query
0:00:00.706263660  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:503:pad_query:<glcolorconvertelement0:src> pad peer query failed
0:00:00.706368611  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:503:pad_query:<glcolorconvertelement0:sink> pad peer query failed
0:00:00.706446413  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:562:_gst_context_query:<glcolorconvertelement0> posting need context message
0:00:00.706539207  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2330:gst_element_continue_state:<glcolorconvertelement0> completed state change to READY
0:00:00.706612956  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2235:_priv_gst_element_state_changed:<glcolorconvertelement0> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.706690758  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2684:gst_bin_change_state_func:<glimagesinkbin0> child 'glcolorconvertelement0' changed state to 2(READY) successfully
0:00:00.706764912  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2230:gst_bin_element_set_state:<gluploadelement0> current NULL pending VOID_PENDING, desired next READY
0:00:00.706860948  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:547:_gst_context_query:<gluploadelement0> found context (00000000002E1780) in downstream query
0:00:00.706965494  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:503:pad_query:<gluploadelement0:src> pad peer query failed
0:00:00.707088274  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:503:pad_query:<gluploadelement0:sink> pad peer query failed
0:00:00.707166886  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:562:_gst_context_query:<gluploadelement0> posting need context message
0:00:00.707261706  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2330:gst_element_continue_state:<gluploadelement0> completed state change to READY
0:00:00.707318842  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2235:_priv_gst_element_state_changed:<gluploadelement0> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.707396643  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2684:gst_bin_change_state_func:<glimagesinkbin0> child 'gluploadelement0' changed state to 2(READY) successfully
0:00:00.707499973  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2330:gst_element_continue_state:<glimagesinkbin0> completed state change to READY
0:00:00.707566023  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2235:_priv_gst_element_state_changed:<glimagesinkbin0> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.707634505  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2684:gst_bin_change_state_func:<pipeline0> child 'glimagesinkbin0' changed state to 2(READY) successfully
0:00:00.707704607  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2230:gst_bin_element_set_state:<gltestsrc0> current NULL pending VOID_PENDING, desired next READY
0:00:00.707788892  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:547:_gst_context_query:<gltestsrc0> found context (00000000002E1780) in downstream query
0:00:00.707899111  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:503:pad_query:<gltestsrc0:src> pad peer query failed
0:00:00.708026348  3456 00000000002E4000 INFO             GST_CONTEXT gstglutils.c:562:_gst_context_query:<gltestsrc0> posting need context message
0:00:00.708096856  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2330:gst_element_continue_state:<gltestsrc0> completed state change to READY
0:00:00.708170605  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2235:_priv_gst_element_state_changed:<gltestsrc0> notifying about state-changed NULL to READY (VOID_PENDING pending)
0:00:00.708251243  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2684:gst_bin_change_state_func:<pipeline0> child 'gltestsrc0' changed state to 2(READY) successfully
0:00:00.708319724  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2305:gst_element_continue_state:<pipeline0> committing state from NULL to READY, pending PAUSED, next PAUSED
0:00:00.708384964  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2235:_priv_gst_element_state_changed:<pipeline0> notifying about state-changed NULL to READY (PAUSED pending)
0:00:00.708587167  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2312:gst_element_continue_state:<pipeline0> continue state change READY to PAUSED, final PAUSED
0:00:00.708734260  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2230:gst_bin_element_set_state:<glimagesinkbin0> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.708825433  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2230:gst_bin_element_set_state:<sink> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.708911339  3456 00000000002E4000 INFO               glcontext gstglcontext.c:280:gst_gl_context_new: creating a context for display <gldisplay0>, user choice:(null)
0:00:00.709060459  3456 00000000002E4000 INFO                glwindow gstglwindow.c:212:gst_gl_window_new: creating a window, user choice:(null)
[New Thread 3456.0x1698]
[New Thread 3456.0x1104]
0:00:00.746759288  3456 0000000002C9C280 INFO               glcontext gstglcontext.c:1269:gst_gl_context_create_thread:<glcontextwgl0> Attempting to create opengl context. user chosen api(s) (any), compiled api support (opengl opengl3) display api (opengl)
0:00:00.761953252  3456 0000000002C9C280 INFO               glcontext gstglcontext.c:1280:gst_gl_context_create_thread:<glcontextwgl0> created context
0:00:00.762855262  3456 0000000002C9C280 INFO               glcontext gstglcontext.c:1296:gst_gl_context_create_thread:<glcontextwgl0> available GL APIs: opengl
0:00:00.766021617  3456 0000000002C9C280 INFO               glcontext gstglcontext.c:1111:_create_context_info:<glcontextwgl0> GL_VERSION: 2.1.0 - Build 8.15.10.2622
0:00:00.766091719  3456 0000000002C9C280 INFO               glcontext gstglcontext.c:1114:_create_context_info:<glcontextwgl0> GL_SHADING_LANGUAGE_VERSION: 1.20  - Intel Build 8.15.10.2622
0:00:00.766136293  3456 0000000002C9C280 INFO               glcontext gstglcontext.c:1116:_create_context_info:<glcontextwgl0> GL_VENDOR: Intel
0:00:00.766178841  3456 0000000002C9C280 INFO               glcontext gstglcontext.c:1118:_create_context_info:<glcontextwgl0> GL_RENDERER: Intel(R) HD Graphics
0:00:00.877669459  3456 0000000002C9C280 INFO                glwindow gstglwindow_win32.c:322:gst_gl_window_win32_run: begin message loop
0:00:00.877818173  3456 00000000002E4000 INFO               glcontext gstglcontext.c:935:gst_gl_context_create:<glcontextwgl0> gl thread created
0:00:00.877940548  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2690:gst_bin_change_state_func:<glimagesinkbin0> child 'sink' is changing state asynchronously to PAUSED
0:00:00.878045094  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2230:gst_bin_element_set_state:<glcolorconvertelement0> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.878107902  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2330:gst_element_continue_state:<glcolorconvertelement0> completed state change to PAUSED
0:00:00.878152476  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2235:_priv_gst_element_state_changed:<glcolorconvertelement0> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.878208801  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2684:gst_bin_change_state_func:<glimagesinkbin0> child 'glcolorconvertelement0' changed state to 3(PAUSED) successfully
0:00:00.878261884  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2230:gst_bin_element_set_state:<gluploadelement0> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.878313752  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2330:gst_element_continue_state:<gluploadelement0> completed state change to PAUSED
0:00:00.878356299  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2235:_priv_gst_element_state_changed:<gluploadelement0> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.878405735  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2684:gst_bin_change_state_func:<glimagesinkbin0> child 'gluploadelement0' changed state to 3(PAUSED) successfully
0:00:00.878462060  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2690:gst_bin_change_state_func:<pipeline0> child 'glimagesinkbin0' is changing state asynchronously to PAUSED
0:00:00.878510686  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2230:gst_bin_element_set_state:<gltestsrc0> current READY pending VOID_PENDING, desired next PAUSED
0:00:00.878571063  3456 00000000002E4000 INFO                 basesrc gstbasesrc.c:1339:gst_base_src_do_seek:<gltestsrc0> seeking: time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:00.878687766  3456 00000000002E4000 INFO                    task gsttask.c:446:gst_task_set_lock: setting stream lock 0000000002CB7E00 on task 0000000002CA6050
0:00:00.878743280  3456 00000000002E4000 INFO                GST_PADS gstpad.c:5748:gst_pad_start_task:<gltestsrc0:src> created task 0000000002CA6050
[New Thread 3456.0x198]
0:00:00.879171188  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2330:gst_element_continue_state:<gltestsrc0> completed state change to PAUSED
0:00:00.879238048  3456 00000000002E4000 INFO              GST_STATES gstelement.c:2235:_priv_gst_element_state_changed:<gltestsrc0> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
0:00:00.879295589  3456 00000000002E4000 INFO              GST_STATES gstbin.c:2684:gst_bin_change_state_func:<pipeline0> child 'gltestsrc0' changed state to 3(PAUSED) successfully
Pipeline is PREROLLING ...
0:00:00.879442277  3456 0000000002C9C2C0 INFO        GST_ELEMENT_PADS gstelement.c:894:gst_element_get_static_pad: no such pad 'sink' in element "gltestsrc0"
0:00:00.879590181  3456Got context from element 'sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplay\)\ gldisplay0";
 0000000002C9C2C0 FIXME                default gstutils.c:3761:gst_pad_create_stream_id_internal:<gltestsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:00.880218670  3456 0000000002C9C2C0 INFO               GST_EVENT gstevent.c:679:gst_event_new_caps: creating caps event video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1
0:00:00.881312752  3456 0000000002C9C2C0 INFO           basetransform gstbasetransform.c:1371:gst_base_transform_setcaps:<gluploadelement0> reuse caps
0:00:00.881365430  3456 0000000002C9C2C0 INFO               GST_EVENT gstevent.c:679:gst_event_new_caps: creating caps event video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1
0:00:00.881947725  3456 0000000002C9C2C0 INFO           basetransform gstbasetransform.c:1371:gst_base_transform_setcaps:<glcolorconvertelement0> reuse caps
0:00:00.882018638  3456 0000000002C9C2C0 INFO               GST_EVENT gstevent.c:679:gst_event_new_caps: creating caps event video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 3456.0x1104]
0x000000018003b5d5 in ?? () from /cygdrive/c/Windows/system32/ig4icd64.dll
(gdb) t a a bt


Comment 1 Xavier Claessens 2015-05-15 12:46:57 UTC
It could be a dup of bug #749284 but I'm not sure so I decided to report separately for now.
Comment 2 Xavier Claessens 2015-05-15 12:48:06 UTC
Note that videotestsrc ! glimagesink works.
Comment 3 Xavier Claessens 2015-05-15 13:48:59 UTC
Here is what I've found so far by debugging step by step in gdb:

The backtrace says that in _gen_fbo data is 0x140 (suspicious ptr) and when it enters gst_gl_framebuffer_generate() frame is NULL. But that's actually a lie, when breaking at the beginning of gst_gl_framebuffer_generate() frame is a perfectly fine pointer and stack gets corrupted by the time it reach line 119. If frame wasn't correct it wouldn't get that far anyway since the function starts with g_return_val_if_fail (GST_IS_GL_FRAMEBUFFER (frame), FALSE);

So there is something between line 90 and 119 that corrupt the stack...
Comment 4 Xavier Claessens 2015-05-15 14:07:19 UTC
The stack is actually still correct until line 119. It crash inside

    gl->RenderbufferStorage (GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, width,
        height);
Comment 5 Xavier Claessens 2015-05-15 14:28:40 UTC
I have ~0 knowledge of GL, but is it normal that it calls RenderbufferStorage twice?

    gl->RenderbufferStorage (GL_RENDERBUFFER, GL_DEPTH_COMPONENT, width,
        height);
    gl->RenderbufferStorage (GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, width,
        height);

If I comment out the first call, it won't crash and it display the test frame. However the "snow" is not animated, but I think that's another bug.
Comment 6 Xavier Claessens 2015-05-15 14:53:12 UTC
Oh, and gstglcolorconvert::_init_convert_fbo() has almost the same code than gst_gl_framebuffer_generate() and has the exact same crash. That smell the copy/paste.
Comment 7 Xavier Claessens 2015-05-17 01:10:22 UTC
Hm, I just tested with vmware and it doesn't crash. So it could be intel driver, maybe.
Comment 8 Lubosz Sarnecki 2015-05-19 09:21:53 UTC
@Xavier: indeed the first call to RenderbufferStorage should be redundant, since there is no other buffer bound via glBindRenderbuffer before the second call.

https://www.khronos.org/opengles/sdk/docs/man/xhtml/glRenderbufferStorage.xml

"Any existing data store for the renderbuffer is deleted"

http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-14-render-to-texture/
Comment 9 Xavier Claessens 2015-05-19 14:44:06 UTC
Created attachment 303601 [details] [review]
gl: fix crash on windows with intel driver
Comment 10 Matthew Waters (ystreet00) 2015-05-19 14:57:19 UTC
Thanks for the patch!

commit 7ca9f52ccb05a6adb0c93319775998bda1b5e2eb
Author: Xavier Claessens <xavier.claessens@collabora.com>
Date:   Tue May 19 10:43:28 2015 -0400

    gl: fix crash on windows with intel driver
    
    https://bugzilla.gnome.org/show_bug.cgi?id=749430