[gstreamer-bugs] [Bug 440463] New: gstbin unit test sometimes hangs waiting for ASYNC_DONE message

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Tue May 22 07:42:34 PDT 2007


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

  GStreamer | gstreamer (core) | Ver: HEAD CVS
           Summary: gstbin unit test sometimes hangs waiting for ASYNC_DONE
                    message
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: blocker
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: t.i.m at zen.co.uk
         QAContact: gstreamer-bugs at lists.sourceforge.net
                CC: thaytan at mad.scientist.com
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Running make gst/gstbin.forever I regularly get hangs in the gst/gstbin unit
test. This is not always the same test it seems. Sometimes it spins without
using cpu, sometimes it hangs using 100% cpu.

Here's a stack trace:

(gdb) thread apply all bt

Thread 2 (Thread 1082104720 (LWP 31846)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0x401ca5c6 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/i686/cmov/libpthread.so.0
#2  0x405bb57f in gst_base_sink_wait_preroll (sink=0x8082148) at
gstbasesink.c:1240
#3  0x405be59e in gst_base_sink_render_object (basesink=0x8082148,
pad=0x80800e0, obj=0x8081280) at gstbasesink.c:1334
#4  0x405bfd05 in gst_base_sink_queue_object_unlocked (basesink=0x8082148,
pad=0x80800e0, obj=0x8081280, prerollable=1) at gstbasesink.c:1874
#5  0x405c0366 in gst_base_sink_chain_unlocked (basesink=0x8082148,
pad=0x80800e0, buf=0x8081280) at gstbasesink.c:2152
#6  0x405c091e in gst_base_sink_chain (pad=0x80800e0, buf=0x8081280) at
gstbasesink.c:2186
#7  0x400710a9 in gst_pad_chain_unchecked (pad=0x80800e0, buffer=0x8081280) at
gstpad.c:3451
#8  0x4007178b in gst_pad_push (pad=0x8080020, buffer=0x8081280) at
gstpad.c:3617
#9  0x405c7642 in gst_base_src_loop (pad=0x8080020) at gstbasesrc.c:1770
#10 0x4008af66 in gst_task_func (task=0x8080c20, tclass=0x8080908) at
gsttask.c:192
#11 0x401794d8 in g_thread_pool_thread_proxy (data=0x8080998) at
gthreadpool.c:265
#12 0x40177b7f in g_thread_create_proxy (data=0x8080a10) at gthread.c:591
#13 0x401c631b in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#14 0x402a757e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 1078406624 (LWP 31845)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0x4029d893 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0x4015ce03 in g_main_context_iterate (context=0x8070858, block=1,
dispatch=1, self=0x80541b8) at gmain.c:2979
#3  0x4015d179 in IA__g_main_loop_run (loop=0x807ed48) at gmain.c:2881
#4  0x4004f429 in gst_bus_poll (bus=0x806f860, events=GST_MESSAGE_ASYNC_DONE,
timeout=-1) at gstbus.c:935
#5  0x0804a009 in pop_async_done (bus=0x806f860) at gst/gstbin.c:31
#6  0x0804af15 in test_message_state_changed_children (__i__=0) at
gst/gstbin.c:309
#7  0x40025dc7 in srunner_run_all () from
/home/tpm/uninstalled/head/gstreamer/libs/gst/check/.libs/libgstcheck-0.10.so.0
#8  0x400219fa in gst_check_run_suite (suite=0x8054008, name=0x805050a
"gst_bin", fname=0x80504fd "gst/gstbin.c") at gstcheck.c:325
#9  0x080495a9 in main (argc=1, argv=0xbf8fe8b4) at gst/gstbin.c:858
#0  0xffffe410 in __kernel_vsyscall ()


Here's another one:

(gdb) thread apply all bt

Thread 2 (Thread 1082104720 (LWP 12489)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0x401ca5c6 in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib/tls/i686/cmov/libpthread.so.0
#2  0x4008b091 in gst_task_func (task=0x8084018, tclass=0x8080ee0) at
gsttask.c:180
#3  0x401794d8 in g_thread_pool_thread_proxy (data=0x8080f70) at
gthreadpool.c:265
#4  0x40177b7f in g_thread_create_proxy (data=0x8084838) at gthread.c:591
#5  0x401c631b in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#6  0x402a757e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 1078406624 (LWP 12488)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0x4029d893 in poll () from /lib/tls/i686/cmov/libc.so.6
#2  0x4015ce03 in g_main_context_iterate (context=0x8071e10, block=1,
dispatch=1, self=0x80541b8) at gmain.c:2979
#3  0x4015d179 in IA__g_main_loop_run (loop=0x80855f0) at gmain.c:2881
#4  0x4004f429 in gst_bus_poll (bus=0x806f860, events=GST_MESSAGE_ASYNC_DONE,
timeout=-1) at gstbus.c:935
#5  0x0804a009 in pop_async_done (bus=0x806f860) at gst/gstbin.c:31
#6  0x0804e218 in test_children_state_change_order_flagged_sink (__i__=0) at
gst/gstbin.c:590
#7  0x40025dc7 in srunner_run_all () from
/home/tpm/uninstalled/head/gstreamer/libs/gst/check/.libs/libgstcheck-0.10.so.0
#8  0x400219fa in gst_check_run_suite (suite=0x8054008, name=0x805050a
"gst_bin", fname=0x80504fd "gst/gstbin.c") at gstcheck.c:325
#9  0x080495a9 in main (argc=1, argv=0xbf9f31b4) at gst/gstbin.c:858
#0  0xffffe410 in __kernel_vsyscall ()


-- 
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=440463.




More information about the Gstreamer-bugs mailing list