[Bug 766703] New: glvideomixer: Using an invalid, already destroyed context

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri May 20 09:15:00 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=766703

            Bug ID: 766703
           Summary: glvideomixer: Using an invalid, already destroyed
                    context
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: blocker
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: slomo at coaxion.net
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

GST_VALIDATE_SCENARIOS_PATH=/home/slomo/Projects/gstreamer/head/gst-devtools/validate/data/scenarios:
GST_GL_XINITTHREADS=1 DISPLAY=:0 GST_VALIDATE_SCENARIO=play_15s
/home/slomo/Projects/gstreamer/head/gst-devtools/validate/tools/gst-validate-1.0-debug
 glvideomixer sink_1::alpha=0.5 sink_1::xpos=50 sink_1::ypos=50 name=_mixer ! 
deinterlace ! videoconvert ! 'fakesink' videotestsrc pattern=snow
timestamp-offset=3000000000 !
'video/x-raw,format=AYUV,width=640,height=480,framerate=(fraction)30/1' ! 
timeoverlay ! _mixer. videotestsrc pattern=smpte !
'video/x-raw,format=AYUV,width=800,height=600,framerate=(fraction)10/1' !
timeoverlay ! _mixer.

This fails with assertions every now and then:
0:00:00.405870420 22018 0x7fffdc004000 ERROR               validate
gst-validate-reporter.c:176:gst_validate_report_valist: <pipeline0> 2272
(critical) : g-log: We got a g_log critical issue : g_object_ref: assertion
'object->ref_count > 0' failed

#6  0x00007fffecab0155 in gst_gl_buffer_pool_new
(context=context at entry=0x8b15c0 [GstGLContextGLX])
    at gstglbufferpool.c:300
300      pool->context = gst_object_ref (context);
(gdb) print *context
$1 = {
  parent = {
    object = {
      g_type_instance = {
        g_class = 0x7fffcc00ae70
      }, 
      ref_count = 0, 
      qdata = 0x7fffcc002782
    }, 
    lock = {
      p = 0x0, 
      i = {0, 0}
    }, 
    name = 0x7fffcc003470 "glcontextglx0", 
    parent = 0x0, 
    flags = 0, 
    control_bindings = 0x0, 
    control_rate = 100000000, 
    last_sync = 18446744073709551615, 
    _gst_reserved = 0x0
  }, 
  display = 0x89f4d0 [GstGLDisplayX11], 
  window = 0x7fffcc00e0a0 [GstGLWindowX11], 
  gl_vtable = 0x7fffcc00bc20, 
  _reserved = {0x0, 0x0, 0x0, 0x0}, 
  priv = 0x8b1560
}

(gdb) bt
#0  0x00007ffff68b8a6b in g_logv (breakpoint=1) at
/build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmessages.c:325
#1  0x00007ffff68b8a6b in g_logv (log_domain=0x7ffff6bb49b6 "GLib-GObject",
log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>,
args=args at entry=0x7fffe27fa0a0) at
/build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmessages.c:1080
#2  0x00007ffff68b8bdf in g_log (log_domain=log_domain at entry=0x7ffff6bb49b6
"GLib-GObject", log_level=log_level at entry=G_LOG_LEVEL_CRITICAL,
format=format at entry=0x7ffff69033b4 "%s: assertion '%s' failed")
    at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmessages.c:1119
#3  0x00007ffff68b8c19 in g_return_if_fail_warning
(log_domain=log_domain at entry=0x7ffff6bb49b6 "GLib-GObject",
pretty_function=pretty_function at entry=0x7ffff6bb80f8 <__func__.13625>
"g_object_ref", expression=expression at entry=0x7ffff6bb6e2f "object->ref_count >
0") at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gmessages.c:1134
#4  0x00007ffff6b8da0a in g_object_ref (_object=_object at entry=0x8b15c0)
    at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./gobject/gobject.c:3050
#5  0x00007ffff6df982d in gst_object_ref (object=object at entry=0x8b15c0) at
gstobject.c:256
#6  0x00007fffecab0155 in gst_gl_buffer_pool_new
(context=context at entry=0x8b15c0 [GstGLContextGLX])
    at gstglbufferpool.c:300
#7  0x00007fffecd0e8e6 in gst_gl_mixer_propose_allocation (base_mix=<optimized
out>, base_pad=<optimized out>, decide_query=<optimized out>,
query=0x7fffcc002c50) at gstglmixer.c:157
#8  0x00007fffecd105bc in gst_gl_video_mixer_propose_allocation
(base_mix=0x850f80 [GstGLVideoMixer], base_pad=0x88f180 [GstGLVideoMixerPad],
decide_query=0x0, query=0x7fffcc002c50) at gstglvideomixer.c:940
#9  0x00007fffeccfde3a in gst_gl_base_mixer_sink_query (agg=<optimized out>,
bpad=<optimized out>, query=0x7fffcc002c50)
    at gstglbasemixer.c:287
#10 0x00007fffecd0eec3 in gst_gl_mixer_sink_query (agg=0x850f80
[GstGLVideoMixer], bpad=0x88f180 [GstGLVideoMixerPad], query=0x7fffcc002c50) at
gstglmixer.c:300
#11 0x00007ffff7827941 in gst_validate_pad_monitor_query_func (pad=0x88f180
[GstGLVideoMixerPad], parent=0x850f80 [GstGLVideoMixer], query=0x7fffcc002c50)
at gst-validate-pad-monitor.c:2198
#12 0x00007ffff6e41578 in gst_pad_query (pad=pad at entry=0x88f180
[GstGLVideoMixerPad], query=query at entry=0x7fffcc002c50)
    at gstpad.c:3940
#13 0x00007ffff6e41b51 in gst_pad_peer_query (pad=0x881da0 [GstPad],
query=query at entry=0x7fffcc002c50) at gstpad.c:4072
#14 0x00007ffff712fe76 in gst_base_transform_setcaps (outcaps=0x7fffcc0028a0,
trans=0x842f20 [GstGLColorConvertElement])
    at gstbasetransform.c:1003
#15 0x00007ffff712fe76 in gst_base_transform_setcaps
(trans=trans at entry=0x842f20 [GstGLColorConvertElement], pad=<optimized out>,
incaps=<optimized out>) at gstbasetransform.c:1392
#16 0x00007ffff713131d in gst_base_transform_sink_eventfunc (trans=0x842f20
[GstGLColorConvertElement], event=0x7fffd8003ae0) at gstbasetransform.c:1939
#17 0x00007ffff7828c76 in gst_validate_pad_monitor_downstream_event_check
(pad_monitor=pad_monitor at entry=0x8a02a0 [GstValida---Type <return> to continue,
or q <return> to quit---
tePadMonitor], parent=parent at entry=0x842f20 [GstGLColorConvertElement],
event=event at entry=0x7fffd8003ae0, handler=0x7ffff712eb00
<gst_base_transform_sink_event>) at gst-validate-pad-monitor.c:1830
#18 0x00007ffff782a64d in gst_validate_pad_monitor_sink_event_full_func
(pad=<optimized out>, parent=0x842f20 [GstGLColorConvertElement],
event=0x7fffd8003ae0) at gst-validate-pad-monitor.c:2154
#19 0x00007ffff782ab99 in gst_validate_pad_monitor_sink_event_func
(pad=<optimized out>, parent=<optimized out>, event=<optimized out>) at
gst-validate-pad-monitor.c:2167
#20 0x00007ffff6e39db7 in gst_pad_send_event_unchecked (pad=pad at entry=0x881b60
[GstPad], event=event at entry=0x7fffd8003ae0, type=<optimized out>,
type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5594
#21 0x00007ffff6e3a24e in gst_pad_push_event_unchecked (pad=pad at entry=0x881920
[GstPad], event=0x7fffd8003ae0,
type=type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5252
#22 0x00007ffff6e3a650 in push_sticky (pad=pad at entry=0x881920 [GstPad],
ev=ev at entry=0x7fffe27fa9b0, user_data=user_data at entry=0x7fffe27faa10) at
gstpad.c:3797
#23 0x00007ffff6e383a7 in events_foreach (pad=pad at entry=0x881920 [GstPad],
func=func at entry=0x7ffff6e3a500 <push_sticky>,
user_data=user_data at entry=0x7fffe27faa10) at gstpad.c:603
#24 0x00007ffff6e44761 in gst_pad_push_event (event=0x7fffd8003ae0,
pad=0x881920 [GstPad]) at gstpad.c:3854
#25 0x00007ffff6e44761 in gst_pad_push_event (pad=pad at entry=0x881920 [GstPad],
event=0x7fffd8003ae0) at gstpad.c:5383
#26 0x00007ffff712ffd6 in gst_base_transform_setcaps (caps=0x7fffcc002850,
pad=0x881920 [GstPad])
    at ../../../gst/gstcompat.h:58
#27 0x00007ffff712ffd6 in gst_base_transform_setcaps
(trans=trans at entry=0x842ba0 [GstGLUploadElement], pad=<optimized out>,
incaps=<optimized out>) at gstbasetransform.c:1387
#28 0x00007ffff713131d in gst_base_transform_sink_eventfunc (trans=0x842ba0
[GstGLUploadElement], event=0x7fffd8003a70)
    at gstbasetransform.c:1939
#29 0x00007ffff7828c76 in gst_validate_pad_monitor_downstream_event_check
(pad_monitor=pad_monitor at entry=0x89edb0 [GstValidatePadMonitor],
parent=parent at entry=0x842ba0 [GstGLUploadElement],
event=event at entry=0x7fffd8003a70, handler=0x7ffff712eb00
<gst_base_transform_sink_event>) at gst-validate-pad-monitor.c:1830
#30 0x00007ffff782a64d in gst_validate_pad_monitor_sink_event_full_func
(pad=<optimized out>, parent=0x842ba0 [GstGLUploadElement],
event=0x7fffd8003a70) at gst-validate-pad-monitor.c:2154
#31 0x00007ffff782ab99 in gst_validate_pad_monitor_sink_event_func
(pad=<optimized out>, parent=<optimized out>, event=<optimized out>) at
gst-validate-pad-monitor.c:2167
#32 0x00007ffff6e39db7 in gst_pad_send_event_unchecked (pad=pad at entry=0x8816e0
[GstPad], event=event at entry=0x7fffd8003a70, type=<optimized out>,
type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5594
#33 0x00007ffff6e3a24e in gst_pad_push_event_unchecked (pad=pad at entry=0x84c610
[GstProxyPad], event=0x7fffd8003a70,
type=type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5252
#34 0x00007ffff6e3a650 in push_sticky (pad=pad at entry=0x84c610 [GstProxyPad],
ev=ev at entry=0x7fffe27fae70, user_data=user_data---Type <return> to continue, or
q <return> to quit---
@entry=0x7fffe27faed0) at gstpad.c:3797
#35 0x00007ffff6e383a7 in events_foreach (pad=pad at entry=0x84c610 [GstProxyPad],
func=func at entry=0x7ffff6e3a500 <push_sticky>,
user_data=user_data at entry=0x7fffe27faed0) at gstpad.c:603
#36 0x00007ffff6e44761 in gst_pad_push_event (event=0x7fffd8003a70,
pad=0x84c610 [GstProxyPad]) at gstpad.c:3854
#37 0x00007ffff6e44761 in gst_pad_push_event (pad=pad at entry=0x84c610
[GstProxyPad], event=0x7fffd8003a70) at gstpad.c:5383
#38 0x00007ffff6e448ce in event_forward_func (pad=pad at entry=0x84c610
[GstProxyPad], data=data at entry=0x7fffe27fafc0)
    at gstpad.c:2984
#39 0x00007ffff6e4027e in gst_pad_forward (pad=0x8983f0 [GstGLVideoMixerInput],
forward=forward at entry=0x7ffff6e44810 <event_forward_func>,
user_data=user_data at entry=0x7fffe27fafc0) at gstpad.c:2938
#40 0x00007ffff6e403b3 in gst_pad_event_default (pad=<optimized out>,
parent=<optimized out>, event=0x7fffd8003a70)
    at gstpad.c:3035
#41 0x00007ffff6e39db7 in gst_pad_send_event_unchecked (pad=pad at entry=0x8983f0
[GstGLVideoMixerInput], event=event at entry=0x7fffd8003a70, type=<optimized out>,
type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5594
#42 0x00007ffff6e3a24e in gst_pad_push_event_unchecked (pad=pad at entry=0x8802a0
[GstPad], event=0x7fffd8003a70,
type=type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5252
#43 0x00007ffff6e3a650 in push_sticky (pad=pad at entry=0x8802a0 [GstPad],
ev=ev at entry=0x7fffe27fb190, user_data=user_data at entry=0x7fffe27fb1f0) at
gstpad.c:3797
#44 0x00007ffff6e383a7 in events_foreach (pad=pad at entry=0x8802a0 [GstPad],
func=func at entry=0x7ffff6e3a500 <push_sticky>,
user_data=user_data at entry=0x7fffe27fb1f0) at gstpad.c:603
#45 0x00007ffff6e44761 in gst_pad_push_event (event=0x7fffd8003a70,
pad=0x8802a0 [GstPad]) at gstpad.c:3854
#46 0x00007ffff6e44761 in gst_pad_push_event (pad=pad at entry=0x8802a0 [GstPad],
event=0x7fffd8003a70) at gstpad.c:5383
#47 0x00007fffe920687e in gst_base_text_overlay_negotiate (caps=0x7fffcc0029e0,
pad=0x8802a0 [GstPad])
    at /home/slomo/Projects/gstreamer/head/gstreamer/gst/gstcompat.h:58
#48 0x00007fffe920687e in gst_base_text_overlay_negotiate
(overlay=overlay at entry=0x87e410 [GstTimeOverlay],
caps=caps at entry=0x7fffcc0029e0) at gstbasetextoverlay.c:913
#49 0x00007fffe9209f2d in gst_base_text_overlay_video_event
(caps=0x7fffcc0029e0, overlay=0x87e410 [GstTimeOverlay])
    at gstbasetextoverlay.c:969
#50 0x00007fffe9209f2d in gst_base_text_overlay_video_event (pad=<optimized
out>, parent=<optimized out>, event=0x7fffd8003a00) at
gstbasetextoverlay.c:2415
#51 0x00007ffff7828c76 in gst_validate_pad_monitor_downstream_event_check
(pad_monitor=pad_monitor at entry=0x89d7e0 [GstValidatePadMonitor],
parent=parent at entry=0x87e410 [GstTimeOverlay],
event=event at entry=0x7fffd8003a00, handler=0x7fffe9209b80
<gst_base_text_overlay_video_event>) at gst-validate-pad-monitor.c:1830
#52 0x00007ffff782a64d in gst_validate_pad_monitor_sink_event_full_func
(pad=<optimized out>, parent=0x87e410 [GstTimeOverlay], event=0x7fffd8003a00)
at gst-validate-pad-monitor.c:2154
---Type <return> to continue, or q <return> to quit---
#53 0x00007ffff782ab99 in gst_validate_pad_monitor_sink_event_func
(pad=<optimized out>, parent=<optimized out>, event=<optimized out>) at
gst-validate-pad-monitor.c:2167
#54 0x00007ffff6e39db7 in gst_pad_send_event_unchecked (pad=pad at entry=0x880060
[GstPad], event=event at entry=0x7fffd8003a00, type=<optimized out>,
type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5594
#55 0x00007ffff6e3a24e in gst_pad_push_event_unchecked (pad=pad at entry=0x8814a0
[GstPad], event=0x7fffd8003a00,
type=type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5252
#56 0x00007ffff6e3a650 in push_sticky (pad=pad at entry=0x8814a0 [GstPad],
ev=ev at entry=0x7fffe27fb6b0, user_data=user_data at entry=0x7fffe27fb710) at
gstpad.c:3797
#57 0x00007ffff6e383a7 in events_foreach (pad=pad at entry=0x8814a0 [GstPad],
func=func at entry=0x7ffff6e3a500 <push_sticky>,
user_data=user_data at entry=0x7fffe27fb710) at gstpad.c:603
#58 0x00007ffff6e44761 in gst_pad_push_event (event=0x7fffd8003a00,
pad=0x8814a0 [GstPad]) at gstpad.c:3854
#59 0x00007ffff6e44761 in gst_pad_push_event (pad=pad at entry=0x8814a0 [GstPad],
event=0x7fffd8003a00) at gstpad.c:5383
#60 0x00007ffff712ffd6 in gst_base_transform_setcaps (caps=0x7fffcc0029e0,
pad=0x8814a0 [GstPad])
    at ../../../gst/gstcompat.h:58
#61 0x00007ffff712ffd6 in gst_base_transform_setcaps
(trans=trans at entry=0x88c530 [GstCapsFilter], pad=<optimized out>,
incaps=<optimized out>) at gstbasetransform.c:1387
#62 0x00007ffff713131d in gst_base_transform_sink_eventfunc
(trans=trans at entry=0x88c530 [GstCapsFilter], event=0x7fffd8003990) at
gstbasetransform.c:1939
#63 0x00007fffe962862c in gst_capsfilter_sink_event (trans=0x88c530
[GstCapsFilter], event=0x7fffd8003990)
    at gstcapsfilter.c:521
#64 0x00007ffff7828c76 in gst_validate_pad_monitor_downstream_event_check
(pad_monitor=pad_monitor at entry=0x89d060 [GstValidatePadMonitor],
parent=parent at entry=0x88c530 [GstCapsFilter], event=event at entry=0x7fffd8003990,
handler=0x7ffff712eb00 <gst_base_transform_sink_event>) at
gst-validate-pad-monitor.c:1830
#65 0x00007ffff782a64d in gst_validate_pad_monitor_sink_event_full_func
(pad=<optimized out>, parent=0x88c530 [GstCapsFilter], event=0x7fffd8003990) at
gst-validate-pad-monitor.c:2154
#66 0x00007ffff782ab99 in gst_validate_pad_monitor_sink_event_func
(pad=<optimized out>, parent=<optimized out>, event=<optimized out>) at
gst-validate-pad-monitor.c:2167
#67 0x00007ffff6e39db7 in gst_pad_send_event_unchecked (pad=pad at entry=0x881260
[GstPad], event=event at entry=0x7fffd8003990, type=<optimized out>,
type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5594
#68 0x00007ffff6e3a24e in gst_pad_push_event_unchecked (pad=pad at entry=0x845d70
[GstPad], event=0x7fffd8003990,
type=type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5252
#69 0x00007ffff6e3a650 in push_sticky (pad=pad at entry=0x845d70 [GstPad],
ev=ev at entry=0x7fffe27fbbc0, user_data=user_data at entry=0x7fffe27fbc20) at
gstpad.c:3797
#70 0x00007ffff6e383a7 in events_foreach (pad=pad at entry=0x845d70 [GstPad],
func=func at entry=0x7ffff6e3a500 <push_sticky>, use---Type <return> to continue,
or q <return> to quit---
r_data=user_data at entry=0x7fffe27fbc20) at gstpad.c:603
#71 0x00007ffff6e44761 in gst_pad_push_event (event=0x7fffd8003990,
pad=0x845d70 [GstPad]) at gstpad.c:3854
#72 0x00007ffff6e44761 in gst_pad_push_event (pad=0x845d70 [GstPad],
event=0x7fffd8003990) at gstpad.c:5383
#73 0x00007ffff7129e47 in gst_base_src_set_caps (src=src at entry=0x8820d0
[GstVideoTestSrc], caps=caps at entry=0x7fffcc0029e0)
    at gstbasesrc.c:924
#74 0x00007ffff712a083 in gst_base_src_default_negotiate (basesrc=0x8820d0
[GstVideoTestSrc]) at gstbasesrc.c:3231
#75 0x00007ffff7127f4c in gst_base_src_loop (basesrc=0x8820d0
[GstVideoTestSrc]) at gstbasesrc.c:3271
#76 0x00007ffff7127f4c in gst_base_src_loop (pad=0x845d70 [GstPad]) at
gstbasesrc.c:2697
#77 0x00007ffff6e6d461 in gst_task_func (task=0x8d1290 [GstTask]) at
gsttask.c:332
#78 0x00007ffff68d955e in g_thread_pool_thread_proxy (data=<optimized out>)
    at /build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gthreadpool.c:307
#79 0x00007ffff68d8bc5 in g_thread_proxy (data=0x7fffdc004000) at
/build/glib2.0-wnDt2X/glib2.0-2.48.1/./glib/gthread.c:780
#80 0x00007ffff6652454 in start_thread (arg=0x7fffe27fc700) at
pthread_create.c:334
#81 0x00007ffff638fe5d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list