[Bug 670321] New: playbin2 hangs and crashes in notify_source_cb() when controlled by rhythmbox
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Fri Feb 17 12:52:00 PST 2012
https://bugzilla.gnome.org/show_bug.cgi?id=670321
GStreamer | gst-plugins-base | 0.10.x
Summary: playbin2 hangs and crashes in notify_source_cb() when
controlled by rhythmbox
Classification: Platform
Product: GStreamer
Version: 0.10.x
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-base
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: thomas at m3y3r.de
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created an attachment (id=207904)
--> (https://bugzilla.gnome.org/attachment.cgi?id=207904)
debugger session of the crash
Hi,
this crash happens very often to me in Fedora 16. See also fedora's bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=702778.
I just did a fresh compile of gstreamer and gst-plugins-base from the git tree
and checked out the resp. 0.10 branch on both.
here is the result of the crash
Stack trace is:
Thread [1] 24264 [core: 0] (Suspended : Signal : SIGINT:Interrupt)
__kernel_vsyscall() at 0xf7785430
raise() at 0x43ed5b4e
rb_debug_stop_in_debugger() at rb-debug.c:282 0x41554149
log_handler() at rb-debug.c:299 0x415541b5
g_logv() at gmessages.c:545 0x4753726f
g_log() at gmessages.c:591 0x475375e4
g_return_if_fail_warning() at gmessages.c:600 0x4753784e
g_object_get() at gobject.c:1.881 0x47332bd0
notify_source_cb() at gstplaybin2.c:3.437 0xeb3658f1
g_cclosure_marshal_VOID__PARAM() at gmarshal.c:539 0x4732c5cb
g_closure_invoke() at gclosure.c:774 0x4732a645
signal_emit_unlocked_R() at gsignal.c:3.272 0x4733d860
g_signal_emit_valist() at gsignal.c:3.003 0x473462ff
g_signal_emit() at gsignal.c:3.060 0x47346464
g_object_dispatch_properties_changed() at gobject.c:925 0x4732d837
gst_object_dispatch_properties_changed() at gstobject.c:530 0xf75a4f92
g_object_notify_dispatcher() at gobject.c:331 0x4732ccb0
g_object_notify_queue_thaw() at gobjectnotifyqueue.c:132 0x4732fa62
g_object_notify_by_spec_internal() at gobject.c:983 0x4732fa62
g_object_notify() at gobject.c:1.024 0x4732fa62
setup_source() at gsturidecodebin.c:2.015 0xea29fc4a
gst_uri_decode_bin_change_state() at gsturidecodebin.c:2.493 0xea29fc4a
gst_element_change_state() at gstelement.c:2.761 0xf75c2a9b
gst_element_set_state_func() at gstelement.c:2.717 0xf75c34c5
gst_element_set_state() at gstelement.c:2.618 0xf75c27d1
gst_bin_element_set_state() at gstbin.c:2.209 0xf75adc0e
gst_bin_change_state_func() at gstbin.c:2.518 0xf75adc0e
gst_pipeline_change_state() at gstpipeline.c:482 0xf75e6364
gst_play_bin_change_state() at gstplaybin2.c:3.936 0xeb367d99
gst_element_change_state() at gstelement.c:2.761 0xf75c2a9b
gst_element_set_state_func() at gstelement.c:2.717 0xf75c34c5
gst_element_set_state() at gstelement.c:2.618 0xf75c27d1
start_state_change() at rb-player-gst.c:382 0x41552092
state_change_finished() at rb-player-gst.c:411 0x4155225b
impl_play() at rb-player-gst.c:849 0x41552cbd
rb_player_play() at rb-player.c:434 0x415433bc
rb_shell_player_open_location() at rb-shell-player.c:1.654 0x414c42cc
rb_shell_player_set_playing_entry() at rb-shell-player.c:1.769 0x414c5fa4
rb_shell_player_property_row_activated_cb() at rb-shell-player.c:2.778
0x414c9297
g_cclosure_marshal_VOID__STRING() at gmarshal.c:504 0x4732c50b
g_closure_invoke() at gclosure.c:774 0x4732a645
signal_emit_unlocked_R() at gsignal.c:3.272 0x4733d860
g_signal_emit_valist() at gsignal.c:3.003 0x473462ff
g_signal_emit() at gsignal.c:3.060 0x47346464
rb_property_view_row_activated_cb() at rb-property-view.c:737 0x415094a5
_gtk_marshal_VOID__BOXED_OBJECT() at gtkmarshalers.c:1.386 0x4115c1b2
g_closure_invoke() at gclosure.c:774 0x4732a645
signal_emit_unlocked_R() at gsignal.c:3.272 0x4733d860
g_signal_emit_valist() at gsignal.c:3.003 0x473462ff
g_signal_emit() at gsignal.c:3.060 0x47346464
gtk_tree_view_row_activated() at gtktreeview.c:12.464 0x41289c4a
gtk_tree_view_button_press() at gtktreeview.c:3.166 0x4128f68c
_gtk_marshal_BOOLEAN__BOXED() at gtkmarshalers.c:85 0x4115a3ba
g_type_class_meta_marshal() at gclosure.c:885 0x4732903e
g_closure_invoke() at gclosure.c:774 0x4732a645
signal_emit_unlocked_R() at gsignal.c:3.310 0x4733d6a8
g_signal_emit_valist() at gsignal.c:3.013 0x47346118
g_signal_emit() at gsignal.c:3.060 0x47346464
gtk_widget_event_internal() at gtkwidget.c:6.132 0x412aac53
gtk_propagate_event() at gtkmain.c:2.614 0x41159a62
rb_tree_dnd_button_release_event_cb() at rb-tree-dnd.c:383 0x4155edfe
_gtk_marshal_BOOLEAN__BOXED() at gtkmarshalers.c:85 0x4115a3ba
g_closure_invoke() at gclosure.c:774 0x4732a645
signal_emit_unlocked_R() at gsignal.c:3.272 0x4733d860
g_signal_emit_valist() at gsignal.c:3.013 0x47346118
g_signal_emit() at gsignal.c:3.060 0x47346464
gtk_widget_event_internal() at gtkwidget.c:6.132 0x412aac53
gtk_propagate_event() at gtkmain.c:2.614 0x41159a62
gtk_main_do_event() at gtkmain.c:1.889 0x41159ec8
_gdk_event_emit() at gdkevents.c:71 0x4faadf9d
gdk_event_source_dispatch() at gdkeventsource.c:360 0x4fad64d9
g_main_dispatch() at gmain.c:2.441 0x4752e62f
g_main_context_dispatch() at gmain.c:3.011 0x4752e62f
g_main_context_iterate() at gmain.c:3.089 0x4752ed70
g_main_loop_run() at gmain.c:3.297 0x4752f3a7
gtk_main() at gtkmain.c:1.362 0x41159155
main() at main.c:324 0x804a2e4
log_handler(): says
--------------------
message="g_object_get: assertion `G_IS_OBJECT (object)' failed"
notify_source_cb():
--------------------
source GstElement * 0x0 (I changed the source to be initialized with
NULL)
*group GstSourceGroup {...}
playbin GstPlayBin * 0x9701cf8 [GstPlayBin2]
lock GMutex * 0x9166cb0
valid gboolean 0
active gboolean 0
uri gchar * 0x9c657e8
"file:///home/thomas/Musik/Tom%20Waits/Bad%20As%20Me%20(Deluxe%20Version)/02%20Raised%20Right%20Men.mp3"
suburi gchar * 0x0
streaminfo GValueArray * 0x0
source GstElement * 0x0
video_channels GPtrArray * 0xeace07c8
audio_channels GPtrArray * 0xeace0780
text_channels GPtrArray * 0xeace0798
audio_sink GstElement * 0x0
video_sink GstElement * 0x0
uridecodebin GstElement * 0x0 -> Is NULL!! Bad!
suburidecodebin GstElement * 0x0
pending gint 0
sub_pending gboolean 0
pad_added_id gulong 0
pad_removed_id gulong 0
no_more_pads_id gulong 0
notify_source_id gulong 0
drained_id gulong 0
autoplug_factories_id gulong 0
autoplug_select_id gulong 0
autoplug_continue_id gulong 0
sub_pad_added_id gulong 0
sub_pad_removed_id gulong 0
sub_no_more_pads_id gulong 0
sub_autoplug_continue_id gulong 0
stream_changed_pending_lock GMutex * 0x8f5ebb0
stream_changed_pending GList * {...}
selector GstSourceSelect [3] 0x9701e78
*(group->playbin) GstPlayBin {...}
parent GstPipeline {...}
lock GStaticRecMutex {...}
groups GstSourceGroup [2] 0x9701dfc
groups[0] GstSourceGroup {...}
playbin GstPlayBin * 0x9701cf8 [GstPlayBin2]
lock GMutex * 0x9166cb0
valid gboolean 0
active gboolean 0
uri gchar * 0x9c657e8
"file:///home/thomas/Musik/Tom%20Waits/Bad%20As%20Me%20(Deluxe%20Version)/02%20Raised%20Right%20Men.mp3"
suburi gchar * 0x0
streaminfo GValueArray * 0x0
source GstElement * 0x0
video_channels GPtrArray * 0xeace07c8
audio_channels GPtrArray * 0xeace0780
text_channels GPtrArray * 0xeace0798
audio_sink GstElement * 0x0
video_sink GstElement * 0x0
uridecodebin GstElement * 0x0
suburidecodebin GstElement * 0x0
pending gint 0
sub_pending gboolean 0
pad_added_id gulong 0
pad_removed_id gulong 0
no_more_pads_id gulong 0
notify_source_id gulong 0
drained_id gulong 0
autoplug_factories_id gulong 0
autoplug_select_id gulong 0
autoplug_continue_id gulong 0
sub_pad_added_id gulong 0
sub_pad_removed_id gulong 0
sub_no_more_pads_id gulong 0
sub_autoplug_continue_id gulong 0
stream_changed_pending_lock GMutex * 0x8f5ebb0
stream_changed_pending GList * {...}
selector GstSourceSelect [3] 0x9701e78
groups[1] GstSourceGroup {...}
playbin GstPlayBin * 0x9701cf8 [GstPlayBin2]
lock GMutex * 0x91f80e0
valid gboolean 1
active gboolean 1
uri gchar * 0x9a423a8
"file:///home/thomas/Musik/Eminem/Relapse/11%20Paul.mp3"
suburi gchar * 0x0
streaminfo GValueArray * 0x0
source GstElement * 0x0
video_channels GPtrArray * 0xeace04c0
audio_channels GPtrArray * 0xeace0708
text_channels GPtrArray * 0xeace0490
audio_sink GstElement * 0x9714838 [GstBin]
video_sink GstElement * 0x96a4830 [GstFakeSink]
uridecodebin GstElement * 0x8634950 [GstURIDecodeBin]
suburidecodebin GstElement * 0x0
pending gint 0
sub_pending gboolean 0
pad_added_id gulong 10376
pad_removed_id gulong 10377
no_more_pads_id gulong 10378
notify_source_id gulong 10379
drained_id gulong 10380
autoplug_factories_id gulong 10381
autoplug_select_id gulong 10382
autoplug_continue_id gulong 10383
sub_pad_added_id gulong 0
sub_pad_removed_id gulong 0
sub_no_more_pads_id gulong 0
sub_autoplug_continue_id gulong 0
stream_changed_pending_lock GMutex * 0x96fbc58
stream_changed_pending GList * {...}
selector GstSourceSelect [3] 0x9701fb4
curr_group GstSourceGroup * 0x9701f38
next_group GstSourceGroup * 0x9701dfc
connection_speed guint 0
current_video gint -1
current_audio gint 0
current_text gint -1
buffer_duration guint64 18446744073709551615
buffer_size guint 4294967295
playsink GstPlaySink * 0x96a2020 [GstPlaySink]
source GstElement * 0x9872518 [GstFileSrc]
dyn_lock GMutex * 0x8cf6ab8
shutdown gint 0
elements_lock GMutex * 0x92bc2d8
elements_cookie guint32 1013
elements GList * {...}
have_selector gboolean 1
audio_sink GstElement * 0x9714838 [GstBin]
video_sink GstElement * 0x96a4830 [GstFakeSink]
text_sink GstElement * 0x0
duration struct {...} [5] 0x97020c4
ring_buffer_max_size guint64 0
*uridecodebin struct _GstURIDecodeBin {...}
parent_instance GstBin {...}
lock GMutex * 0x96e39e0
factories_lock GMutex * 0x90124a8
factories_cookie guint32 0
factories GList * {...}
uri gchar * 0x9a3e020
"file:///home/thomas/Musik/Walter%20Moers%20-%20Die%2013%20%C2%BD%20Leben%20des%20K%C3%A4pt%C2%B4n%20Blaub%C3%A4r%20(H%C3%B6rbuch)/CD14/02%20-%2012.%20Mein%20Leben%20in%20Atlantis%20-%20Zweifel.mp3"
connection_speed guint 0
caps GstCaps * 0xea2a8b40
encoding gchar * 0x0
is_stream gboolean 0
is_download gboolean 0
need_queue gboolean 0
buffer_duration guint64 18446744073709551615
buffer_size guint 4294967295
download gboolean 0
use_buffering gboolean 0
source GstElement * 0x9872720 [GstFileSrc] -> Is filled correctly
queue GstElement * 0x0
typefind GstElement * 0x0
have_type_id guint 0
decodebins GSList * {...}
pending_decodebins GSList * {...}
streams GHashTable * {...}
numpads gint 6
src_np_sig_id guint 0
src_nmp_sig_id guint 0
pending gint 0
async_pending gboolean 0
expose_allstreams gboolean 1
ring_buffer_max_size guint64 0
somehow the group->uridecodebin gets out of sync with the uridecodebin object?!
*(uridecodebin->source) -> gdb don't want to map this for some unknown
reason...
-> but this works:
*(0x9872720) struct _GstFileSrc {...}
element GstBaseSrc {...}
pagesize guint 4096
filename gchar * 0x995c468 "/home/thomas/Musik/Walter Moers - Die 13
\302\275 Leben des K\303\244pt\302\264n Blaub\303\244r (H\303\266rbuch)/CD14/02
- 12. Mein Leben in Atlantis - Zweifel.mp3"
uri gchar * 0x9a5ff20
"file:///home/thomas/Musik/Walter%20Moers%20-%20Die%2013%20%C2%BD%20Leben%20des%20K%C3%A4pt%C2%B4n%20Blaub%C3%A4r%20(H%C3%B6rbuch)/CD14/02%20-%2012.%20Mein%20Leben%20in%20Atlantis%20-%20Zweifel.mp3"
fd gint 0
read_position guint64 0
touch gboolean 1
using_mmap gboolean 0
sequential gboolean 0
seekable gboolean 0
is_regular gboolean 0
mapbuf GstBuffer * 0x0
mapsize size_t 4194304
use_mmap gboolean 0
the crash seems to happen excatly two seconds before switching to a new song.
the rhyhtmbox player hangs at two seconds before a songs finishes. when you
then press next in rhythmbox this crash happens.
I want this bug to get fixed as it makes rhythmbox nearly unusable. I'm not
sure if this is a playbin2 or rhythmbox bug.
see also the attachment.
--
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