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 309434 - playbin segfault on DVD chain transition if one stream never played data
playbin segfault on DVD chain transition if one stream never played data
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins
0.8.x
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-07-04 11:36 UTC by Jan Schmidt
Modified: 2006-01-16 10:11 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jan Schmidt 2005-07-04 11:36:41 UTC
Happens here playing my Spaceballs DVD. After the initial studio logo scene,
there's a pause, and then playbin crashes.

The problem seems to be that playbasebin is gst_pad_probe_remove on a ghost pad
that has realpad = 0x00, because the real pad was destroyed already (along with
its element).

  • #0 setup_substreams
    at gstplaybasebin.c line 1177
  • #1 probe_triggered
    at gstplaybasebin.c line 838
  • #2 gst_probe_perform
    at gstprobe.c line 112
  • #3 gst_probe_dispatcher_dispatch
    at gstprobe.c line 252
  • #4 gst_pad_push
    at gstpad.c line 3288
  • #5 get_group_schedule_function
    at gstoptimalscheduler.c line 1416
  • #6 schedule_group
    at gstoptimalscheduler.c line 1222
  • #7 gst_opt_scheduler_schedule_run_queue
    at gstoptimalscheduler.c line 1274
  • #8 gst_opt_scheduler_get_wrapper
    at gstoptimalscheduler.c line 1575
  • #9 gst_pad_pull
    at gstpad.c line 3393
  • #10 gst_image_mixer_loop
    at mixer.c line 863
  • #11 loop_group_schedule_function
    at gstoptimalscheduler.c line 1451
  • #12 schedule_group
    at gstoptimalscheduler.c line 1222
  • #13 gst_opt_scheduler_schedule_run_queue
    at gstoptimalscheduler.c line 1274
  • #14 schedule_chain
    at gstoptimalscheduler.c line 1331
  • #15 gst_opt_scheduler_iterate
    at gstoptimalscheduler.c line 2792
  • #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_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #20 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #21 g_signal_stop_emission
    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_static_private_free
    from /usr/lib/libglib-2.0.so.0
  • #27 start_thread
    from /lib/tls/libpthread.so.0
  • #28 clone
    from /lib/tls/libc.so.6

(gdb) print info->object
$4 = (GstObject *) 0x8480318

(gdb) print (*(GstGhostPad*)(info->object))
$5 = {pad = {object = {object = {g_type_instance = {g_class = 0x83f0860},
ref_count = 1, qdata = 0x8474510}, name = 0x839d730 "src28", lock = 0x8477970,
parent = 0x0, flags = 0,
      _gst_reserved = {0x0, 0x0, 0x0, 0x0}}, element_private = 0x0, padtemplate
= 0x0, _gst_reserved = {0x0, 0x0, 0x0, 0x0}}, realpad = 0x0, _gst_reserved =
{0x0, 0x0, 0x0, 0x0}}
Comment 1 Andy Wingo 2006-01-16 10:11:54 UTC
Closing as obsolete -- similar problems do not exist in HEAD.