[Bug 760559] New: glvideomixer ! glimagesink deadlocks on resize

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Jan 12 18:26:58 PST 2016


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

            Bug ID: 760559
           Summary: glvideomixer ! glimagesink deadlocks on resize
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: critical
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: ystreet00 at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

glvideomixer ! glimagesink will deadlock rather quickly when attempting to
resize the glimagesink window.

obligatory backtrace:

^C
Program received signal SIGINT, Interrupt.
0x00007ffff673918d in poll () from /usr/lib/libc.so.6
(gdb) t a a bt

Thread 7 (Thread 0x7fffdf7fe700 (LWP 23534)):
#0  0x00007ffff673918d in poll () from /usr/lib/libc.so.6
#1  0x00007ffff706f0d4 in g_main_context_poll (priority=2147483647, n_fds=1,
fds=0x7fffcc0008c0, timeout=<optimized out>, context=0x8a3f30) at gmain.c:4135
#2  g_main_context_iterate (context=context at entry=0x8a3f30,
block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at
gmain.c:3835
#3  0x00007ffff706f1dc in g_main_context_iteration (context=0x8a3f30,
may_block=may_block at entry=1) at gmain.c:3901
#4  0x00007ffff706f219 in glib_worker_main (data=<optimized out>) at
gmain.c:5672
#5  0x00007ffff7094c25 in g_thread_proxy (data=0x8c0230) at gthread.c:780
#6  0x00007ffff6a044a4 in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007ffff674213d in clone () from /usr/lib/libc.so.6

Thread 6 (Thread 0x7fffdffff700 (LWP 23533)):
#0  0x00007ffff673dcf9 in syscall () from /usr/lib/libc.so.6
#1  0x00007ffff70b234f in g_cond_wait (cond=0x8ebf20, mutex=0x8ebf18) at
gthread-posix.c:1397
#2  0x00007ffff59948c1 in gst_aggregator_pad_query_func (pad=0x8ebf70,
parent=0x8d88a0, query=0x7fffd4003320) at gstaggregator.c:2290
#3  0x00007ffff7b26a78 in gst_pad_query (pad=pad at entry=0x8ebf70,
query=query at entry=0x7fffd4003320) at gstpad.c:3898
#4  0x00007ffff7b2703b in gst_pad_peer_query (pad=0x8f4290,
query=query at entry=0x7fffd4003320) at gstpad.c:4030
#5  0x00007ffff5fcb050 in gst_gl_base_filter_query (trans=0x8c8ed0,
direction=GST_PAD_SINK, query=0x7fffd4003320) at gstglbasefilter.c:211
#6  0x00007ffff7b26a78 in gst_pad_query (pad=pad at entry=0x8f4050,
query=query at entry=0x7fffd4003320) at gstpad.c:3898
#7  0x00007ffff7b2703b in gst_pad_peer_query (pad=0x8cbd70,
query=query at entry=0x7fffd4003320) at gstpad.c:4030
#8  0x00007ffff4b92446 in gst_base_transform_do_bufferpool
(outcaps=0x7fffd8003370, trans=0x8c8b60) at gstbasetransform.c:1003
#9  gst_base_transform_setcaps (trans=trans at entry=0x8c8b60, pad=<optimized
out>, incaps=incaps at entry=0x7fffd4003370) at gstbasetransform.c:1392
#10 0x00007ffff4b926fb in gst_base_transform_reconfigure (trans=0x8c8b60) at
gstbasetransform.c:1472
#11 0x00007ffff4b93564 in gst_base_transform_default_query (trans=0x8c8b60,
direction=<optimized out>, query=0x7fffd8003280) at gstbasetransform.c:1513
#12 0x00007ffff5fcb007 in gst_gl_base_filter_query (trans=0x8c8b60,
direction=GST_PAD_SINK, query=0x7fffd8003280) at gstglbasefilter.c:257
#13 0x00007ffff7b26a78 in gst_pad_query (pad=pad at entry=0x8cbb30,
query=query at entry=0x7fffd8003280) at gstpad.c:3898
#14 0x00007ffff7b2703b in gst_pad_peer_query (pad=pad at entry=0x8d65e0,
query=0x7fffd8003280) at gstpad.c:4030
#15 0x00007ffff7b27753 in query_forward_func (pad=pad at entry=0x8d65e0,
data=data at entry=0x7fffdfffec40) at gstpad.c:3279
#16 0x00007ffff7b2579e in gst_pad_forward (pad=pad at entry=0x8f2360,
forward=forward at entry=0x7ffff7b276a0 <query_forward_func>, 
    user_data=user_data at entry=0x7fffdfffec40) at gstpad.c:2912
#17 0x00007ffff7b259f4 in gst_pad_query_default (pad=0x8f2360,
parent=<optimized out>, query=0x7fffd8003280) at gstpad.c:3346
#18 0x00007ffff7b26a78 in gst_pad_query (pad=pad at entry=0x8f2360,
query=query at entry=0x7fffd8003280) at gstpad.c:3898
#19 0x00007ffff7b2703b in gst_pad_peer_query (pad=0x8caff0,
query=query at entry=0x7fffd8003280) at gstpad.c:4030
#20 0x00007ffff4b8a728 in gst_base_src_prepare_allocation (caps=0x7fffd4003370,
basesrc=0x8e1090) at gstbasesrc.c:3132
#21 gst_base_src_negotiate (basesrc=0x8e1090) at gstbasesrc.c:3276
#22 gst_base_src_loop (pad=0x8caff0) at gstbasesrc.c:2693
#23 0x00007ffff7b52151 in gst_task_func (task=0x90b290) at gsttask.c:331
#24 0x00007ffff70955ae in g_thread_pool_thread_proxy (data=<optimized out>) at
gthreadpool.c:307
#25 0x00007ffff7094c25 in g_thread_proxy (data=0x65be80) at gthread.c:780
#26 0x00007ffff6a044a4 in start_thread () from /usr/lib/libpthread.so.0
#27 0x00007ffff674213d in clone () from /usr/lib/libc.so.6

---Type <return> to continue, or q <return> to quit---
Thread 5 (Thread 0x7fffec9c3700 (LWP 23532)):
#0  0x00007ffff673dcf9 in syscall () from /usr/lib/libc.so.6
#1  0x00007ffff70b234f in g_cond_wait (cond=0x8e5b30, mutex=0x8e5b28) at
gthread-posix.c:1397
#2  0x00007ffff59948c1 in gst_aggregator_pad_query_func (pad=0x8e5b80,
parent=0x8d88a0, query=0x7fffd8002de0) at gstaggregator.c:2290
#3  0x00007ffff7b26a78 in gst_pad_query (pad=pad at entry=0x8e5b80,
query=query at entry=0x7fffd8002de0) at gstpad.c:3898
#4  0x00007ffff7b2703b in gst_pad_peer_query (pad=0x8cb8f0,
query=query at entry=0x7fffd8002de0) at gstpad.c:4030
#5  0x00007ffff5fcb050 in gst_gl_base_filter_query (trans=0x8c87f0,
direction=GST_PAD_SINK, query=0x7fffd8002de0) at gstglbasefilter.c:211
#6  0x00007ffff7b26a78 in gst_pad_query (pad=pad at entry=0x8cb6b0,
query=query at entry=0x7fffd8002de0) at gstpad.c:3898
#7  0x00007ffff7b2703b in gst_pad_peer_query (pad=0x8cb470,
query=query at entry=0x7fffd8002de0) at gstpad.c:4030
#8  0x00007ffff4b92446 in gst_base_transform_do_bufferpool
(outcaps=0x7fffd80030a0, trans=0x8c8480) at gstbasetransform.c:1003
#9  gst_base_transform_setcaps (trans=trans at entry=0x8c8480, pad=<optimized
out>, incaps=incaps at entry=0x7fffd80030f0) at gstbasetransform.c:1392
#10 0x00007ffff4b926fb in gst_base_transform_reconfigure (trans=0x8c8480) at
gstbasetransform.c:1472
#11 0x00007ffff4b93564 in gst_base_transform_default_query (trans=0x8c8480,
direction=<optimized out>, query=0x7fffd8002c00) at gstbasetransform.c:1513
#12 0x00007ffff5fcb007 in gst_gl_base_filter_query (trans=0x8c8480,
direction=GST_PAD_SINK, query=0x7fffd8002c00) at gstglbasefilter.c:257
#13 0x00007ffff7b26a78 in gst_pad_query (pad=pad at entry=0x8cb230,
query=query at entry=0x7fffd8002c00) at gstpad.c:3898
#14 0x00007ffff7b2703b in gst_pad_peer_query (pad=pad at entry=0x8d6390,
query=0x7fffd8002c00) at gstpad.c:4030
#15 0x00007ffff7b27753 in query_forward_func (pad=pad at entry=0x8d6390,
data=data at entry=0x7fffec9c2c40) at gstpad.c:3279
#16 0x00007ffff7b2579e in gst_pad_forward (pad=pad at entry=0x8f2070,
forward=forward at entry=0x7ffff7b276a0 <query_forward_func>, 
    user_data=user_data at entry=0x7fffec9c2c40) at gstpad.c:2912
#17 0x00007ffff7b259f4 in gst_pad_query_default (pad=0x8f2070,
parent=<optimized out>, query=0x7fffd8002c00) at gstpad.c:3346
#18 0x00007ffff7b26a78 in gst_pad_query (pad=pad at entry=0x8f2070,
query=query at entry=0x7fffd8002c00) at gstpad.c:3898
#19 0x00007ffff7b2703b in gst_pad_peer_query (pad=0x8cadb0,
query=query at entry=0x7fffd8002c00) at gstpad.c:4030
#20 0x00007ffff4b8a728 in gst_base_src_prepare_allocation (caps=0x7fffd80030f0,
basesrc=0x8e0bb0) at gstbasesrc.c:3132
#21 gst_base_src_negotiate (basesrc=0x8e0bb0) at gstbasesrc.c:3276
#22 gst_base_src_loop (pad=0x8cadb0) at gstbasesrc.c:2693
#23 0x00007ffff7b52151 in gst_task_func (task=0x90b170) at gsttask.c:331
#24 0x00007ffff70955ae in g_thread_pool_thread_proxy (data=<optimized out>) at
gthreadpool.c:307
#25 0x00007ffff7094c25 in g_thread_proxy (data=0x8c0140) at gthread.c:780
#26 0x00007ffff6a044a4 in start_thread () from /usr/lib/libpthread.so.0
#27 0x00007ffff674213d in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7fffed1c4700 (LWP 23531)):
#0  0x00007ffff673dcf9 in syscall () from /usr/lib/libc.so.6
#1  0x00007ffff70b234f in g_cond_wait (cond=cond at entry=0x7fffed1c33c8,
mutex=mutex at entry=0x7fffed1c33c0) at gthread-posix.c:1397
#2  0x00007ffff5fd626b in gst_gl_window_default_send_message (window=0x908220,
callback=<optimized out>, data=<optimized out>) at gstglwindow.c:630
#3  0x00007ffff5fbf8ab in gst_gl_context_thread_add (context=<optimized out>,
func=func at entry=0x7ffff5fc1270 <_unmap_data_gl>,
data=data at entry=0x7fffed1c3460)
    at gstglcontext.c:1504
#4  0x00007ffff5fc1130 in _mem_unmap_full (mem=<optimized out>, info=<optimized
out>) at gstglbasememory.c:337
#5  0x00007ffff7b1b604 in gst_memory_unmap (mem=0x7fffd400a4f0,
info=info at entry=0x7fffed1c3948) at gstmemory.c:346
#6  0x00007ffff7aee296 in gst_buffer_unmap (buffer=<optimized out>,
info=0x7fffed1c3948) at gstbuffer.c:1712
#7  0x00007ffff5502f60 in default_unmap (meta=<optimized out>, plane=<optimized
out>, info=<optimized out>) at gstvideometa.c:226
#8  0x00007ffff54fcb2d in gst_video_frame_unmap (frame=0x7fffed1c3870) at
video-frame.c:211
---Type <return> to continue, or q <return> to quit---
#9  0x00007ffff6223547 in gst_gl_mixer_process_textures
(mix=mix at entry=0x8d88a0, outbuf=outbuf at entry=0x7fffd800c510) at
gstglmixer.c:652
#10 0x00007ffff62237d5 in gst_gl_mixer_aggregate_frames (vagg=<optimized out>,
outbuf=0x7fffd800c510) at gstglmixer.c:725
#11 0x00007ffff5ba2bc8 in gst_videoaggregator_do_aggregate
(outbuf=0x7fffed1c3ca8, output_end_time=1599999999,
output_start_time=1566666666, vagg=0x8d88a0)
    at gstvideoaggregator.c:1333
#12 gst_videoaggregator_aggregate (agg=0x8d88a0, timeout=0) at
gstvideoaggregator.c:1539
#13 0x00007ffff5992493 in gst_aggregator_aggregate_func (self=0x8d88a0) at
gstaggregator.c:816
#14 0x00007ffff7b52151 in gst_task_func (task=0x90b050) at gsttask.c:331
#15 0x00007ffff70955ae in g_thread_pool_thread_proxy (data=<optimized out>) at
gthreadpool.c:307
#16 0x00007ffff7094c25 in g_thread_proxy (data=0x8c04f0) at gthread.c:780
#17 0x00007ffff6a044a4 in start_thread () from /usr/lib/libpthread.so.0
#18 0x00007ffff674213d in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7fffefb05700 (LWP 23526)):
#0  0x00007ffff673dcf9 in syscall () from /usr/lib/libc.so.6
#1  0x00007ffff70b1a2c in g_mutex_lock_slowpath (mutex=0x8d88b8) at
gthread-posix.c:1315
#2  0x00007ffff70b2222 in g_mutex_lock (mutex=<optimized out>) at
gthread-posix.c:1339
#3  0x00007ffff7b17049 in gst_iterator_next (it=it at entry=0x7fffd40042a0,
elem=elem at entry=0x7fffefb042d0) at gstiterator.c:346
#4  0x00007ffff7b25643 in gst_pad_forward (pad=0x8ca930,
forward=forward at entry=0x7ffff5993fe0 <gst_aggregator_event_forward_func>, 
    user_data=user_data at entry=0x7fffefb04370) at gstpad.c:2897
#5  0x00007ffff598f1fd in gst_aggregator_forward_event_to_all_sinkpads
(only_to_active_pads=<optimized out>, flush=0, event=0x7fffe02894e0,
self=0x8d88a0)
    at gstaggregator.c:1648
#6  gst_aggregator_default_src_event (self=0x8d88a0, event=0x7fffe02894e0) at
gstaggregator.c:1735
#7  0x00007ffff5b9fa43 in gst_videoaggregator_src_event (agg=0x8d88a0,
event=0x7fffe02894e0) at gstvideoaggregator.c:1746
#8  0x00007ffff7b1f497 in gst_pad_send_event_unchecked (pad=pad at entry=0x8ca930,
event=event at entry=0x7fffe02894e0, type=<optimized out>, 
    type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5552
#9  0x00007ffff7b1f8a6 in gst_pad_push_event_unchecked (pad=pad at entry=0x8ca030,
event=event at entry=0x7fffe02894e0,
type=type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM)
    at gstpad.c:5210
#10 0x00007ffff7b29a1a in gst_pad_push_event (pad=0x8ca030,
event=event at entry=0x7fffe02894e0) at gstpad.c:5347
#11 0x00007ffff4b93e5d in gst_base_transform_src_eventfunc (trans=0x8c8110,
event=0x7fffe02894e0) at gstbasetransform.c:2010
#12 0x00007ffff7b1f497 in gst_pad_send_event_unchecked (pad=pad at entry=0x8ca270,
event=event at entry=0x7fffe02894e0, type=<optimized out>, 
    type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5552
#13 0x00007ffff7b1f8a6 in gst_pad_push_event_unchecked (pad=pad at entry=0x8ca4b0,
event=event at entry=0x7fffe02894e0,
type=type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM)
    at gstpad.c:5210
#14 0x00007ffff7b29a1a in gst_pad_push_event (pad=0x8ca4b0,
event=event at entry=0x7fffe02894e0) at gstpad.c:5347
#15 0x00007ffff4b93e5d in gst_base_transform_src_eventfunc (trans=0x8ce1b0,
event=0x7fffe02894e0) at gstbasetransform.c:2010
#16 0x00007ffff7b1f497 in gst_pad_send_event_unchecked (pad=pad at entry=0x8ca6f0,
event=event at entry=0x7fffe02894e0, type=<optimized out>, 
    type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5552
#17 0x00007ffff7b1f8a6 in gst_pad_push_event_unchecked (pad=pad at entry=0x8d6140,
event=event at entry=0x7fffe02894e0,
type=type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM)
    at gstpad.c:5210
#18 0x00007ffff7b29a1a in gst_pad_push_event (pad=pad at entry=0x8d6140,
event=0x7fffe02894e0) at gstpad.c:5347
#19 0x00007ffff7b29e2b in event_forward_func (pad=pad at entry=0x8d6140,
data=data at entry=0x7fffefb04a50) at gstpad.c:2958
#20 0x00007ffff7b2579e in gst_pad_forward (pad=0x8d4060,
forward=forward at entry=0x7ffff7b29d70 <event_forward_func>,
user_data=user_data at entry=0x7fffefb04a50)
---Type <return> to continue, or q <return> to quit---
    at gstpad.c:2912
#21 0x00007ffff7b258cb in gst_pad_event_default (pad=<optimized out>,
parent=<optimized out>, event=0x7fffe02894e0) at gstpad.c:3009
#22 0x00007ffff7b1f497 in gst_pad_send_event_unchecked (pad=pad at entry=0x8d4060,
event=event at entry=0x7fffe02894e0, type=<optimized out>, 
    type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM) at gstpad.c:5552
#23 0x00007ffff7b1f8a6 in gst_pad_push_event_unchecked (pad=pad at entry=0x8cab70,
event=event at entry=0x7fffe02894e0,
type=type at entry=GST_PAD_PROBE_TYPE_EVENT_UPSTREAM)
    at gstpad.c:5210
#24 0x00007ffff7b29a1a in gst_pad_push_event (pad=0x8cab70,
event=event at entry=0x7fffe02894e0) at gstpad.c:5347
#25 0x00007ffff6219e84 in gst_glimage_sink_on_resize (gl_sink=0x8dd220,
width=453, height=304) at gstglimagesink.c:1900
#26 0x00007ffff5fd706a in gst_gl_window_resize (window=window at entry=0x908220,
width=453, height=304) at gstglwindow.c:1167
#27 0x00007ffff5fe1870 in gst_gl_window_x11_handle_event (window_x11=0x908220)
at gstglwindow_x11.c:556
#28 0x00007ffff5fe1cf3 in x11_event_source_dispatch (base=<optimized out>,
callback=0x0, data=0x0) at x11_event_source.c:70
#29 0x00007ffff706ef07 in g_main_dispatch (context=0x8f6570) at gmain.c:3154
#30 g_main_context_dispatch (context=context at entry=0x8f6570) at gmain.c:3769
#31 0x00007ffff706f138 in g_main_context_iterate (context=0x8f6570,
block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at
gmain.c:3840
#32 0x00007ffff706f452 in g_main_loop_run (loop=0x8f6260) at gmain.c:4034
#33 0x00007ffff5fc0952 in gst_gl_context_create_thread (context=0x905080) at
gstglcontext.c:1234
#34 0x00007ffff7094c25 in g_thread_proxy (data=0x8c02d0) at gthread.c:780
#35 0x00007ffff6a044a4 in start_thread () from /usr/lib/libpthread.so.0
#36 0x00007ffff674213d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7ffff0306700 (LWP 23525)):
#0  0x00007ffff673918d in poll () from /usr/lib/libc.so.6
#1  0x00007ffff706f0d4 in g_main_context_poll (priority=2147483647, n_fds=1,
fds=0x7fffe80013d0, timeout=<optimized out>, context=0x7fffe80008e0) at
gmain.c:4135
#2  g_main_context_iterate (context=0x7fffe80008e0, block=block at entry=1,
dispatch=dispatch at entry=1, self=<optimized out>) at gmain.c:3835
#3  0x00007ffff706f452 in g_main_loop_run (loop=0x7fffe8001220) at gmain.c:4034
#4  0x00007ffff5fd5c7d in gst_gl_window_navigation_thread (window=0x908220) at
gstglwindow.c:936
#5  0x00007ffff7094c25 in g_thread_proxy (data=0x8c00f0) at gthread.c:780
#6  0x00007ffff6a044a4 in start_thread () from /usr/lib/libpthread.so.0
#7  0x00007ffff674213d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7ffff7faa700 (LWP 23520)):
#0  0x00007ffff673918d in poll () from /usr/lib/libc.so.6
#1  0x00007ffff706f0d4 in g_main_context_poll (priority=2147483647, n_fds=2,
fds=0x8a4220, timeout=<optimized out>, context=0x7fffe8001240) at gmain.c:4135
#2  g_main_context_iterate (context=0x7fffe8001240, block=block at entry=1,
dispatch=dispatch at entry=1, self=<optimized out>) at gmain.c:3835
#3  0x00007ffff706f452 in g_main_loop_run (loop=0x8f67b0) at gmain.c:4034
#4  0x00007ffff7af4149 in gst_bus_poll (bus=bus at entry=0x6c3bb0,
events=events at entry=GST_MESSAGE_ANY, timeout=18446744073709551615) at
gstbus.c:1153
#5  0x0000000000404768 in event_loop (pipeline=0x8e20c0,
blocking=blocking at entry=1, do_progress=do_progress at entry=0, 
    target_state=target_state at entry=GST_STATE_PLAYING) at gst-launch.c:532
#6  0x0000000000403834 in main (argc=18, argv=0x7fffffffdcc8) at
gst-launch.c:1115

-- 
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