[gstreamer-bugs] [Bug 575068] New: Deadlock with accurate seeking

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Thu Mar 12 04:44:56 PDT 2009


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=575068

  GStreamer | gst-plugins-ugly | Ver: git
           Summary: Deadlock with accurate seeking
           Product: GStreamer
           Version: git
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-ugly
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: alessandro.d at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


I'm seeing this deadlock seeking in mp3 files with pitivi git and -ugly git

(gdb) info threads
  7 Thread 0x42537950 (LWP 26984)  0x00007f5d62ca52d9 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
  6 Thread 0x41672950 (LWP 26994)  0x00007f5d62ca555d in
pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
  5 Thread 0x40a04950 (LWP 26995)  0x00007f5d62ca52d9 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
  4 Thread 0x43539950 (LWP 26997)  0x00007f5d62ca52d9 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
  3 Thread 0x42d38950 (LWP 26998)  0x00007f5d62ca52d9 in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
  2 Thread 0x43d3a950 (LWP 26999)  0x00007f5d62ca7b04 in __lll_lock_wait ()
   from /lib/libpthread.so.0
  1 Thread 0x7f5d630b66e0 (LWP 26977)  0x00007f5d62ca7b04 in __lll_lock_wait ()
   from /lib/libpthread.so.0

(gdb) thr a a bt

Thread 7 (Thread 0x42537950 (LWP 26984)):
#0  0x00007f5d62ca52d9 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x00007f5d58949ea1 in gst_task_func (task=0x1bb4840, tclass=0xec5e40)
    at gsttask.c:180
#2  0x00007f5d60cd07f7 in g_thread_pool_thread_proxy (
    data=<value optimized out>)
    at /build/buildd/glib2.0-2.18.2/glib/gthreadpool.c:265
#3  0x00007f5d60ccf264 in g_thread_create_proxy (data=0x1b9c1c0)
    at /build/buildd/glib2.0-2.18.2/glib/gthread.c:635
#4  0x00007f5d62ca13ea in start_thread () from /lib/libpthread.so.0
#5  0x00007f5d62382cbd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x41672950 (LWP 26994)):
#0  0x00007f5d62ca555d in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x00007f5d6113c605 in g_cond_timed_wait_posix_impl (cond=0x1baf9c4, 
    entered_mutex=0x0, abs_time=<value optimized out>)
    at /build/buildd/glib2.0-2.18.2/gthread/gthread-posix.c:242
#2  0x00007f5d60c8276b in g_async_queue_pop_intern_unlocked (queue=0xae29a0, 
    try=0, end_time=0x416720b0)
---Type <return> to continue, or q <return> to quit---
    at /build/buildd/glib2.0-2.18.2/glib/gasyncqueue.c:365
#3  0x00007f5d60c82865 in IA__g_async_queue_timed_pop (queue=0xae29a0, 
    end_time=0x416720b0) at /build/buildd/glib2.0-2.18.2/glib/gasyncqueue.c:491
#4  0x00007f5d60cd0755 in g_thread_pool_thread_proxy (
    data=<value optimized out>)
    at /build/buildd/glib2.0-2.18.2/glib/gthreadpool.c:121
#5  0x00007f5d60ccf264 in g_thread_create_proxy (data=0x7f5d48011170)
    at /build/buildd/glib2.0-2.18.2/glib/gthread.c:635
#6  0x00007f5d62ca13ea in start_thread () from /lib/libpthread.so.0
#7  0x00007f5d62382cbd in clone () from /lib/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x40a04950 (LWP 26995)):
#0  0x00007f5d62ca52d9 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x00007f5d58949ea1 in gst_task_func (task=0x1bb4f20, tclass=0xec5e40)
    at gsttask.c:180
#2  0x00007f5d60cd07f7 in g_thread_pool_thread_proxy (
    data=<value optimized out>)
    at /build/buildd/glib2.0-2.18.2/glib/gthreadpool.c:265
#3  0x00007f5d60ccf264 in g_thread_create_proxy (data=0x1f219d0)
    at /build/buildd/glib2.0-2.18.2/glib/gthread.c:635
#4  0x00007f5d62ca13ea in start_thread () from /lib/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#5  0x00007f5d62382cbd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x43539950 (LWP 26997)):
#0  0x00007f5d62ca52d9 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x00007f5d58949ea1 in gst_task_func (task=0x1bb3670, tclass=0xec5e40)
    at gsttask.c:180
#2  0x00007f5d60cd07f7 in g_thread_pool_thread_proxy (
    data=<value optimized out>)
    at /build/buildd/glib2.0-2.18.2/glib/gthreadpool.c:265
#3  0x00007f5d60ccf264 in g_thread_create_proxy (data=0x1f445f0)
    at /build/buildd/glib2.0-2.18.2/glib/gthread.c:635
#4  0x00007f5d62ca13ea in start_thread () from /lib/libpthread.so.0
#5  0x00007f5d62382cbd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x42d38950 (LWP 26998)):
#0  0x00007f5d62ca52d9 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#1  0x00007f5d542dcdfa in audioringbuffer_thread_func (buf=0x1549c60)
    at gstaudiosink.c:262
#2  0x00007f5d60ccf264 in g_thread_create_proxy (data=0x7f5d40020f50)
---Type <return> to continue, or q <return> to quit---
    at /build/buildd/glib2.0-2.18.2/glib/gthread.c:635
#3  0x00007f5d62ca13ea in start_thread () from /lib/libpthread.so.0
#4  0x00007f5d62382cbd in clone () from /lib/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x43d3a950 (LWP 26999)):
#0  0x00007f5d62ca7b04 in __lll_lock_wait () from /lib/libpthread.so.0
#1  0x00007f5d62ca31a0 in _L_lock_102 () from /lib/libpthread.so.0
#2  0x00007f5d62ca2aae in pthread_mutex_lock () from /lib/libpthread.so.0
#3  0x00007f5d4f02e001 in gst_mp3parse_sink_event (pad=0x1f5b170, 
    event=0x1f2c1c0) at gstmpegaudioparse.c:457
#4  0x00007f5d5892992d in gst_pad_send_event (pad=0x1f5b170, event=0x1f2c1c0)
    at gstpad.c:4701
#5  0x00007f5d5892924a in gst_pad_push_event (pad=0x1f5b000, event=0x1f2c1c0)
    at gstpad.c:4557
#6  0x00007f5d4f65157a in gst_tag_demux_send_new_segment (tagdemux=0xdca7d0)
    at gsttagdemux.c:1484
#7  0x00007f5d4f64edfd in gst_tag_demux_chain (pad=0x1f36e60, buf=0x0)
    at gsttagdemux.c:673
#8  0x00007f5d58927486 in gst_pad_chain_unchecked (pad=0x1f36e60, 
    buffer=0x1f41b10) at gstpad.c:3957
#9  0x00007f5d58927c0f in gst_pad_push (pad=0x1f36cf0, buffer=0x1f41b10)
    at gstpad.c:4124
---Type <return> to continue, or q <return> to quit---
#10 0x00007f5d4f64ef22 in gst_tag_demux_chain (pad=0x1f368a0, buf=0x0)
    at gsttagdemux.c:692
#11 0x00007f5d58927486 in gst_pad_chain_unchecked (pad=0x1f368a0, 
    buffer=0x1f41b10) at gstpad.c:3957
#12 0x00007f5d58927c0f in gst_pad_push (pad=0x1f36b80, buffer=0x1f41b10)
    at gstpad.c:4124
#13 0x00007f5d551710ce in gst_type_find_element_chain (pad=0x1d09450, 
    buffer=0x1f41b10) at gsttypefindelement.c:688
#14 0x00007f5d58927486 in gst_pad_chain_unchecked (pad=0x1d09450, 
    buffer=0x1f41b10) at gstpad.c:3957
#15 0x00007f5d58927c0f in gst_pad_push (pad=0x1f36a10, buffer=0x1f41b10)
    at gstpad.c:4124
#16 0x00007f5d58bcc51f in gst_base_src_loop (pad=0x1f36a10)
    at gstbasesrc.c:2279
#17 0x00007f5d58949f47 in gst_task_func (task=0x1bb4e80, tclass=0xec5e40)
    at gsttask.c:192
#18 0x00007f5d60cd07f7 in g_thread_pool_thread_proxy (
    data=<value optimized out>)
    at /build/buildd/glib2.0-2.18.2/glib/gthreadpool.c:265
#19 0x00007f5d60ccf264 in g_thread_create_proxy (data=0x1f666b0)
    at /build/buildd/glib2.0-2.18.2/glib/gthread.c:635
#20 0x00007f5d62ca13ea in start_thread () from /lib/libpthread.so.0
#21 0x00007f5d62382cbd in clone () from /lib/libc.so.6
---Type <return> to continue, or q <return> to quit---
#22 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f5d630b66e0 (LWP 26977)):
#0  0x00007f5d62ca7b04 in __lll_lock_wait () from /lib/libpthread.so.0
#1  0x00007f5d62ca31a0 in _L_lock_102 () from /lib/libpthread.so.0
#2  0x00007f5d62ca2aae in pthread_mutex_lock () from /lib/libpthread.so.0
#3  0x00007f5d60ccf1a1 in IA__g_static_rec_mutex_lock (mutex=0x1f43240)
    at /build/buildd/glib2.0-2.18.2/glib/gthread.c:313
#4  0x00007f5d58bc82a3 in gst_base_src_perform_seek (src=0x1c28960, 
    event=0x1f6e940, unlock=1) at gstbasesrc.c:1210
#5  0x00007f5d58bc90e8 in gst_base_src_default_event (src=0x1c28960, 
    event=0x1f6e940) at gstbasesrc.c:1542
#6  0x00007f5d58bc9200 in gst_base_src_event_handler (pad=0x1f36a10, 
    event=0x1f6e940) at gstbasesrc.c:1577
#7  0x00007f5d5892992d in gst_pad_send_event (pad=0x1f36a10, event=0x1f6e940)
    at gstpad.c:4701
#8  0x00007f5d5892924a in gst_pad_push_event (pad=0x1d09450, event=0x1f6e940)
    at gstpad.c:4557
#9  0x00007f5d551700a6 in gst_type_find_element_src_event (pad=0x1f36b80, 
    event=0x1f6e940) at gsttypefindelement.c:425
#10 0x00007f5d5892992d in gst_pad_send_event (pad=0x1f36b80, event=0x1f6e940)
    at gstpad.c:4701
#11 0x00007f5d5892924a in gst_pad_push_event (pad=0x1f368a0, event=0x1f6e940)
---Type <return> to continue, or q <return> to quit---
    at gstpad.c:4557
#12 0x00007f5d4f64f524 in gst_tag_demux_srcpad_event (pad=0x1f36cf0, 
    event=0x1f6e480) at gsttagdemux.c:834
#13 0x00007f5d5892992d in gst_pad_send_event (pad=0x1f36cf0, event=0x1f6e480)
    at gstpad.c:4701
#14 0x00007f5d5892924a in gst_pad_push_event (pad=0x1f36e60, event=0x1f6e480)
    at gstpad.c:4557
#15 0x00007f5d4f64f524 in gst_tag_demux_srcpad_event (pad=0x1f5b000, 
    event=0x1f6e500) at gsttagdemux.c:834
#16 0x00007f5d5892992d in gst_pad_send_event (pad=0x1f5b000, event=0x1f6e500)
    at gstpad.c:4701
#17 0x00007f5d5892924a in gst_pad_push_event (pad=0x1f5b170, event=0x1f6e500)
    at gstpad.c:4557
#18 0x00007f5d4f035e4e in mp3parse_handle_seek (mp3parse=0x1f5c740, 
    event=0x1f6e500) at gstmpegaudioparse.c:1787
#19 0x00007f5d4f036131 in mp3parse_src_event (pad=0x1f5b2e0, event=0x1f6e900)
    at gstmpegaudioparse.c:1836
#20 0x00007f5d5892992d in gst_pad_send_event (pad=0x1f5b2e0, event=0x1f6e900)
    at gstpad.c:4701
#21 0x00007f5d5892924a in gst_pad_push_event (pad=0x1f5b450, event=0x1f6e900)
    at gstpad.c:4557
#22 0x00007f5d4ee1d98f in gst_mad_src_event (pad=0x1f5b5c0, event=0x1f6e900)
    at gstmad.c:817
---Type <return> to continue, or q <return> to quit---
#23 0x00007f5d5892992d in gst_pad_send_event (pad=0x1f5b5c0, event=0x1f6e900)
    at gstpad.c:4701
#24 0x00007f5d5892924a in gst_pad_push_event (pad=0x1c34020, event=0x1f6e900)
    at gstpad.c:4557
#25 0x00007f5d5890e799 in gst_proxy_pad_do_event (pad=0x152fbf0, 
    event=0x1f6e900) at gstghostpad.c:128
#26 0x00007f5d5892992d in gst_pad_send_event (pad=0x152fbf0, event=0x1f6e900)
    at gstpad.c:4701
#27 0x00007f5d5892924a in gst_pad_push_event (pad=0x1f6c100, event=0x1f6e900)
    at gstpad.c:4557
#28 0x00007f5d5890e799 in gst_proxy_pad_do_event (pad=0x1f2aa80, 
    event=0x1f6e900) at gstghostpad.c:128
#29 0x00007f5d5207d398 in ghostpad_event_function (ghostpad=0x1f2aa80, 
    event=0x1f6e900) at gnlobject.c:711
#30 0x00007f5d5892992d in gst_pad_send_event (pad=0x1f2aa80, event=0x1f6e480)
    at gstpad.c:4701
#31 0x00007f5d5892924a in gst_pad_push_event (pad=0x1c349e0, event=0x1f6e480)
    at gstpad.c:4557
#32 0x00007f5d5890e799 in gst_proxy_pad_do_event (pad=0x1f2a060, 
    event=0x1f6e480) at gstghostpad.c:128
#33 0x00007f5d5207d398 in ghostpad_event_function (ghostpad=0x1f2a060, 
    event=0x1f6e480) at gnlobject.c:711
#34 0x00007f5d52085632 in gnl_composition_event_handler (ghostpad=0x1f2a060, 
---Type <return> to continue, or q <return> to quit---
    event=0x1f6e940) at gnlcomposition.c:951
#35 0x00007f5d5892992d in gst_pad_send_event (pad=0x1f2a060, event=0x1f6e640)
    at gstpad.c:4701
#36 0x00007f5d5892924a in gst_pad_push_event (pad=0x1d095c0, event=0x1f6e640)
    at gstpad.c:4557
#37 0x00007f5d58bd37be in gst_base_transform_src_eventfunc (
    trans=0x7f5d40002020, event=0x1f6e640) at gstbasetransform.c:1773
#38 0x00007f5d594829c2 in _wrap_GstBaseTransform__do_src_event (
    cls=0x7f5d596bd720, args=0x1cc0290, kwargs=0x0) at gstbase.override:831
#39 0x0000000000491052 in PyEval_EvalFrameEx (f=0x1f3d530, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3595
#40 0x00000000004927cd in PyEval_EvalCodeEx (co=0x12f2e40, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x1640e78, argcount=2, kws=0x0, kwcount=0, defs=0x0, defcount=0, 
    closure=0x0) at ../Python/ceval.c:2858
#41 0x00000000004dd4c2 in function_call (func=0x13681b8, arg=0x1640e60, kw=0x0)
    at ../Objects/funcobject.c:517
#42 0x0000000000418c33 in PyObject_Call (func=0x1f43248, arg=0x80, 
    kw=0x7f5d62caafe0) at ../Objects/abstract.c:1861
#43 0x000000000041fb08 in instancemethod_call (func=0x13681b8, arg=0x1640e60, 
    kw=0x0) at ../Objects/classobject.c:2519
#44 0x0000000000418c33 in PyObject_Call (func=0x1f43248, arg=0x80, 
    kw=0x7f5d62caafe0) at ../Objects/abstract.c:1861
---Type <return> to continue, or q <return> to quit---
#45 0x000000000048a852 in PyEval_CallObjectWithKeywords (func=0x1669320, 
    arg=0x1cbf190, kw=0x0) at ../Python/ceval.c:3464
#46 0x00007f5d59485e4b in _wrap_GstBaseTransform__proxy_do_src_event (
    self=0x7f5d40002020, event=0x1f6e640) at gst.c:19032
#47 0x00007f5d58bd3734 in gst_base_transform_src_event (pad=0x1d09730, 
    event=0x1f6e640) at gstbasetransform.c:1742
#48 0x00007f5d5892992d in gst_pad_send_event (pad=0x1d09730, event=0x1f6e640)
    at gstpad.c:4701
#49 0x00007f5d5892924a in gst_pad_push_event (pad=0x1c34840, event=0x1f6e640)
    at gstpad.c:4557
#50 0x00007f5d5890e799 in gst_proxy_pad_do_event (pad=0x1f2a210, 
    event=0x1f6e640) at gstghostpad.c:128
#51 0x00007f5d5892992d in gst_pad_send_event (pad=0x1f2a210, event=0x1f6e640)
    at gstpad.c:4701
#52 0x00007f5d5892924a in gst_pad_push_event (pad=0x1d098a0, event=0x1f6e640)
    at gstpad.c:4557
#53 0x00007f5d58925c32 in gst_pad_event_default_dispatch (pad=0x1f36730, 
    event=0x1f6e640) at gstpad.c:3327
#54 0x00007f5d58925ed9 in gst_pad_event_default (pad=0x1f36730, 
    event=0x1f6e640) at gstpad.c:3401
#55 0x00007f5d5892992d in gst_pad_send_event (pad=0x1f36730, event=0x1f6e640)
    at gstpad.c:4701
#56 0x00007f5d5892924a in gst_pad_push_event (pad=0x1f36450, event=0x1f6e640)
---Type <return> to continue, or q <return> to quit---
    at gstpad.c:4557
#57 0x00007f5d5516bb22 in gst_queue_handle_src_event (pad=0x1f365c0, 
    event=0x1f6e640) at gstqueue.c:1176
#58 0x00007f5d5892992d in gst_pad_send_event (pad=0x1f365c0, event=0x1f6e640)
    at gstpad.c:4701
#59 0x00007f5d5892924a in gst_pad_push_event (pad=0x1f2a570, event=0x1f6e640)
    at gstpad.c:4557
#60 0x00007f5d5890e799 in gst_proxy_pad_do_event (pad=0x1c34d20, 
    event=0x1f6e640) at gstghostpad.c:128
#61 0x00007f5d5892992d in gst_pad_send_event (pad=0x1c34d20, event=0x1f6e640)
    at gstpad.c:4701
#62 0x00007f5d5892924a in gst_pad_push_event (pad=0x1d09cf0, event=0x1f6e640)
    at gstpad.c:4557
#63 0x00007f5d58bd37be in gst_base_transform_src_eventfunc (trans=0x1d02e30, 
    event=0x1f6e640) at gstbasetransform.c:1773
#64 0x00007f5d58bd3734 in gst_base_transform_src_event (pad=0x1d09e60, 
    event=0x1f6e640) at gstbasetransform.c:1742
#65 0x00007f5d5892992d in gst_pad_send_event (pad=0x1d09e60, event=0x1f6e640)
    at gstpad.c:4701
#66 0x00007f5d5892924a in gst_pad_push_event (pad=0x1f36000, event=0x1f6e640)
    at gstpad.c:4557
#67 0x00007f5d58bd37be in gst_base_transform_src_eventfunc (trans=0x176f9a0, 
    event=0x1f6e640) at gstbasetransform.c:1773
---Type <return> to continue, or q <return> to quit---
#68 0x00007f5d58bd3734 in gst_base_transform_src_event (pad=0x1d09a10, 
    event=0x1f6e640) at gstbasetransform.c:1742
#69 0x00007f5d5892992d in gst_pad_send_event (pad=0x1d09a10, event=0x1f6e640)
    at gstpad.c:4701
#70 0x00007f5d5892924a in gst_pad_push_event (pad=0x1f36170, event=0x1f6e640)
    at gstpad.c:4557
#71 0x00007f5d58bd37be in gst_base_transform_src_eventfunc (trans=0x16caab0, 
    event=0x1f6e640) at gstbasetransform.c:1773
#72 0x00007f5d58bd3734 in gst_base_transform_src_event (pad=0x1f362e0, 
    event=0x1f6e640) at gstbasetransform.c:1742
#73 0x00007f5d5892992d in gst_pad_send_event (pad=0x1f362e0, event=0x1f6e640)
    at gstpad.c:4701
#74 0x00007f5d5892924a in gst_pad_push_event (pad=0x1f2a3c0, event=0x1f6e640)
    at gstpad.c:4557
#75 0x00007f5d5890e799 in gst_proxy_pad_do_event (pad=0x1c34b80, 
    event=0x1f6e640) at gstghostpad.c:128
#76 0x00007f5d5892992d in gst_pad_send_event (pad=0x1c34b80, event=0x1f6e640)
    at gstpad.c:4701
#77 0x00007f5d5892924a in gst_pad_push_event (pad=0x1d09b80, event=0x1f6e640)
    at gstpad.c:4557
#78 0x00007f5d58bc2bae in gst_base_sink_send_event (element=0x1f2d800, 
    event=0x1f6e640) at gstbasesink.c:3603
#79 0x00007f5d58905291 in gst_element_send_event (element=0x1f2d800, 
---Type <return> to continue, or q <return> to quit---
    event=0x1f6e640) at gstelement.c:1383
#80 0x00007f5d588f05f8 in gst_bin_send_event (element=0x152e640, 
    event=0x1f6e640) at gstbin.c:2502
#81 0x00007f5d58905291 in gst_element_send_event (element=0x152e640, 
    event=0x1f6e640) at gstelement.c:1383
#82 0x00007f5d588f05f8 in gst_bin_send_event (element=0x1549dc0, 
    event=0x1f6e640) at gstbin.c:2502
#83 0x00007f5d58905291 in gst_element_send_event (element=0x1549dc0, 
    event=0x1f6e640) at gstelement.c:1383
#84 0x00007f5d588f05f8 in gst_bin_send_event (element=0x152f1d0, 
    event=0x1f6e640) at gstbin.c:2502
#85 0x00007f5d58905291 in gst_element_send_event (element=0x152f1d0, 
    event=0x1f6e640) at gstelement.c:1383
#86 0x00007f5d5890538e in gst_element_seek (element=0x152f1d0, rate=1, 
    format=GST_FORMAT_TIME, flags=GST_SEEK_FLAG_FLUSH, 
    cur_type=GST_SEEK_TYPE_SET, cur=14100000000, stop_type=GST_SEEK_TYPE_NONE, 
    stop=-1) at gstelement.c:1423
#87 0x00007f5d5945c3d6 in _wrap_gst_element_seek (self=0x165c7d0, 
    args=0x1cbd1a0, kwargs=0x0) at gst.c:4774
#88 0x0000000000491052 in PyEval_EvalFrameEx (f=0x7f5d48023240, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3595
#89 0x00000000004927cd in PyEval_EvalCodeEx (co=0x13114e0, 
    globals=<value optimized out>, locals=<value optimized out>, args=0x3, 
---Type <return> to continue, or q <return> to quit---
    argcount=2, kws=0x1c27290, kwcount=0, defs=0x1360628, defcount=1, 
    closure=0x0) at ../Python/ceval.c:2858
#90 0x0000000000490cf3 in PyEval_EvalFrameEx (f=0x1c270f0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3691
#91 0x00000000004927cd in PyEval_EvalCodeEx (co=0x14bed50, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x165e1f8, argcount=3, kws=0x0, kwcount=0, defs=0x0, defcount=0, 
    closure=0x0) at ../Python/ceval.c:2858
#92 0x00000000004dd4c2 in function_call (func=0x1651aa0, arg=0x165e1e0, kw=0x0)
    at ../Objects/funcobject.c:517
#93 0x0000000000418c33 in PyObject_Call (func=0x1f43248, arg=0x80, 
    kw=0x7f5d62caafe0) at ../Objects/abstract.c:1861
#94 0x000000000041fb08 in instancemethod_call (func=0x1651aa0, arg=0x165e1e0, 
    kw=0x0) at ../Objects/classobject.c:2519
#95 0x0000000000418c33 in PyObject_Call (func=0x1f43248, arg=0x80, 
    kw=0x7f5d62caafe0) at ../Objects/abstract.c:1861
#96 0x000000000048a852 in PyEval_CallObjectWithKeywords (func=0x165fc80, 
    arg=0x1cc0128, kw=0x0) at ../Python/ceval.c:3464
#97 0x00007f5d60630e2a in pyg_closure_marshal (closure=0x1816a00, 
    return_value=0x7fff6b0d23b0, n_param_values=2, param_values=0x1c732c0, 
    invocation_hint=<value optimized out>, marshal_data=<value optimized out>)
    at pygtype.c:1109
#98 0x00007f5d6134c25d in IA__g_closure_invoke (closure=0x1816a00, 
---Type <return> to continue, or q <return> to quit---
    return_value=0x7fff6b0d23b0, n_param_values=2, param_values=0x1c732c0, 
    invocation_hint=0x7fff6b0d22c0)
    at /build/buildd/glib2.0-2.18.2/gobject/gclosure.c:767
#99 0x00007f5d61361f5d in signal_emit_unlocked_R (node=0x15f5d30, detail=0, 
    instance=0x173d2c0, emission_return=0x7fff6b0d23b0, 
    instance_and_params=0x1c732c0)
    at /build/buildd/glib2.0-2.18.2/gobject/gsignal.c:3244
#100 0x00007f5d606287fa in pygobject_emit (self=<value optimized out>, 
    args=0x1cc0320) at pygobject.c:1734
#101 0x0000000000491052 in PyEval_EvalFrameEx (f=0x1f19070, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3595
#102 0x00000000004927cd in PyEval_EvalCodeEx (co=0x15b2378, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x164c748, argcount=4, kws=0x16d2870, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at ../Python/ceval.c:2858
#103 0x00000000004dd5b9 in function_call (func=0x15bd050, arg=0x164c730, 
    kw=0x1007060) at ../Objects/funcobject.c:517
#104 0x0000000000418c33 in PyObject_Call (func=0x1f43248, arg=0x80, 
    kw=0x7f5d62caafe0) at ../Objects/abstract.c:1861
#105 0x000000000048f927 in PyEval_EvalFrameEx (f=0x1f6ac20, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3875
#106 0x00000000004927cd in PyEval_EvalCodeEx (co=0x121ceb8, 
    globals=<value optimized out>, locals=<value optimized out>, 
---Type <return> to continue, or q <return> to quit---
    args=0x1641d28, argcount=5, kws=0x1f72c90, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at ../Python/ceval.c:2858
#107 0x00000000004dd5b9 in function_call (func=0x122acf8, arg=0x1641d10, 
    kw=0x7f5d40009820) at ../Objects/funcobject.c:517
#108 0x0000000000418c33 in PyObject_Call (func=0x1f43248, arg=0x80, 
    kw=0x7f5d62caafe0) at ../Objects/abstract.c:1861
#109 0x000000000048f927 in PyEval_EvalFrameEx (f=0x1f6a820, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3875
#110 0x00000000004927cd in PyEval_EvalCodeEx (co=0x121f030, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x1f1a4b0, argcount=4, kws=0x1f1a4d0, kwcount=0, defs=0x0, 
    defcount=0, closure=0x0) at ../Python/ceval.c:2858
#111 0x0000000000490cf3 in PyEval_EvalFrameEx (f=0x1f1a320, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3691
#112 0x00000000004927cd in PyEval_EvalCodeEx (co=0x13010a8, 
    globals=<value optimized out>, locals=<value optimized out>, 
    args=0x1662a68, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0, 
    closure=0x0) at ../Python/ceval.c:2858
#113 0x00000000004dd4c2 in function_call (func=0x1301aa0, arg=0x1662a50, 
    kw=0x0) at ../Objects/funcobject.c:517
#114 0x0000000000418c33 in PyObject_Call (func=0x1f43248, arg=0x80, 
    kw=0x7f5d62caafe0) at ../Objects/abstract.c:1861
#115 0x000000000041fb08 in instancemethod_call (func=0x1301aa0, arg=0x1662a50, 
---Type <return> to continue, or q <return> to quit---
    kw=0x0) at ../Objects/classobject.c:2519
#116 0x0000000000418c33 in PyObject_Call (func=0x1f43248, arg=0x80, 
    kw=0x7f5d62caafe0) at ../Objects/abstract.c:1861
#117 0x000000000048a852 in PyEval_CallObjectWithKeywords (func=0x165ca50, 
    arg=0x7f5d63076050, kw=0x0) at ../Python/ceval.c:3464
#118 0x00007f5d615874fc in _pyglib_handler_marshal (user_data=0x1640e18)
    at pyglib.c:562
#119 0x00007f5d60ca64fb in g_timeout_dispatch (source=0x1f6f430, 
    callback=0x80, user_data=0x7f5d62caafe0)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:3589
#120 0x00007f5d60ca5d3b in IA__g_main_context_dispatch (context=0xdd56b0)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:2144
#121 0x00007f5d60ca950d in g_main_context_iterate (context=0xdd56b0, block=1, 
    dispatch=1, self=<value optimized out>)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:2778
#122 0x00007f5d60ca9a3d in IA__g_main_loop_run (loop=0x1688bb0)
    at /build/buildd/glib2.0-2.18.2/glib/gmain.c:2986
#123 0x00007f5d61793d08 in _wrap_g_main_loop_run (self=0x7f5d6304e2f0)
    at pygmainloop.c:319
#124 0x0000000000490f0b in PyEval_EvalFrameEx (f=0x1b76ec0, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3579
#125 0x00000000004920e2 in PyEval_EvalFrameEx (f=0x13f7a50, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3681
---Type <return> to continue, or q <return> to quit---
#126 0x00000000004920e2 in PyEval_EvalFrameEx (f=0xded520, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3681
#127 0x00000000004920e2 in PyEval_EvalFrameEx (f=0xa6d250, 
    throwflag=<value optimized out>) at ../Python/ceval.c:3681
#128 0x00000000004927cd in PyEval_EvalCodeEx (co=0x7f5d63062738, 
    globals=<value optimized out>, locals=<value optimized out>, args=0x0, 
    argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
    at ../Python/ceval.c:2858
#129 0x00000000004929c2 in PyEval_EvalCode (co=0x1f43248, globals=0x80, 
    locals=0x7f5d62caafe0) at ../Python/ceval.c:514
#130 0x00000000004b2678 in PyRun_FileExFlags (fp=0x9f4010, 
    filename=0x7fff6b0d51fc "bin/pitivi", start=<value optimized out>, 
    globals=0xa176c0, locals=0xa176c0, closeit=1, flags=0x7fff6b0d3ec0)
    at ../Python/pythonrun.c:1273
#131 0x00000000004b291b in PyRun_SimpleFileExFlags (fp=0x9f4010, 
    filename=0x7fff6b0d51fc "bin/pitivi", closeit=1, flags=0x7fff6b0d3ec0)
    at ../Python/pythonrun.c:879
#132 0x000000000041488a in Py_Main (argc=1, argv=<value optimized out>)
    at ../Modules/main.c:532
#133 0x00007f5d622ba466 in __libc_start_main () from /lib/libc.so.6
#134 0x0000000000413ca9 in _start ()
#0  0x00007f5d62ca7b04 in __lll_lock_wait () from /lib/libpthread.so.0
(gdb) 

there's a race acquiring mp3parse->pending_accurate_seeks_lock. It's acquired
from both the seeking thread and the streaming thread. The deadlock happens
when a seek happens; the lock is taken; in the meantime the streaming thread
tries to acquire it too but it's taken so the streaming thread blocks; basesrc
flushes and waits for the streaming thread to stop -> BOOM


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=575068.




More information about the Gstreamer-bugs mailing list