[Bug 679458] New: [queue] Serialized queries blocking forever if using a min-threshold

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jul 5 08:40:46 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=679458
  GStreamer | gstreamer (core) | 0.11.x

           Summary: [queue] Serialized queries blocking forever if using a
                    min-threshold
    Classification: Platform
           Product: GStreamer
           Version: 0.11.x
        OS/Version: Linux
            Status: NEW
          Severity: critical
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: slomo at circular-chaos.org
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


See for example:
$ gst-launch-1.0 audiotestsrc ! queue min-threshold-time=200000000 ! fakesink

It waits in gstqueue.c:801 because there are some serialized events in the
queue, which are never going to be pushed downstream until we have caps and a
buffer and everything. And this is never going to happen because the query is
blocked :)

Thread 3 (Thread 0x7ffff3e5f700 (LWP 11026)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007ffff722242f in g_cond_wait (cond=cond at entry=0x7ac348, 
    mutex=mutex at entry=0x7ac320)
    at /tmp/buildd/glib2.0-2.32.3/./glib/gthread-posix.c:746
#2  0x00007ffff4eba845 in gst_queue_handle_sink_query (pad=<optimized out>, 
    parent=0x7ac0b0, query=<optimized out>) at gstqueue.c:801
#3  0x00007ffff7b4eb06 in gst_pad_query (pad=pad at entry=0x7a4320, 
    query=query at entry=0x7ae2d0) at gstpad.c:3361
#4  0x00007ffff7b4f11d in gst_pad_peer_query (pad=0x7a40f0, 
    query=query at entry=0x7ae2d0) at gstpad.c:3494
#5  0x00007ffff57d4d83 in gst_base_src_prepare_allocation (caps=0x7ae230, 
    basesrc=0x7a1000) at gstbasesrc.c:2899
#6  gst_base_src_negotiate (basesrc=0x7a1000) at gstbasesrc.c:3038
#7  gst_base_src_loop (pad=0x7a40f0) at gstbasesrc.c:2525
#8  0x00007ffff7b77191 in gst_task_func (task=0x7b4120) at gsttask.c:316
#9  0x00007ffff72095f2 in g_thread_pool_thread_proxy (data=<optimized out>)
    at /tmp/buildd/glib2.0-2.32.3/./glib/gthreadpool.c:309
#10 0x00007ffff7208df5 in g_thread_proxy (data=0x7abad0)
    at /tmp/buildd/glib2.0-2.32.3/./glib/gthread.c:801
#11 0x00007ffff6b7ab50 in start_thread (arg=<optimized out>)
---Type <return> to continue, or q <return> to quit---
    at pthread_create.c:304
#12 0x00007ffff68c56dd in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7ffff4660700 (LWP 11025)):
#0  pthread_cond_wait@@GLIBC_2.3.2 ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007ffff722242f in g_cond_wait (cond=cond at entry=0x7ac330, 
    mutex=mutex at entry=0x7ac320)
    at /tmp/buildd/glib2.0-2.32.3/./glib/gthread-posix.c:746
#2  0x00007ffff4ebc745 in gst_queue_loop (pad=<optimized out>)
    at gstqueue.c:1140
#3  0x00007ffff7b77191 in gst_task_func (task=0x7b4000) at gsttask.c:316
#4  0x00007ffff72095f2 in g_thread_pool_thread_proxy (data=<optimized out>)
    at /tmp/buildd/glib2.0-2.32.3/./glib/gthreadpool.c:309
#5  0x00007ffff7208df5 in g_thread_proxy (data=0x7abb70)
    at /tmp/buildd/glib2.0-2.32.3/./glib/gthread.c:801
#6  0x00007ffff6b7ab50 in start_thread (arg=<optimized out>)
    at pthread_create.c:304
#7  0x00007ffff68c56dd in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()
---Type <return> to continue, or q <return> to quit---

Thread 1 (Thread 0x7ffff7fc9700 (LWP 11004)):
#0  0x00007ffff68baa93 in *__GI___poll (fds=<optimized out>, 
    nfds=<optimized out>, timeout=250) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007ffff71e64d4 in g_main_context_poll (n_fds=2, fds=0x7b3c70, 
    timeout=250, context=0x7b6600, priority=<optimized out>)
    at /tmp/buildd/glib2.0-2.32.3/./glib/gmain.c:3440
#2  g_main_context_iterate (context=0x7b6600, block=block at entry=1, 
    dispatch=dispatch at entry=1, 
    self=<error reading variable: Unhandled dwarf expression opcode 0xfa>)
    at /tmp/buildd/glib2.0-2.32.3/./glib/gmain.c:3141
#3  0x00007ffff71e6932 in g_main_loop_run (loop=0x7b3ac0)
    at /tmp/buildd/glib2.0-2.32.3/./glib/gmain.c:3340
#4  0x00007ffff7b244d5 in gst_bus_poll (bus=bus at entry=0x79b220, 
    events=events at entry=GST_MESSAGE_ANY, 
    timeout=timeout at entry=18446744073709551615) at gstbus.c:1090
#5  0x0000000000403f3f in event_loop (pipeline=0x7b0060, 
    blocking=blocking at entry=1, 
    target_state=target_state at entry=GST_STATE_PAUSED) at gst-launch.c:584
#6  0x0000000000403700 in main (argc=7, argv=0x7fffffffbd38)
    at gst-launch.c:1067

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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