Deadlock changing state in imx6
Jorge Fernandez Monteagudo
jorgefm at cirsa.com
Mon Mar 27 19:02:55 UTC 2017
Hi all!
I've a little problem with a C++ application implementing the next pipeline in a imx6 platform.
gst-launch-1.0 filesrc location=<filename.mp4> typefind=true ! video/quicktime ! qtdemux ! vpudec ! appsink
We're using GStreamer 1.4.5 and gst1.0-fsl-plugins-4.0.8 from Freescale. The components are built using Yocto.
VPUDec does the hardware decoding and we're using appsink to get the buffers and rendering over a texture
using the glTexDirectVIVMap functions from Freescale.
The playing works ok but sometimes we get some deadlocks. Always at the end of the video playing when we are changing
to GST_STATE_READY. I've been able to catch a gdb backtrace. It seems that the qtdemux is waiting for free buffers
(gstbufferpool.c:1120) and the main thread is waiting trying to change some component from PAUSED to READY.
The interesting threads. First the thread related to qtdemux...
(gdb) thr 31
[Switching to thread 31 (Thread 0x37b00410 (LWP 489))]
#0 0x75d05394 in __GI_ppoll (fds=0x417fd240, nfds=1, timeout=<optimized out>, sigmask=sigmask at entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:56
56 ../sysdeps/unix/sysv/linux/ppoll.c: No such file or directory.
(gdb) bt
#0 0x75d05394 in __GI_ppoll (fds=0x417fd240, nfds=1, timeout=<optimized out>, sigmask=sigmask at entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:56
#1 0x761ffc48 in gst_poll_wait (set=0x52e372c8, timeout=<optimized out>)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstpoll.c:1248
#2 0x761b4318 in default_acquire_buffer (pool=0x415eb360 [GstVideoBufferPool], buffer=0x37aff794, params=0x3eb)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstbufferpool.c:1120
#3 0x761b5c04 in gst_buffer_pool_acquire_buffer (pool=0x415eb360 [GstVideoBufferPool], buffer=0x37aff794, buffer at entry=0x37aff78c, params=params at entry=0x0)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstbufferpool.c:1209
#4 0x50d233b8 in gst_video_decoder_allocate_output_buffer (decoder=decoder at entry=0x50ea2138 [GstVpuDec])
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-mx6qdl-poky-linux-gnueabi/gstreamer1.0-plugins-base/1.4.5-r0/gst-plugins-base-1.4.5/gst-libs/gst/video/gstvideodecoder.c:3520
#5 0x50bef348 in gst_vpu_dec_object_get_gst_buffer (bdec=0x50ea2138 [GstVpuDec], bdec at entry=0x761db7cc, vpu_dec_object=vpu_dec_object at entry=0x50ea7118 [GstVpuDecObject])
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/imx6unidesa-poky-linux-gnueabi/gst1.0-fsl-plugin/4.0.8-r0/gst1.0-fsl-plugins-4.0.8/plugins/vpu/gstvpudecobject.c:1006
#6 0x50bf1ce8 in gst_vpu_dec_object_decode (vpu_dec_object=0x50ea7118 [GstVpuDecObject], bdec=0x761db7cc, frame=0x50bf8290 <__FUNCTION__.23893>)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/imx6unidesa-poky-linux-gnueabi/gst1.0-fsl-plugin/4.0.8-r0/gst1.0-fsl-plugins-4.0.8/plugins/vpu/gstvpudecobject.c:1231
#7 0x50d1a750 in gst_video_decoder_decode_frame (decoder=decoder at entry=0x50ea2138 [GstVpuDec], frame=0x423b7aa0)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-mx6qdl-poky-linux-gnueabi/gstreamer1.0-plugins-base/1.4.5-r0/gst-plugins-base-1.4.5/gst-libs/gst/video/gstvideodecoder.c:3015
#8 0x50d1aa88 in gst_video_decoder_chain_forward (decoder=decoder at entry=0x50ea2138 [GstVpuDec], buf=buf at entry=0x423adb28, at_eos=at_eos at entry=0)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-mx6qdl-poky-linux-gnueabi/gstreamer1.0-plugins-base/1.4.5-r0/gst-plugins-base-1.4.5/gst-libs/gst/video/gstvideodecoder.c:1882
#9 0x50d1d298 in gst_video_decoder_chain (pad=<optimized out>, parent=0x50ea2138 [GstVpuDec], buf=0x423adb28)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-mx6qdl-poky-linux-gnueabi/gstreamer1.0-plugins-base/1.4.5-r0/gst-plugins-base-1.4.5/gst-libs/gst/video/gstvideodecoder.c:2183
#10 0x761e90f0 in gst_pad_push_data (data=0x423adb28, type=4112, pad=0x50e8d540 [GstPad])
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstpad.c:3830
#11 0x761e90f0 in gst_pad_push_data (pad=0x50e8dba8 [GstPad], type=type at entry=4112, data=<optimized out>, data at entry=0x423adb28)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstpad.c:4063
#12 0x761f1a50 in gst_pad_push (pad=<optimized out>, buffer=buffer at entry=0x423adb28)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstpad.c:4174
#13 0x50db8550 in gst_qtdemux_decorate_and_push_buffer (qtdemux=0x50e9c070 [GstQTDemux], qtdemux at entry=0x11493, stream=stream at entry=0x4c2e7a00, buf=0x423adb28, dts=400000000, dts at entry=2908, pts=400000000,
pts at entry=5830142779776457216, duration=40000000, duration at entry=5830142781093310468, keyframe=0, keyframe at entry=40000000, position=position at entry=400000000, byte_position=<optimized out>)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.5-r0/gst-plugins-good-1.4.5/gst/isomp4/qtdemux.c:4139
#14 0x50dcd988 in gst_qtdemux_loop (qtdemux=0x11493)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.5-r0/gst-plugins-good-1.4.5/gst/isomp4/qtdemux.c:4286
#15 0x50dcd988 in gst_qtdemux_loop (pad=0x7627e220)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.5-r0/gst-plugins-good-1.4.5/gst/isomp4/qtdemux.c:4363
#16 0x762206ec in gst_task_func (task=0x74b97760 [GstTask])
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gsttask.c:316
#17 0x762f8230 in g_thread_pool_thread_proxy (data=<optimized out>)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/glib-2.0/1_2.42.1-r0/glib-2.42.1/glib/gthreadpool.c:307
#18 0x762f7704 in g_thread_proxy (data=0x50e97d80)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/glib-2.0/1_2.42.1-r0/glib-2.42.1/glib/gthread.c:764
#19 0x769dade0 in start_thread (arg=0x37b00410) at pthread_create.c:338
#20 0x75d11fa0 in () at ../sysdeps/unix/sysv/linux/arm/clone.S:89
The second one, is from the main thread when we try to change the state to READY
(gdb) thr 3
[Switching to thread 3 (Thread 0x747ff410 (LWP 455))]
#0 0x769e4198 in __lll_lock_wait (futex=0x50e75048, private=0) at lowlevellock.c:46
46 lowlevellock.c: No such file or directory.
(gdb) bt
#0 0x769e4198 in __lll_lock_wait (futex=0x50e75048, private=0) at lowlevellock.c:46
#1 0x769dd944 in __GI___pthread_mutex_lock (mutex=0x50e75048) at pthread_mutex_lock.c:115
#2 0x761ee020 in gst_pad_activate_mode (new_mode=GST_PAD_MODE_NONE, pad=0x50e8d540 [GstPad])
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstpad.c:966
#3 0x761ee020 in gst_pad_activate_mode (pad=pad at entry=0x50e8d540 [GstPad], mode=mode at entry=GST_PAD_MODE_PUSH, active=active at entry=0)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstpad.c:1154
#4 0x761ee8b4 in gst_pad_set_active (pad=0x50e8d540 [GstPad], active=0)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstpad.c:1031
#5 0x761cb124 in activate_pads (vpad=<optimized out>, ret=0x747fe890, active=0x747fe8d4)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstelement.c:2687
#6 0x761de210 in gst_iterator_fold (it=it at entry=0x52e36a50, func=func at entry=0x761cb10c <activate_pads>, ret=ret at entry=0x747fe890, user_data=user_data at entry=0x747fe8d4)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstiterator.c:612
#7 0x761cb51c in iterator_activate_fold_with_resync (iter=iter at entry=0x52e36a50, user_data=user_data at entry=0x747fe8d4, func=0x761cb10c <activate_pads>)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstelement.c:2707
#8 0x761cd82c in gst_element_pads_activate (element=element at entry=0x50ea2138 [GstVpuDec], active=active at entry=0)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstelement.c:2751
#9 0x761cdbc8 in gst_element_change_state_func (element=0x50ea2138 [GstVpuDec], transition=<optimized out>)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstelement.c:2815
#10 0x50d1ffdc in gst_video_decoder_change_state (element=0x50ea2138 [GstVpuDec], transition=GST_STATE_CHANGE_PAUSED_TO_READY)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-mx6qdl-poky-linux-gnueabi/gstreamer1.0-plugins-base/1.4.5-r0/gst-plugins-base-1.4.5/gst-libs/gst/video/gstvideodecoder.c:2228
#11 0x761cfd1c in gst_element_change_state (element=element at entry=0x50ea2138 [GstVpuDec], transition=transition at entry=GST_STATE_CHANGE_PAUSED_TO_READY)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstelement.c:2602
#12 0x761d0358 in gst_element_set_state_func (element=0x50ea2138 [GstVpuDec], state=<optimized out>)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstelement.c:2558
Python Exception <class 'gdb.error'> Unable to access DWARF register number 0x20:
#13 0x761ae2c8 in gst_bin_change_state_func (next=<optimized out>, current=<optimized out>, start_time=#14 0x761ae2c8 in gst_bin_change_state_func (element=0x50e7b0e8 [GstPipeline], transition=31)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstbin.c:2665
#15 0x761f5cb4 in gst_pipeline_change_state (element=0x50e7b0e8 [GstPipeline], transition=GST_STATE_CHANGE_PAUSED_TO_READY)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstpipeline.c:469
#16 0x761cfd1c in gst_element_change_state (element=element at entry=0x50e7b0e8 [GstPipeline], transition=<optimized out>)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstelement.c:2602
#17 0x761d075c in gst_element_continue_state (element=element at entry=0x50e7b0e8 [GstPipeline], ret=ret at entry=GST_STATE_CHANGE_SUCCESS)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstelement.c:2312
#18 0x761cfe74 in gst_element_change_state (element=element at entry=0x50e7b0e8 [GstPipeline], transition=transition at entry=GST_STATE_CHANGE_PLAYING_TO_PAUSED)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstelement.c:2639
#19 0x761d0358 in gst_element_set_state_func (element=0x50e7b0e8 [GstPipeline], state=<optimized out>)
at /mnt/develop/imx6unidesa/yocto-unidesa-3.14.52-1.1.1/build-imx6unidesa-fb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0/1.4.5-r0/gstreamer-1.4.5/gst/gstelement.c:2558
#20 0x002d45bc in GSLib::gplayer_poll_for_state_change(GstState, GSLib::gplayer_private_data*) (new_state=GST_STATE_READY, priv=0x511fc240) at ../TC-Platform/presentation/src/lib_gs/src/TGSGStreamer.cpp:313
#21 0x002d5294 in GSLib::gplayer_stop(GSLib::gplayer_property*) (pproperty=0x4620b7b0) at ../TC-Platform/presentation/src/lib_gs/src/TGSGStreamer.cpp:700
#22 0x002d83bc in GSLib::TGSGStreamer::Stop() (this=0x436eb700) at ../TC-Platform/presentation/src/lib_gs/src/TGSGStreamer.cpp:2531
The complete threads info:
(gdb) info thr
Id Target Id Frame
31 Thread 0x37b00410 (LWP 489) "qtdemux0:sink" 0x75d05394 in __GI_ppoll (fds=0x417fd240, nfds=1, timeout=<optimized out>, sigmask=sigmask at entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:56
30 Thread 0x3efff410 (LWP 487) "Tucan" 0x769e0fa8 in __pthread_cond_wait (cond=0x4c21e540, mutex=<optimized out>) at pthread_cond_wait.c:186
29 Thread 0x3f7ff410 (LWP 486) "Tucan" 0x769e4690 in read () at ../sysdeps/unix/syscall-template.S:81
28 Thread 0x401ff410 (LWP 485) "Tucan" 0x75cdeaf0 in nanosleep () at ../sysdeps/unix/syscall-template.S:81
27 Thread 0x409ff410 (LWP 484) "Tucan" 0x75cdeaf0 in nanosleep () at ../sysdeps/unix/syscall-template.S:81
26 Thread 0x413ff410 (LWP 483) "Tucan" 0x769e4690 in read () at ../sysdeps/unix/syscall-template.S:81
25 Thread 0x42ddd410 (LWP 482) "Tucan" 0x769e136c in __pthread_cond_timedwait (cond=<optimized out>, mutex=<optimized out>, abstime=0x42ddcabc) at pthread_cond_timedwait.c:198
24 Thread 0x435dd410 (LWP 481) "Tucan" 0x769e0fa8 in __pthread_cond_wait (cond=0x74a87d50, mutex=<optimized out>) at pthread_cond_wait.c:186
23 Thread 0x449ff410 (LWP 480) "Tucan" 0x769e0fa8 in __pthread_cond_wait (cond=0x4c21c680, mutex=<optimized out>) at pthread_cond_wait.c:186
22 Thread 0x451ff410 (LWP 479) "Tucan" 0x769e0fa8 in __pthread_cond_wait (cond=0x4c21c2c0, mutex=<optimized out>) at pthread_cond_wait.c:186
21 Thread 0x461ff410 (LWP 478) "Tucan" 0x769e0fa8 in __pthread_cond_wait (cond=0x461fecd8, mutex=<optimized out>) at pthread_cond_wait.c:186
20 Thread 0x46bff410 (LWP 477) "Tucan" 0x75d0b614 in select () at ../sysdeps/unix/syscall-template.S:81
19 Thread 0x473ff410 (LWP 476) "Tucan" 0x75d0b614 in select () at ../sysdeps/unix/syscall-template.S:81
18 Thread 0x47dff410 (LWP 475) "Tucan" 0x75cdeaf0 in nanosleep () at ../sysdeps/unix/syscall-template.S:81
17 Thread 0x485ff410 (LWP 474) "Tucan" 0x75cdeaf0 in nanosleep () at ../sysdeps/unix/syscall-template.S:81
16 Thread 0x48dff410 (LWP 473) "Tucan" 0x75cdeaf0 in nanosleep () at ../sysdeps/unix/syscall-template.S:81
15 Thread 0x495ff410 (LWP 472) "Tucan" 0x75cdeaf0 in nanosleep () at ../sysdeps/unix/syscall-template.S:81
14 Thread 0x49dff410 (LWP 471) "Tucan" 0x75cdeaf0 in nanosleep () at ../sysdeps/unix/syscall-template.S:81
13 Thread 0x4a7ff410 (LWP 470) "Tucan" 0x75d0b614 in select () at ../sysdeps/unix/syscall-template.S:81
12 Thread 0x4afff410 (LWP 469) "Tucan" 0x75cdeaf0 in nanosleep () at ../sysdeps/unix/syscall-template.S:81
11 Thread 0x4b7ff410 (LWP 468) "Tucan" 0x75cdeaf0 in nanosleep () at ../sysdeps/unix/syscall-template.S:81
10 Thread 0x4bfff410 (LWP 467) "Tucan" 0x769e136c in __pthread_cond_timedwait (cond=<optimized out>, mutex=<optimized out>, abstime=0x4bffedb0) at pthread_cond_timedwait.c:198
9 Thread 0x4d62f410 (LWP 462) "Tucan" 0x769e33bc in futex_abstimed_wait (cancel=true, private=0, abstime=0x0, expected=1, futex=0x75697540) at sem_waitcommon.c:42
8 Thread 0x4de2f410 (LWP 461) "Tucan" 0x75cdeaf0 in nanosleep () at ../sysdeps/unix/syscall-template.S:81
7 Thread 0x4e62f410 (LWP 460) "Tucan" 0x75d0b614 in select () at ../sysdeps/unix/syscall-template.S:81
6 Thread 0x507ff410 (LWP 458) "Tucan" 0x769e0fa8 in __pthread_cond_wait (cond=0x73e10028, mutex=<optimized out>) at pthread_cond_wait.c:186
5 Thread 0x51ce1410 (LWP 457) "Tucan" 0x75d0acb8 in ioctl () at ../sysdeps/unix/syscall-template.S:81
4 Thread 0x73dff410 (LWP 456) "Tucan" 0x769e5130 in nanosleep () at ../sysdeps/unix/syscall-template.S:81
3 Thread 0x747ff410 (LWP 455) "Tucan" 0x769e4198 in __lll_lock_wait (futex=0x50e75048, private=0) at lowlevellock.c:46
2 Thread 0x755ff410 (LWP 454) "Tucan" 0x769e0fa8 in __pthread_cond_wait (cond=0x756422c0, mutex=<optimized out>) at pthread_cond_wait.c:186
* 1 Thread 0x75ae6000 (LWP 451) "Tucan" 0x769e0fa8 in __pthread_cond_wait (cond=0x7575a740, mutex=<optimized out>) at pthread_cond_wait.c:186
How can I debug this situation?? Maybe this deadlock is something already fixed in a more recent version... But I have to use this
version because the Freescale components are related to this one... Any hint is welcome!
Regards
Jorge
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20170327/783fca31/attachment-0001.html>
More information about the gstreamer-devel
mailing list