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 302188 - totem crashes on a mp3 file
totem crashes on a mp3 file
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins
git master
Other Linux
: Normal normal
: 0.8.9
Assigned To: Maintainer alias for GStreamer component of Totem
Maintainer alias for GStreamer component of Totem
Depends on:
Blocks:
 
 
Reported: 2005-04-27 16:20 UTC by Bill Nottingham
Modified: 2005-05-09 10:23 UTC
See Also:
GNOME target: ---
GNOME version: 2.9/2.10


Attachments
fi (525 bytes, patch)
2005-05-09 10:23 UTC, Ronald Bultje
none Details | Review

Description Bill Nottingham 2005-04-27 16:20:04 UTC
Distribution/Version: Fedora Core 4 (devel)

Install stock totem from FC4 devel, without any extra gstreamer plugins

Get to a MP3 file in your playlist.

*BANG*

** Message: don't know how to handle application/x-id3

Program received signal SIGSEGV, Segmentation fault.

Thread NaN (LWP 14615)

  • #0 g_type_check_instance_cast
    from /usr/lib/libgobject-2.0.so.0
  • #1 gst_play_base_bin_get_type
    from /usr/lib/gstreamer-0.8/libgstplaybin.so
  • #2 gst_probe_perform
    from /usr/lib/libgstreamer-0.8.so.1
  • #3 gst_probe_dispatcher_dispatch
    from /usr/lib/libgstreamer-0.8.so.1
  • #4 gst_pad_push
    from /usr/lib/libgstreamer-0.8.so.1
  • #5 gst_type_find_element_get_type
    from /usr/lib/gstreamer-0.8/libgstelements.so
  • #6 gst_pad_call_chain_function
    from /usr/lib/libgstreamer-0.8.so.1
  • #7 gst_pad_push
    from /usr/lib/libgstreamer-0.8.so.1
  • #8 ??
    from /usr/lib/gstreamer-0.8/libgstoptscheduler.so
  • #9 ??
  • #10 ??
  • #11 ??
    from /usr/lib/gstreamer-0.8/libgstoptscheduler.so
  • #12 ??
    from /usr/lib/gstreamer-0.8/libgstoptscheduler.so
  • #13 ??
  • #14 ??

$ rpm -q totem gstreamer gstreamer-plugins
totem-1.0.1-1.1
gstreamer-0.8.9-4
gstreamer-plugins-0.8.8-5
Comment 1 Bill Nottingham 2005-04-27 16:24:36 UTC
Slightly better backtrace:

[Thread -1224483920 (LWP 14755) exited]
** Message: don't know how to handle application/x-id3

Program received signal SIGSEGV, Segmentation fault.

Thread NaN (LWP 14732)

  • #0 g_type_check_instance_cast
    from /usr/lib/libgobject-2.0.so.0
  • #1 mute_stream
    at gstplaybasebin.c line 765
  • #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 3251
  • #5 gst_type_find_element_chain
    at gsttypefindelement.c line 620
  • #6 gst_pad_call_chain_function
    at gstpad.c line 4496
  • #7 gst_pad_push
    at gstpad.c line 3298
  • #8 get_group_schedule_function
    at gstoptimalscheduler.c line 1416
  • #9 gst_opt_scheduler_schedule_run_queue
    at gstoptimalscheduler.c line 1222
  • #10 gst_opt_scheduler_iterate
    at gstoptimalscheduler.c line 1331
  • #11 gst_scheduler_iterate
    at gstscheduler.c line 744
  • #12 gst_bin_iterate_func
    at gstbin.c line 1246
  • #13 gst_marshal_BOOLEAN__VOID
    at gstmarshal.c line 509
  • #14 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_stop_emission
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #18 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #19 gst_bin_iterate
    at gstbin.c line 1306
  • #20 gst_thread_main_loop
    at gstthread.c line 675
  • #21 g_static_private_free
    from /usr/lib/libglib-2.0.so.0
  • #22 start_thread
    from /lib/libpthread.so.0
  • #23 clone
    from /lib/libc.so.6

Comment 2 Ronald Bultje 2005-04-30 09:33:14 UTC
Hi Bill,

does
http://cvs.freedesktop.org/gstreamer/gst-plugins/gst/playback/gstplaybasebin.c?r1=1.62.2.2&r2=1.62.2.3&makepatch=1&diff_format=u
fix it? I gave the same fix to Federico some time ago for their Novell release.
Comment 3 Bill Nottingham 2005-05-02 16:30:45 UTC
Yes, that solves, it. Thanks!
Comment 4 Ronald Bultje 2005-05-02 16:42:40 UTC
OK, closing...
Comment 5 Bill Nottingham 2005-05-06 17:33:10 UTC
Now, after I get the dialog, if I close the dialog about the unsupported file
type and hit play, sometimes it still crashes:

[New Thread -1228702800 (LWP 31523)]
** Message: don't know how to handle application/x-id3
[Thread -1228702800 (LWP 31523) exited]

(totem:31498): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)'
in cast to `GstStreamInfo'

(totem:31498): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)'
in cast to `GstStreamInfo'

(totem:31498): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)'
in cast to `GObject'

(totem:31498): GLib-GObject-CRITICAL **: g_object_set: assertion `G_IS_OBJECT
(object)' failed

Program received signal SIGSEGV, Segmentation fault.

Thread NaN (LWP 31509)

  • #0 gst_play_base_bin_get_type
    from /usr/lib/gstreamer-0.8/libgstplaybin.so
  • #1 gst_probe_perform
    at gstprobe.c line 112
  • #2 gst_probe_dispatcher_dispatch
    at gstprobe.c line 252
  • #3 gst_pad_push
    at gstpad.c line 3288
  • #4 push_buffer_store
    at gsttypefindelement.c line 433
  • #5 gst_type_find_element_chain
    at gsttypefindelement.c line 529
  • #6 gst_pad_call_chain_function
    at gstpad.c line 4539
  • #7 gst_pad_push
    at gstpad.c line 3335
  • #8 get_group_schedule_function
    at gstoptimalscheduler.c line 1416
  • #9 gst_opt_scheduler_schedule_run_queue
    at gstoptimalscheduler.c line 1222
  • #10 gst_opt_scheduler_iterate
    at gstoptimalscheduler.c line 1331
  • #11 gst_scheduler_iterate
    at gstscheduler.c line 744
  • #12 gst_bin_iterate_func
    at gstbin.c line 1281
  • #13 gst_marshal_BOOLEAN__VOID
    at gstmarshal.c line 509
  • #14 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_stop_emission
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #18 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #19 gst_bin_iterate
    at gstbin.c line 1341
  • #20 gst_thread_main_loop
    at gstthread.c line 675
  • #21 g_static_private_free
    from /usr/lib/libglib-2.0.so.0
  • #22 start_thread
    from /lib/libpthread.so.0
  • #23 clone
    from /lib/libc.so.6

Comment 6 Ronald Bultje 2005-05-08 08:12:47 UTC
So basically, you close the dialog and press play right after? That's really
wrong. ;).

OK, I've actually know about that being broken for a while already (e.g. no good
errors displayed when doing that, etc.), so, yes, this is probably caused by the
same. Must be another missing cleanup in playbin. :-/. I don't have a fix
available right away.
Comment 7 Ronald Bultje 2005-05-09 10:23:12 UTC
Created attachment 46230 [details] [review]
fi

This fixes the second crash, too.