[Bug 769514] New: splitmuxsink: Deadlock

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Aug 4 13:45:18 UTC 2016


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

            Bug ID: 769514
           Summary: splitmuxsink: Deadlock
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: vivia at ahiru.eu
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

gdb --args bash gst-launch-1.0 videotestsrc num-buffers=25000 !
video/x-raw,width=1280,height=720 ! timeoverlay time-mode=2 ! x264enc !
h264parse ! splitmuxsink muxer=qtmux location=/home/vivia/video%05d.mov
max-size-time=60000000000

[...]

(gdb) thread apply all bt

Thread 26 (Thread 0x7fffc4420700 (LWP 5126)):
#0  0x00007ffff6d2309f in pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff178c6dd in  () at /usr/lib/x86_64-linux-gnu/libx264.so.148
#2  0x00007ffff6d1d464 in start_thread (arg=0x7fffc4420700)
    at pthread_create.c:333
#3  0x00007ffff6a5c30d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 25 (Thread 0x7fffceffd700 (LWP 5125)):
#0  0x00007ffff6d2309f in pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff178cf9b in  () at /usr/lib/x86_64-linux-gnu/libx264.so.148
#2  0x00007ffff6d1d464 in start_thread (arg=0x7fffceffd700)
    at pthread_create.c:333
#3  0x00007ffff6a5c30d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 24 (Thread 0x7fffcf7fe700 (LWP 5124)):
#0  0x00007ffff6d2309f in pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff178cf9b in  () at /usr/lib/x86_64-linux-gnu/libx264.so.148
#2  0x00007ffff6d1d464 in start_thread (arg=0x7fffcf7fe700)
    at pthread_create.c:333
#3  0x00007ffff6a5c30d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 23 (Thread 0x7fffcffff700 (LWP 5123)):
#0  0x00007ffff6d2309f in pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff178cf9b in  () at /usr/lib/x86_64-linux-gnu/libx264.so.148
#2  0x00007ffff6d1d464 in start_thread (arg=0x7fffcffff700)
    at pthread_create.c:333
#3  0x00007ffff6a5c30d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 22 (Thread 0x7fffd4ff9700 (LWP 5122)):
#0  0x00007ffff6d2309f in pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff178cf9b in  () at /usr/lib/x86_64-linux-gnu/libx264.so.148
#2  0x00007ffff6d1d464 in start_thread (arg=0x7fffd4ff9700)
    at pthread_create.c:333
#3  0x00007ffff6a5c30d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 21 (Thread 0x7fffd57fa700 (LWP 5121)):
#0  0x00007ffff6d2309f in pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff178cf9b in  () at /usr/lib/x86_64-linux-gnu/libx264.so.148
#2  0x00007ffff6d1d464 in start_thread (arg=0x7fffd57fa700)
    at pthread_create.c:333
#3  0x00007ffff6a5c30d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 20 (Thread 0x7fffd5ffb700 (LWP 5120)):
#0  0x00007ffff6d2309f in pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007ffff178cf9b in  () at /usr/lib/x86_64-linux-gnu/libx264.so.148
#2  0x00007ffff6d1d464 in start_thread (arg=0x7fffd5ffb700)
    at pthread_create.c:333
#3  0x00007ffff6a5c30d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7fffeeaca700 (LWP 5104)):
#0  0x00007ffff6a5319d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffff738939c in g_main_context_iterate (priority=2147483647, n_fds=1,
fds=0x7fffe40008c0, timeout=<optimized out>, context=0x862db0)
    at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gmain.c:4135
#2  0x00007ffff738939c in g_main_context_iterate
(context=context at entry=0x862db0, block=block at entry=1,
dispatch=dispatch at entry=1, self=<optimized out>)
    at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gmain.c:3835
#3  0x00007ffff73894ac in g_main_context_iteration (context=0x862db0,
may_block=may_block at entry=1) at
/build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gmain.c:3901
#4  0x00007ffff73894e9 in glib_worker_main (data=<optimized out>)
    at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gmain.c:5672
#5  0x00007ffff73afbc5 in g_thread_proxy (data=0x843b20)
    at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gthread.c:780
#6  0x00007ffff6d1d464 in start_thread (arg=0x7fffeeaca700)
    at pthread_create.c:333
#7  0x00007ffff6a5c30d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fffef2cb700 (LWP 5103)):
#0  0x00007ffff6a57e49 in syscall ()
    at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff73cdc2f in g_cond_wait (cond=cond at entry=0x83c1b0,
mutex=mutex at entry=0x83c1a8)
    at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gthread-posix.c:1394
#2  0x00007ffff0b9ecac in handle_mq_input (pad=pad at entry=0x80fb50
[GstMultiQueuePad], info=info at entry=0x7fffef2c96a0, ctx=0x859800) at
gstsplitmuxsink.c:1241
#3  0x00007ffff7b16a4a in probe_hook_marshal (hook=0x843990,
data=0x7fffef2c9620) at gstpad.c:3468
#4  0x00007ffff7379904 in g_hook_list_marshal
(hook_list=hook_list at entry=0x80fbe---Type <return> to continue, or q <return>
to quit---
8, may_recurse=may_recurse at entry=1, marshaller=marshaller at entry=0x7ffff7b16860
<probe_hook_marshal>, data=data at entry=0x7fffef2c9620)
    at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/ghook.c:672
#5  0x00007ffff7b15b2b in do_probe_callbacks (pad=pad at entry=0x80fb50
[GstMultiQueuePad], info=info at entry=0x7fffef2c96a0,
defaultval=defaultval at entry=GST_FLOW_OK) at gstpad.c:3620
#6  0x00007ffff7b188a3 in gst_pad_chain_data_unchecked (pad=0x80fb50
[GstMultiQueuePad], type=4112, data=0x7fffe0904e20) at gstpad.c:4206
#7  0x00007ffff7b1934f in gst_pad_push_data (pad=pad at entry=0x85e1f0
[GstProxyPad], type=type at entry=4112, data=data at entry=0x7fffe0904e20) at
gstpad.c:4478
#8  0x00007ffff7b20ab3 in gst_pad_push (pad=pad at entry=0x85e1f0 [GstProxyPad],
buffer=buffer at entry=0x7fffe0904e20) at gstpad.c:4598
#9  0x00007ffff7b08973 in gst_proxy_pad_chain_default (pad=0x83c2d0
[GstGhostPad], parent=<optimized out>, buffer=0x7fffe0904e20) at
gstghostpad.c:126
#10 0x00007ffff7b18681 in gst_pad_chain_data_unchecked (pad=0x83c2d0
[GstGhostPad], type=<optimized out>, data=0x7fffe0904e20) at gstpad.c:4226
#11 0x00007ffff7b1934f in gst_pad_push_data (pad=pad at entry=0x80edd0 [GstPad],
type=type at entry=4112, data=data at entry=0x7fffe0904e20) at gstpad.c:4478
#12 0x00007ffff7b20ab3 in gst_pad_push (pad=0x80edd0 [GstPad],
buffer=buffer at entry=0x7fffe0904e20) at gstpad.c:4598
#13 0x00007ffff5747339 in gst_base_parse_push_frame (parse=parse at entry=0x833950
[GstH264Parse], frame=frame at entry=0x7fffbc001ad0) at gstbaseparse.c:2543
#14 0x00007ffff574b1ff in gst_base_parse_finish_frame (frame=0x7fffbc001ad0,
parse=0x833950 [GstH264Parse]) at gstbaseparse.c:2360
#15 0x00007ffff574b1ff in gst_base_parse_finish_frame
(parse=parse at entry=0x833950 [GstH264Parse], frame=frame at entry=0x7fffbc001ad0,
size=<optimized out>)
    at gstbaseparse.c:2701
#16 0x00007ffff1008290 in gst_h264_parse_handle_frame (frame=0x7fffbc001ad0,
parse=0x833950 [GstH264Parse]) at gsth264parse.c:1013
#17 0x00007ffff1008290 in gst_h264_parse_handle_frame (parse=0x833950
[GstH264Parse], frame=0x7fffbc001ad0, skipsize=<optimized out>) at
gsth264parse.c:1065
#18 0x00007ffff5743750 in gst_base_parse_handle_buffer
(parse=parse at entry=0x833950 [GstH264Parse], buffer=<optimized out>,
skip=skip at entry=0x7fffef2c9cdc, flushed=flushed at entry=0x7fffef2c9ce0) at
gstbaseparse.c:2168
#19 0x00007ffff574802e in gst_base_parse_chain (pad=<optimized out>,
parent=<optimized out>, buffer=<optimized out>) at gstbaseparse.c:3240
#20 0x00007ffff7b18681 in gst_pad_chain_data_unchecked (pad=0x80eb90 [GstPad],
type=<optimized out>, data=0x7fffe08e5470) at gstpad.c:4226
#21 0x00007ffff7b1934f in gst_pad_push_data (pad=pad at entry=0x80e950 [GstPad],
type=type at entry=4112, data=data at entry=0x7fffe08e5470) at gstpad.c:4478
#22 0x00007ffff7b20ab3 in gst_pad_push (pad=0x80e950 [GstPad],
buffer=buffer at entry=0x7fffe08e5470) at gstpad.c:4598
#23 0x00007ffff59d7d50 in gst_video_encoder_finish_frame (encoder=<optimized
out>, frame=0x0, frame at entry=0x7fffe0923e30) at gstvideoencoder.c:2179
#24 0x00007ffff1cabf33 in gst_x264_enc_encode_frame
(encoder=encoder at entry=0x82f600 [GstX264Enc],
pic_in=pic_in at entry=0x7fffef2ca0a0,
input_frame=input_frame at entry=0x7fffe0951c40, i_nal=i_nal at entry=0x7fffef2ca190,
send=send at entry=1)
    at gstx264enc.c:2237
#25 0x00007ffff1caeb9e in gst_x264_enc_handle_frame (video_enc=<optimized out>,
frame=0x7fffe0951c40) at gstx264enc.c:2122
#26 0x00007ffff59d6757 in gst_video_encoder_chain (pad=<optimized out>,
parent=<optimized out>, buf=<optimized out>) at gstvideoencoder.c:1455
#27 0x00007ffff7b18681 in gst_pad_chain_data_unchecked (pad=0x80e710 [GstPad],
type=<optimized out>, data=0x7fffe054d670) at gstpad.c:4226
#28 0x00007ffff7b1934f in gst_pad_push_data (pad=pad at entry=0x80e4d0 [GstPad],
type=type at entry=4112, data=data at entry=0x7fffe054d670) at gstpad.c:4478
#29 0x00007ffff7b20ab3 in gst_pad_push (pad=0x80e4d0 [GstPad],
buffer=buffer at entry=0x7fffe054d670) at gstpad.c:4598
#30 0x00007ffff52a1a18 in gst_base_text_overlay_push_frame
(overlay=overlay at entry=0x826000 [GstTimeOverlay],
video_frame=video_frame at entry=0x7fffe054d670)
    at gstbasetextoverlay.c:2246
#31 0x00007ffff52a4a1e in gst_base_text_overlay_video_chain (pad=<optimized
out>, parent=<optimized out>, buffer=0x7fffe054d670) at
gstbasetextoverlay.c:2726
#32 0x00007ffff7b18681 in gst_pad_chain_data_unchecked (pad=0x80e290 [GstPad],
type=<optimized out>, data=0x7fffe054d670) at gstpad.c:4226
#33 0x00007ffff7b1934f in gst_pad_push_data (pad=pad at entry=0x80f6d0 [GstPad],
type=type at entry=4112, data=data at entry=0x7fffe054d670) at gstpad.c:4478
#34 0x00007ffff7b20ab3 in gst_pad_push (pad=0x80f6d0 [GstPad],
buffer=0x7fffe054d670) at gstpad.c:4598
#35 0x00007ffff5765c47 in gst_base_transform_chain (pad=<optimized out>,
parent=<optimized out>, buffer=<optimized out>) at gstbasetransform.c:2369
#36 0x00007ffff7b18681 in gst_pad_chain_data_unchecked (pad=0x80f490 [GstPad],
type=<optimized out>, data=0x7fffe054d670) at gstpad.c:4226
#37 0x00007ffff7b1934f in gst_pad_push_data (pad=pad at entry=0x80e050 [GstPad],
type=type at entry=4112, data=data at entry=0x7fffe054d670) at gstpad.c:4478
#38 0x00007ffff7b20ab3 in gst_pad_push (pad=pad at entry=0x80e050 [GstPad],
buffer=0x7fffe054d670) at gstpad.c:4598
#39 0x00007ffff575f1c5 in gst_base_src_loop (pad=0x80e050 [GstPad])
    at gstbasesrc.c:2854
#40 0x00007ffff7b4bdf1 in gst_task_func (task=0x8353b0 [GstTask])
    at gsttask.c:334
#41 0x00007ffff73b055e in g_thread_pool_thread_proxy (data=<optimized out>)
    at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gthreadpool.c:307
#42 0x00007ffff73afbc5 in g_thread_proxy (data=0x8438a0)
    at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gthread.c:780
#43 0x00007ffff6d1d464 in start_thread (arg=0x7fffef2cb700)
    at pthread_create.c:333
#44 0x00007ffff6a5c30d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fffefacc700 (LWP 5102)):
#0  0x00007ffff6a57e49 in syscall ()
    at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff73cdc2f in g_cond_wait (cond=cond at entry=0x83c1b0,
mutex=mutex at ent---Type <return> to continue, or q <return> to quit---
ry=0x83c1a8)
    at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gthread-posix.c:1394
#2  0x00007ffff0b9d472 in complete_or_wait_on_out
(splitmux=splitmux at entry=0x83c030 [GstSplitMuxSink], ctx=ctx at entry=0x859800) at
gstsplitmuxsink.c:597
#3  0x00007ffff0b9fd2c in handle_mq_output (pad=pad at entry=0x80fd90 [GstPad],
info=info at entry=0x7fffefacbce0, ctx=0x859800) at gstsplitmuxsink.c:689
#4  0x00007ffff7b16a4a in probe_hook_marshal (hook=0x843a30,
data=0x7fffefacbc60) at gstpad.c:3468
#5  0x00007ffff7379904 in g_hook_list_marshal
(hook_list=hook_list at entry=0x80fe28, may_recurse=may_recurse at entry=1,
marshaller=marshaller at entry=0x7ffff7b16860 <probe_hook_marshal>,
data=data at entry=0x7fffefacbc60)
    at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/ghook.c:672
#6  0x00007ffff7b15b2b in do_probe_callbacks (pad=pad at entry=0x80fd90 [GstPad],
info=info at entry=0x7fffefacbce0, defaultval=defaultval at entry=GST_FLOW_OK)
    at gstpad.c:3620
#7  0x00007ffff7b17e27 in gst_pad_push_event_unchecked (pad=pad at entry=0x80fd90
[GstPad], event=event at entry=0x7fffd8004650,
type=type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at gstpad.c:5260
#8  0x00007ffff7b21be2 in gst_pad_push_event (pad=0x80fd90 [GstPad],
event=event at entry=0x7fffd8004650) at gstpad.c:5424
#9  0x00007fffefaf6e48 in gst_multi_queue_loop (allow_drop=<synthetic pointer>,
object=0x7fffd8004650, sq=0x853e10, mq=0x856050 [GstMultiQueue])
    at gstmultiqueue.c:1570
#10 0x00007fffefaf6e48 in gst_multi_queue_loop (pad=<optimized out>)
    at gstmultiqueue.c:1819
#11 0x00007ffff7b4bdf1 in gst_task_func (task=0x835290 [GstTask])
    at gsttask.c:334
#12 0x00007ffff73b055e in g_thread_pool_thread_proxy (data=<optimized out>)
    at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gthreadpool.c:307
#13 0x00007ffff73afbc5 in g_thread_proxy (data=0x843b70)
    at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gthread.c:780
#14 0x00007ffff6d1d464 in start_thread (arg=0x7fffefacc700)
    at pthread_create.c:333
#15 0x00007ffff6a5c30d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7ffff7fb5700 (LWP 5085)):
#0  0x00007ffff6a5319d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007ffff738939c in g_main_context_iterate (priority=2147483647, n_fds=2,
fds=0x862fe0, timeout=<optimized out>, context=0x863800)
    at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gmain.c:4135
#2  0x00007ffff738939c in g_main_context_iterate (context=0x863800,
block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>)
    at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gmain.c:3835
#3  0x00007ffff7389722 in g_main_loop_run (loop=0x854f10)
    at /build/glib2.0-vjfO_h/glib2.0-2.48.1/./glib/gmain.c:4034
#4  0x00007ffff7aea219 in gst_bus_poll (bus=bus at entry=0x676ba0 [GstBus],
events=events at entry=GST_MESSAGE_ANY, timeout=18446744073709551615) at
gstbus.c:1181
#5  0x0000000000404648 in event_loop (pipeline=0x848090 [GstPipeline],
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  0x0000000000403751 in main (argc=17, argv=0x7fffffffb808)
    at gst-launch.c:1115
(gdb)

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