Hang when playing MPEG TS from disk with buffering

Tvrtko Ursulin tvrtko.ursulin at onelan.co.uk
Fri Jul 29 07:53:38 PDT 2011


On Thursday 28 Jul 2011 09:23:29 Tvrtko Ursulin wrote:
> Hi all,
> 
> I am seeing a reproducible hang where gst-launch pauses the pipeline and
> starts buffering never to get out of that state.
> 
> Test command is:
> gst-launch-0.10 -v playbin2 uri=file:///home/storage/bbc-end2.ts
> flags=0x103 audio-sink=alsasink
> 
> It only happens when buffering (0x100 in flags to playbin2) is turned on.
> (What does that option exactly do? In case of MPEG TS?)

I have now looked at back traces of all gst-launch threads (attached). But 
since I am quite new here I am not quite there yet to untangle and make sense 
of it all.

It looks a lot of interesting threads are blocking in synchronization 
primitives - which would indeed suggest a race condition.

Demuxer is sitting in gst_data_queue_push, two threads in gst_queue_chain and 
another two in gst_base_sink_wait_preroll.

If a GStreamer expert could have a look and maybe figure out who is waiting on 
who here that would be great!

Many thanks,

Tvrtko
-------------- next part --------------


[tursulin at deuteros gstreamer]$ ls -l /proc/29573/fd
total 0
lrwx------ 1 tursulin tursulin 64 Jul 29 15:00 0 -> /dev/pts/10
l-wx------ 1 tursulin tursulin 64 Jul 29 15:00 1 -> /home/tursulin/hang.log
l-wx------ 1 tursulin tursulin 64 Jul 29 15:00 10 -> pipe:[22847513]
lrwx------ 1 tursulin tursulin 64 Jul 29 15:00 11 -> socket:[22847518]
lr-x------ 1 tursulin tursulin 64 Jul 29 15:00 12 -> /home/storage/bbc-end2.ts
lrwx------ 1 tursulin tursulin 64 Jul 29 15:00 13 -> socket:[22702950]
l-wx------ 1 tursulin tursulin 64 Jul 29 14:57 2 -> /home/tursulin/hang.log
lrwx------ 1 tursulin tursulin 64 Jul 29 15:00 3 -> socket:[22847509]
lrwx------ 1 tursulin tursulin 64 Jul 29 15:00 4 -> socket:[22847510]
lr-x------ 1 tursulin tursulin 64 Jul 29 15:00 5 -> pipe:[22847511]
l-wx------ 1 tursulin tursulin 64 Jul 29 15:00 6 -> pipe:[22847511]
lr-x------ 1 tursulin tursulin 64 Jul 29 15:00 7 -> pipe:[22847512]
l-wx------ 1 tursulin tursulin 64 Jul 29 15:00 8 -> pipe:[22847512]
lr-x------ 1 tursulin tursulin 64 Jul 29 15:00 9 -> pipe:[22847513]


/proc/29573/task/29573/wchan:
poll_schedule_timeout

poll([{fd=5, events=POLLIN}], 1, 250)   = 0 (Timeout)

#0  0x00000037e92d7293 in poll () from /lib64/libc.so.6
#1  0x00000037eb242d24 in ?? () from /lib64/libglib-2.0.so.0
#2  0x00000037eb24360d in g_main_loop_run () from /lib64/libglib-2.0.so.0
#3  0x00000037f9433f0b in gst_bus_poll (bus=0x158cb00, events=GST_MESSAGE_ANY, timeout=<optimized out>) at gstbus.c:1070
#4  0x0000000000404557 in event_loop (pipeline=0x16c1dd0, blocking=1, target_state=GST_STATE_PLAYING) at gst-launch.c:605
#5  0x0000000000403c0d in main (argc=5, argv=0x7fffed764f38) at gst-launch.c:1127

/proc/29573/task/29574/wchan:
poll_schedule_timeout

sendto(11, "\0\0\0\30\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0", 20, MSG_NOSIGNAL, NULL, 0) = 20
poll([{fd=9, events=POLLIN}, {fd=11, events=POLLIN|POLLOUT}], 2, 1500) = 1 ([{fd=11, revents=POLLOUT}])
sendto(11, "L\0\0\0\16L\0\0\3\21L\0\0\0\27TN2\275\210\0\5r=", 24, MSG_NOSIGNAL, NULL, 0) = 24
poll([{fd=9, events=POLLIN}, {fd=11, events=POLLIN|POLLOUT}], 2, 1500) = 1 ([{fd=11, revents=POLLOUT}])
poll([{fd=9, events=POLLIN}, {fd=11, events=POLLIN}], 2, 1500) = 1 ([{fd=11, revents=POLLIN}])
recvmsg(11, {msg_name(0)=NULL, msg_iov(1)=[{"\0\0\0S\377\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0", 20}], msg_controllen=32, {cmsg_len=28, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS{pid=1982, uid=500, gid=500}}, msg_flags=0}, 0) = 20
poll([{fd=9, events=POLLIN}, {fd=11, events=POLLIN}], 2, 1500) = 1 ([{fd=11, revents=POLLIN}])
recvmsg(11, {msg_name(0)=NULL, msg_iov(1)=[{"L\0\0\0\2L\0\0\3\21U\0\0\0\0\0\0&\303U\0\0\0\0\0\0\0\0000TN2"..., 83}], msg_controllen=32, {cmsg_len=28, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS{pid=1982, uid=500, gid=500}}, msg_flags=0}, 0) = 83
poll([{fd=9, events=POLLIN}, {fd=11, events=POLLIN}], 2, 1499) = 0 (Timeout)



#0  0x00000037e92d7293 in poll () from /lib64/libc.so.6
#1  0x000000380242c05f in ?? () from /usr/lib64/libpulse.so.0
#2  0x000000380241dee6 in pa_mainloop_poll () from /usr/lib64/libpulse.so.0
#3  0x000000380241e519 in pa_mainloop_iterate () from /usr/lib64/libpulse.so.0
#4  0x000000380241e5d0 in pa_mainloop_run () from /usr/lib64/libpulse.so.0
#5  0x000000380242c00f in ?? () from /usr/lib64/libpulse.so.0
#6  0x0000003802038788 in ?? () from /usr/lib64/libpulsecommon-0.9.22.so
#7  0x00000037e9e07af1 in start_thread () from /lib64/libpthread.so.0
#8  0x00000037e92dfb7d in clone () from /lib64/libc.so.6


/proc/29573/task/29575/wchan:
futex_wait_queue_me

futex(0x7ffd14014854, FUTEX_WAIT_PRIVATE, 577, NULL

#0  0x00000037e9e0b475 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x0000003800239568 in gst_data_queue_push (queue=0x7ffd14048480, item=0x7ffd00006270) at gstdataqueue.c:436
#2  0x00007ffd293bc4c9 in gst_multi_queue_chain (pad=<optimized out>, buffer=<optimized out>) at gstmultiqueue.c:1253
#3  0x00000037f945e5dc in gst_pad_push (pad=0x7ffd14011630, buffer=0x7ffd14049590) at gstpad.c:4684
#4  0x00007ffd23a59272 in gst_mpegts_demux_data_cb (filter=0x7ffd14004ce8, first=<optimized out>, buffer=0x7ffd14049590, stream=0x7ffd14004c40) at gstmpegtsdemux.c:1203
#5  0x00007ffd23a5dbdd in gst_pes_filter_push (filter=0x7ffd14004ce8, buffer=<optimized out>) at gstpesfilter.c:564
#6  0x00007ffd23a56a1e in gst_mpegts_stream_pes_buffer_flush (stream=0x7ffd14004c40, discard=0) at gstmpegtsdemux.c:2144
#7  gst_mpegts_stream_pes_buffer_push (in_size=<optimized out>, in_data=0x7ffd140061c4 "\360\252\264*j\216\232\221:", stream=0x7ffd14004c40) at gstmpegtsdemux.c:2169
#8  gst_mpegts_demux_parse_stream (in_size=187, in_data=0x7ffd140061c1 "\002X\022\360\252\264*j\216\232\221:", stream=0x7ffd14004c40, demux=<optimized out>) at gstmpegtsdemux.c:2434
#9  gst_mpegts_demux_parse_transport_packet (data=0x7ffd140061c1 "\002X\022\360\252\264*j\216\232\221:", demux=<optimized out>) at gstmpegtsdemux.c:2492
#10 gst_mpegts_demux_chain (pad=<optimized out>, buffer=<optimized out>) at gstmpegtsdemux.c:3056
#11 0x00000037f945e5dc in gst_pad_push (pad=0x16ce4c0, buffer=0x7ffd140403c0) at gstpad.c:4684
#12 0x00007ffd293cda5f in gst_type_find_element_chain (pad=<optimized out>, buffer=0x7ffd140403c0) at gsttypefindelement.c:771
#13 0x00000037f945e5dc in gst_pad_push (pad=0x16d3220, buffer=0x7ffd140403c0) at gstpad.c:4684
#14 0x00000037f945e5dc in gst_pad_push (pad=0x16ce1c0, buffer=0x7ffd140403c0) at gstpad.c:4684
#15 0x0000003800227158 in gst_base_src_loop (pad=0x16ce1c0) at gstbasesrc.c:2516
#16 0x00000037f9484d70 in gst_task_func (task=0x1779010) at gsttask.c:293
#17 0x00000037eb26aa50 in ?? () from /lib64/libglib-2.0.so.0
#18 0x00000037eb2683a6 in ?? () from /lib64/libglib-2.0.so.0
#19 0x00000037e9e07af1 in start_thread () from /lib64/libpthread.so.0
#20 0x00000037e92dfb7d in clone () from /lib64/libc.so.6


/proc/29573/task/29576/wchan:
futex_wait_queue_me

futex(0x7ffd141cf3d4, FUTEX_WAIT_PRIVATE, 487, NULL

#0  0x00000037e9e0b475 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffd293c098d in gst_queue_chain (pad=<optimized out>, buffer=0x7ffd1401ea40) at gstqueue.c:1013
#2  0x00000037f945e5dc in gst_pad_push (pad=0x7ffd14117380, buffer=0x7ffd1401ea40) at gstpad.c:4684
#3  0x00000037f945e5dc in gst_pad_push (pad=0x7ffd14332060, buffer=0x7ffd1401ea40) at gstpad.c:4684
#4  0x00007ffd29a3e65c in ?? () from /usr/lib64/gstreamer-0.10/libgstplaybin.so
#5  0x00000037f945e5dc in gst_pad_push (pad=0x7ffd143321e0, buffer=0x7ffd1401ea40) at gstpad.c:4684
#6  0x00007ffd293cb7df in gst_tee_chain (pad=<optimized out>, buffer=0x7ffd1401ea40) at gsttee.c:827
#7  0x00000037f945e5dc in gst_pad_push (pad=0x16d3c40, buffer=0x7ffd1401ea40) at gstpad.c:4684
#8  0x00000037f945e5dc in gst_pad_push (pad=0x7ffd18011c20, buffer=0x7ffd1401ea40) at gstpad.c:4684
#9  0x00007ffd293b791a in gst_selector_pad_chain (pad=0x16e0bb0, buf=0x7ffd1401ea40) at gstinputselector.c:732
#10 0x00000037f945e5dc in gst_pad_push (pad=0x16d28c0, buffer=0x7ffd1401ea40) at gstpad.c:4684
#11 0x00000037f945e5dc in gst_pad_push (pad=0x7ffd180062a0, buffer=0x7ffd1401ea40) at gstpad.c:4684
#12 0x00000037f945e5dc in gst_pad_push (pad=0x7ffd180111a0, buffer=0x7ffd1401ea40) at gstpad.c:4684
#13 0x00007ffd217f02dc in ?? () from /usr/lib64/gstreamer-0.10/libgstmad.so
#14 0x00000037f945e5dc in gst_pad_push (pad=0x7ffd140114b0, buffer=0x7ffd140445a0) at gstpad.c:4684
#15 0x0000003800212baf in gst_base_parse_push_frame (parse=0x7ffd1403a380, frame=0x7ffd23014c20) at gstbaseparse.c:1909
#16 0x00000038002137c6 in gst_base_parse_handle_and_push_frame (parse=0x7ffd1403a380, klass=<optimized out>, frame=0x7ffd23014c20) at gstbaseparse.c:1692
#17 0x000000380021430e in gst_base_parse_chain (pad=<optimized out>, buffer=<optimized out>) at gstbaseparse.c:2324
#18 0x00000037f945e5dc in gst_pad_push (pad=0x7ffd140111b0, buffer=0x7ffd14079d80) at gstpad.c:4684
#19 0x00007ffd293bced0 in gst_single_queue_push_one (object=0x7ffd14079d80, sq=0x7ffd1401f9a0, mq=0x7ffd14013000) at gstmultiqueue.c:980
#20 gst_multi_queue_loop (pad=<optimized out>) at gstmultiqueue.c:1178
#21 0x00000037f9484d70 in gst_task_func (task=0x1779610) at gsttask.c:293
#22 0x00000037eb26aa50 in ?? () from /lib64/libglib-2.0.so.0
#23 0x00000037eb2683a6 in ?? () from /lib64/libglib-2.0.so.0
#24 0x00000037e9e07af1 in start_thread () from /lib64/libpthread.so.0
#25 0x00000037e92dfb7d in clone () from /lib64/libc.so.6


/proc/29573/task/29577/wchan:
futex_wait_queue_me

futex(0x7ffd1412b154, FUTEX_WAIT_PRIVATE, 239, NULL

#0  0x00000037e9e0b475 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ffd293c098d in gst_queue_chain (pad=<optimized out>, buffer=0x7ffd1403cc80) at gstqueue.c:1013
#2  0x00000037f945e5dc in gst_pad_push (pad=0x7ffd18008d80, buffer=0x7ffd1403cc80) at gstpad.c:4684
#3  0x00000037f945e5dc in gst_pad_push (pad=0x7ffd14116380, buffer=0x7ffd1403cc80) at gstpad.c:4684
#4  0x00000037f945e5dc in gst_pad_push (pad=0x7ffd141c93b0, buffer=0x7ffd1403cc80) at gstpad.c:4684
#5  0x00007ffd13b49f90 in ?? () from /usr/lib64/gstreamer-0.10/libgstdeinterlace.so
#6  0x00000037f945e5dc in gst_pad_push (pad=0x7ffd141c90b0, buffer=0x7ffd18003cb0) at gstpad.c:4684
#7  0x000000380022ee87 in gst_base_transform_chain (pad=<optimized out>, buffer=<optimized out>) at gstbasetransform.c:2458
#8  0x00000037f945e5dc in gst_pad_push (pad=0x7ffd14117020, buffer=0x7ffd18003cb0) at gstpad.c:4684
#9  0x00000037f945e5dc in gst_pad_push (pad=0x7ffd1410fc80, buffer=0x7ffd18003cb0) at gstpad.c:4684
#10 0x00007ffd29a3e65c in ?? () from /usr/lib64/gstreamer-0.10/libgstplaybin.so
#11 0x00000037f945e5dc in gst_pad_push (pad=0x16d38e0, buffer=0x7ffd18003cb0) at gstpad.c:4684
#12 0x00000037f945e5dc in gst_pad_push (pad=0x7ffd14011db0, buffer=0x7ffd18003cb0) at gstpad.c:4684
#13 0x00007ffd293b791a in gst_selector_pad_chain (pad=0x16e0990, buf=0x7ffd18003cb0) at gstinputselector.c:732
#14 0x00000037f945e5dc in gst_pad_push (pad=0x16d2700, buffer=0x7ffd18003cb0) at gstpad.c:4684
#15 0x00000037f945e5dc in gst_pad_push (pad=0x7ffd18006a20, buffer=0x7ffd18003cb0) at gstpad.c:4684
#16 0x00000037f945e5dc in gst_pad_push (pad=0x7ffd180117a0, buffer=0x7ffd18003cb0) at gstpad.c:4684
#17 0x00007ffd213c9752 in ?? () from /usr/lib64/gstreamer-0.10/libgstmpeg2dec.so
#18 0x00000037f945e5dc in gst_pad_push (pad=0x7ffd14011c30, buffer=0x7ffd14040540) at gstpad.c:4684
#19 0x00007ffd219f8821 in ?? () from /usr/lib64/gstreamer-0.10/libgstmpegvideoparse.so
#20 0x00007ffd219f945a in ?? () from /usr/lib64/gstreamer-0.10/libgstmpegvideoparse.so
#21 0x00000037f945e5dc in gst_pad_push (pad=0x7ffd14011930, buffer=0x7ffd140460c0) at gstpad.c:4684
#22 0x00007ffd293bced0 in gst_single_queue_push_one (object=0x7ffd140460c0, sq=0x7ffd14043600, mq=0x7ffd14013000) at gstmultiqueue.c:980
#23 gst_multi_queue_loop (pad=<optimized out>) at gstmultiqueue.c:1178
#24 0x00000037f9484d70 in gst_task_func (task=0x1779710) at gsttask.c:293
#25 0x00000037eb26aa50 in ?? () from /lib64/libglib-2.0.so.0
#26 0x00000037eb2683a6 in ?? () from /lib64/libglib-2.0.so.0
#27 0x00000037e9e07af1 in start_thread () from /lib64/libpthread.so.0
#28 0x00000037e92dfb7d in clone () from /lib64/libc.so.6


/proc/29573/task/29578/wchan:
hrtimer_nanosleep

read(13, 0x7ffd1411d584, 4096)          = -1 EAGAIN (Resource temporarily unavailable)
read(13, 0x7ffd1411d584, 4096)          = -1 EAGAIN (Resource temporarily unavailable)
read(13, 0x7ffd1411d584, 4096)          = -1 EAGAIN (Resource temporarily unavailable)
read(13, 0x7ffd1411d584, 4096)          = -1 EAGAIN (Resource temporarily unavailable)
read(13, 0x7ffd1411d584, 4096)          = -1 EAGAIN (Resource temporarily unavailable)
read(13, 0x7ffd1411d584, 4096)          = -1 EAGAIN (Resource temporarily unavailable)
read(13, 0x7ffd1411d584, 4096)          = -1 EAGAIN (Resource temporarily unavailable)
nanosleep({0, 50000000}, 0x7ffd20c78d50) = 0


#0  0x00000037e9e0e72d in nanosleep () from /lib64/libpthread.so.0
#1  0x00000037eb26b982 in g_usleep () from /lib64/libglib-2.0.so.0
#2  0x00007ffd20e8a037 in ?? () from /usr/lib64/gstreamer-0.10/libgstxvimagesink.so
#3  0x00000037eb2683a6 in ?? () from /lib64/libglib-2.0.so.0
#4  0x00000037e9e07af1 in start_thread () from /lib64/libpthread.so.0
#5  0x00000037e92dfb7d in clone () from /lib64/libc.so.6


/proc/29573/task/29579/wchan:
futex_wait_queue_me

futex(0x7ffd1411b7a4, FUTEX_WAIT_PRIVATE, 47, NULL


#0  0x00000037e9e0b475 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x000000380021d14f in gst_base_sink_wait_preroll (sink=0x7ffd1411b000) at gstbasesink.c:2261
#2  0x000000380021d2cd in gst_base_sink_do_preroll (sink=0x7ffd1411b000, obj=0x7ffd1403cb00) at gstbasesink.c:2338
#3  0x000000380021f109 in gst_base_sink_do_sync (obj_type=<optimized out>, step_end=read_sleb128: Corrupted DWARF expression.
) at gstbasesink.c:2524
#4  gst_base_sink_render_object (basesink=0x7ffd1411b000, pad=0x7ffd1410f200, obj_type=<optimized out>, obj=0x7ffd1403cb00) at gstbasesink.c:2969
#5  0x000000380022138a in gst_base_sink_queue_object_unlocked (basesink=0x7ffd1411b000, pad=0x7ffd1410f200, obj_type=2 '\002', obj=0x7ffd1403cb00, prerollable=<optimized out>)
    at gstbasesink.c:3286
#6  0x00000038002216fc in gst_base_sink_chain_unlocked (basesink=0x7ffd1411b000, pad=0x7ffd1410f200, obj_type=2 '\002', obj=0x7ffd1403cb00) at gstbasesink.c:3665
#7  0x0000003800221b02 in gst_base_sink_chain_main (basesink=0x7ffd1411b000, pad=0x7ffd1410f200, obj_type=2 '\002', obj=0x7ffd1403cb00) at gstbasesink.c:3703
#8  0x00000037f945e5dc in gst_pad_push (pad=0x7ffd18008bd0, buffer=0x7ffd1403cb00) at gstpad.c:4684
#9  0x00000037f945e5dc in gst_pad_push (pad=0x7ffd1410f980, buffer=0x7ffd1403cb00) at gstpad.c:4684
#10 0x000000380022ee87 in gst_base_transform_chain (pad=<optimized out>, buffer=<optimized out>) at gstbasetransform.c:2458
#11 0x00000037f945e5dc in gst_pad_push (pad=0x7ffd1410f680, buffer=0x7ffd1403cb00) at gstpad.c:4684
#12 0x000000380022ee87 in gst_base_transform_chain (pad=<optimized out>, buffer=<optimized out>) at gstbasetransform.c:2458
#13 0x00000037f945e5dc in gst_pad_push (pad=0x7ffd1410f380, buffer=0x7ffd1403cb00) at gstpad.c:4684
#14 0x00007ffd293c189a in gst_queue_push_one (queue=0x7ffd0c008ab0) at gstqueue.c:1155
#15 gst_queue_loop (pad=<optimized out>) at gstqueue.c:1263
#16 0x00000037f9484d70 in gst_task_func (task=0x1779910) at gsttask.c:293
#17 0x00000037eb26aa50 in ?? () from /lib64/libglib-2.0.so.0
#18 0x00000037eb2683a6 in ?? () from /lib64/libglib-2.0.so.0
#19 0x00000037e9e07af1 in start_thread () from /lib64/libpthread.so.0
#20 0x00000037e92dfb7d in clone () from /lib64/libc.so.6


/proc/29573/task/29580/wchan:
futex_wait_queue_me

futex(0x1699274, FUTEX_WAIT_PRIVATE, 47, NULL

#0  0x00000037e9e0b475 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x000000380021d14f in gst_base_sink_wait_preroll (sink=0x16cd800) at gstbasesink.c:2261
#2  0x00000037ed20fa28 in ?? () from /usr/lib64/libgstaudio-0.10.so.0
#3  0x000000380021eb27 in gst_base_sink_render_object (basesink=0x16cd800, pad=0x16ce040, obj_type=<optimized out>, obj=0x7ffd140404c0) at gstbasesink.c:3005
#4  0x000000380022138a in gst_base_sink_queue_object_unlocked (basesink=0x16cd800, pad=0x16ce040, obj_type=2 '\002', obj=0x7ffd140404c0, prerollable=<optimized out>) at gstbasesink.c:3286
#5  0x00000038002216fc in gst_base_sink_chain_unlocked (basesink=0x16cd800, pad=0x16ce040, obj_type=2 '\002', obj=0x7ffd140404c0) at gstbasesink.c:3665
#6  0x0000003800221b02 in gst_base_sink_chain_main (basesink=0x16cd800, pad=0x16ce040, obj_type=2 '\002', obj=0x7ffd140404c0) at gstbasesink.c:3703
#7  0x00000037f945e5dc in gst_pad_push (pad=0x16d3070, buffer=0x7ffd140404c0) at gstpad.c:4684
#8  0x00000037f945e5dc in gst_pad_push (pad=0x7ffd141c9cb0, buffer=0x7ffd140404c0) at gstpad.c:4684
#9  0x000000380022ee87 in gst_base_transform_chain (pad=<optimized out>, buffer=<optimized out>) at gstbasetransform.c:2458
#10 0x00000037f945e5dc in gst_pad_push (pad=0x7ffd141c99b0, buffer=0x7ffd140404c0) at gstpad.c:4684
#11 0x000000380022ee87 in gst_base_transform_chain (pad=<optimized out>, buffer=<optimized out>) at gstbasetransform.c:2458
#12 0x00000037f945e5dc in gst_pad_push (pad=0x7ffd141c96b0, buffer=0x7ffd140404c0) at gstpad.c:4684
#13 0x00007ffd293c189a in gst_queue_push_one (queue=0x7ffd0c008fb0) at gstqueue.c:1155
#14 gst_queue_loop (pad=<optimized out>) at gstqueue.c:1263
#15 0x00000037f9484d70 in gst_task_func (task=0x1779a10) at gsttask.c:293
#16 0x00000037eb26aa50 in ?? () from /lib64/libglib-2.0.so.0
#17 0x00000037eb2683a6 in ?? () from /lib64/libglib-2.0.so.0
#18 0x00000037e9e07af1 in start_thread () from /lib64/libpthread.so.0
#19 0x00000037e92dfb7d in clone () from /lib64/libc.so.6



/proc/29573/task/29581/wchan:
futex_wait_queue_me


futex(0x17017f4, FUTEX_WAIT_PRIVATE, 49, NULL


#0  0x00000037e9e0b475 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00000037ed216d50 in ?? () from /usr/lib64/libgstaudio-0.10.so.0
#2  0x00000037eb2683a6 in ?? () from /lib64/libglib-2.0.so.0
#3  0x00000037e9e07af1 in start_thread () from /lib64/libpthread.so.0
#4  0x00000037e92dfb7d in clone () from /lib64/libc.so.6





More information about the gstreamer-devel mailing list