After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 310528 - playbin deadlocks when switching text subtitle stream
playbin deadlocks when switching text subtitle stream
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins
0.8.10
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-07-15 19:12 UTC by Arwed v. Merkatz
Modified: 2006-01-12 19:21 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Arwed v. Merkatz 2005-07-15 19:12:41 UTC
Switching subtitle stream for matroska or ogm files (text subtitles) in playbin
leads to a deadlock. Reproducable with my own app and totem.

Backtrace:
Thread 10053:
  • #0 ??
  • #1 ??
  • #2 ??
  • #3 ??
  • #4 poll
    from /lib/libc.so.6
  • #5 g_main_context_iterate
    from /usr/lib/libglib-2.0.so.0
  • #6 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #7 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #8 main
    at main.c line 198
  • #0 ??
  • #1 ??
  • #2 ??
  • #3 ??
  • #4 pthread_cond_wait
    from /lib/libpthread.so.0
  • #5 gst_queue_chain
    at gstqueue.c line 727
  • #6 gst_pad_call_chain_function
    at gstpad.c line 4539
  • #7 gst_pad_push
    at gstpad.c line 3335
  • #8 gst_stream_selector_chain
    at gststreamselector.c line 290
  • #9 gst_pad_call_chain_function
    at gstpad.c line 4539
  • #10 gst_pad_push
    at gstpad.c line 3335
  • #11 gst_ffmpegdec_frame
    at gstffmpegdec.c line 828
  • #12 gst_ffmpegdec_chain
    at gstffmpegdec.c line 983
  • #13 gst_pad_call_chain_function
    at gstpad.c line 4539
  • #14 gst_pad_push
    at gstpad.c line 3335
  • #15 gst_matroska_demux_parse_cluster
    at matroska-demux.c line 2144
  • #16 gst_matroska_demux_loop
    at matroska-demux.c line 2505
  • #17 loop_group_schedule_function
    at gstoptimalscheduler.c line 1451
  • #18 gst_opt_scheduler_schedule_run_queue
    at gstoptimalscheduler.c line 1222
  • #19 gst_opt_scheduler_iterate
    at gstoptimalscheduler.c line 1331
  • #20 gst_scheduler_iterate
    at gstscheduler.c line 744
  • #21 gst_bin_iterate_func
    at gstbin.c line 1281
  • #22 gst_marshal_BOOLEAN__VOID
    at gstmarshal.c line 509
  • #23 g_type_class_meta_marshal
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #25 signal_emit_unlocked_R
    from /usr/lib/libgobject-2.0.so.0
  • #26 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #27 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #28 gst_bin_iterate
    at gstbin.c line 1341
  • #29 gst_thread_main_loop
    at gstthread.c line 675
  • #30 g_thread_create_proxy
    from /usr/lib/libglib-2.0.so.0
  • #31 __pthread_initialize_minimal
    from /lib/libpthread.so.0
  • #32 clone
    from /lib/libc.so.6
  • #0 ??
  • #1 ??
  • #2 ??
  • #3 ??
  • #4 pthread_cond_wait
    from /lib/libpthread.so.0
  • #5 gst_queue_get
    at gstqueue.c line 861
  • #6 gst_pad_call_get_function
    at gstpad.c line 4562
  • #7 get_group_schedule_function
    at gstoptimalscheduler.c line 1409
  • #8 gst_opt_scheduler_schedule_run_queue
    at gstoptimalscheduler.c line 1222
  • #9 gst_opt_scheduler_iterate
    at gstoptimalscheduler.c line 1331
  • #10 gst_scheduler_iterate
    at gstscheduler.c line 744
  • #11 gst_bin_iterate_func
    at gstbin.c line 1281
  • #12 gst_marshal_BOOLEAN__VOID
    at gstmarshal.c line 509
  • #13 g_type_class_meta_marshal
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #15 signal_emit_unlocked_R
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #18 gst_bin_iterate
    at gstbin.c line 1341
  • #19 gst_thread_main_loop
    at gstthread.c line 675
  • #20 g_thread_create_proxy
    from /usr/lib/libglib-2.0.so.0
  • #21 __pthread_initialize_minimal
    from /lib/libpthread.so.0
  • #22 clone
    from /lib/libc.so.6
  • #0 ??
  • #1 ??
  • #2 ??
  • #3 ??
  • #4 pthread_cond_wait
    from /lib/libpthread.so.0
  • #5 gst_queue_get
    at gstqueue.c line 861
  • #6 gst_pad_call_get_function
    at gstpad.c line 4562
  • #7 get_group_schedule_function
    at gstoptimalscheduler.c line 1409
  • #8 gst_opt_scheduler_schedule_run_queue
    at gstoptimalscheduler.c line 1222
  • #9 gst_opt_scheduler_get_wrapper
    at gstoptimalscheduler.c line 1575
  • #10 gst_pad_pull
    at gstpad.c line 3393
  • #11 gst_image_mixer_blend_subpicture
    at mixer.c line 640
  • #12 gst_image_mixer_loop
    at mixer.c line 906
  • #13 loop_group_schedule_function
    at gstoptimalscheduler.c line 1451
  • #14 gst_opt_scheduler_schedule_run_queue
    at gstoptimalscheduler.c line 1222
  • #15 gst_opt_scheduler_iterate
    at gstoptimalscheduler.c line 1331
  • #16 gst_scheduler_iterate
    at gstscheduler.c line 744
  • #17 gst_bin_iterate_func
    at gstbin.c line 1281
  • #18 gst_marshal_BOOLEAN__VOID
    at gstmarshal.c line 509
  • #19 g_type_class_meta_marshal
    from /usr/lib/libgobject-2.0.so.0
  • #20 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #21 signal_emit_unlocked_R
    from /usr/lib/libgobject-2.0.so.0
  • #22 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #24 gst_bin_iterate
    at gstbin.c line 1341
  • #25 gst_thread_main_loop
    at gstthread.c line 675
  • #26 g_thread_create_proxy
    from /usr/lib/libglib-2.0.so.0
  • #27 __pthread_initialize_minimal
    from /lib/libpthread.so.0
  • #28 clone
    from /lib/libc.so.6

Comment 1 Andy Wingo 2006-01-12 19:21:13 UTC
I'm going to go out on a limb here and claim this is unfixable. Deep dark threading and scheduling errors on 0.8 are not being looked at by anyone. Try with 0.10 and file new bugs :)