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 733165 - rhythmbox crashes with SIGSEGV in gst_pad_link_full
rhythmbox crashes with SIGSEGV in gst_pad_link_full
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: dont know
1.2.4
Other Linux
: Normal normal
: 1.4.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 734088 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2014-07-14 15:40 UTC by gnome.vrb
Modified: 2014-08-11 06:56 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Complete trace for the crash with debug symbols installed (29.47 KB, text/plain)
2014-07-14 16:11 UTC, gnome.vrb
Details
gstreamer installed package list (6.88 KB, application/x-info)
2014-07-14 16:15 UTC, gnome.vrb
Details
gstreamer installed package list (6.88 KB, text/plain)
2014-07-14 16:18 UTC, gnome.vrb
Details

Description gnome.vrb 2014-07-14 15:40:38 UTC
This is on Debian sid amd64.

Rhythmbox was playing a song. And when the song ended, rhythmbox crashed. Backtrace for the corresponding thread is below:

Thread 1 (Thread 0x7f340fff7700 (LWP 4751))

  • #0 g_type_check_instance_is_a
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #1 gst_pad_link_full
    at gstpad.c line 2247
  • #2 gst_pad_link
    at gstpad.c line 2378
  • #3 no_more_pads_cb
    at gstplaybin2.c line 3408
  • #4 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #5 g_signal_emit_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #6 g_signal_emit
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #7 ??
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #8 g_signal_emit_valist
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #9 g_signal_emit
    from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
  • #10 gst_decode_bin_expose
    at gstdecodebin2.c line 4004
  • #11 source_pad_blocked_cb
    at gstdecodebin2.c line 4170
  • #12 probe_hook_marshal
    at gstpad.c line 3099
  • #13 g_hook_list_marshal
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #14 do_probe_callbacks
    at gstpad.c line 3193
  • #15 gst_pad_push_event_unchecked
    at gstpad.c line 4698
  • #16 push_sticky
    at gstpad.c line 3370
  • #17 events_foreach
    at gstpad.c line 530
  • #18 check_sticky
    at gstpad.c line 3426
  • #19 gst_pad_push_event
    at gstpad.c line 4849
  • #20 gst_pad_set_caps
    at /usr/include/gstreamer-1.0/gst/gstcompat.h line 55
  • #21 gst_audio_decoder_negotiate_default
    at gstaudiodecoder.c line 666
  • #22 gst_audio_decoder_negotiate_unlocked
    at gstaudiodecoder.c line 725
  • #23 check_pending_reconfigure
    at gstaudiodecoder.c line 1079
  • #24 gst_audio_decoder_finish_frame
    at gstaudiodecoder.c line 1143
  • #25 gst_mad_handle_frame
    at gstmad.c line 478
  • #26 gst_audio_decoder_push_buffers
    at gstaudiodecoder.c line 1406
  • #27 gst_audio_decoder_chain_forward
    at gstaudiodecoder.c line 1509
  • #28 gst_audio_decoder_chain
    at gstaudiodecoder.c line 1786
  • #29 gst_pad_chain_data_unchecked
    at gstpad.c line 3760
  • #30 gst_pad_push_data
    at gstpad.c line 3990
  • #31 gst_pad_push
    at gstpad.c line 4093
  • #32 gst_base_parse_push_frame
    at gstbaseparse.c line 2300
  • #33 gst_base_parse_handle_and_push_frame
    at gstbaseparse.c line 2132
  • #34 gst_base_parse_finish_frame
    at gstbaseparse.c line 2454
  • #35 gst_mpeg_audio_parse_handle_frame
    at gstmpegaudioparse.c line 768
  • #36 gst_base_parse_handle_buffer
    at gstbaseparse.c line 1959
  • #37 gst_base_parse_scan_frame
    at gstbaseparse.c line 3102
  • #38 gst_base_parse_loop
    at gstbaseparse.c line 3175
  • #39 gst_task_func
    at gsttask.c line 316
  • #40 ??
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #41 ??
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #42 start_thread
    at pthread_create.c line 309
  • #43 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 111

Comment 1 gnome.vrb 2014-07-14 16:11:56 UTC
Created attachment 280660 [details]
Complete trace for the crash with debug symbols installed
Comment 2 gnome.vrb 2014-07-14 16:15:38 UTC
Created attachment 280661 [details]
gstreamer installed package list
Comment 3 gnome.vrb 2014-07-14 16:18:29 UTC
Created attachment 280662 [details]
gstreamer installed package list

dpkg -l | grep gstream > /tmp/gstreamer.packagelist.txt
Comment 4 gnome.vrb 2014-07-14 16:26:46 UTC
Pasting the entire trace as per https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces

[New LWP 4751]
[New LWP 4237]
[New LWP 4236]
[New LWP 4246]
[New LWP 4635]
[New LWP 4235]
[New LWP 4634]
[New LWP 4250]
[New LWP 4655]
[New LWP 4630]
[New LWP 4750]
[New LWP 4636]
[New LWP 4637]
[New LWP 4749]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `rhythmbox'.
Program terminated with signal SIGSEGV, Segmentation fault.

Thread 1 (Thread 0x7f340fff7700 (LWP 4751))

  • #0 g_type_check_instance_is_a
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gtype.c line 3969
  • #1 gst_pad_link_full
    at gstpad.c line 2247
  • #2 gst_pad_link
    at gstpad.c line 2378
  • #3 no_more_pads_cb
    at gstplaybin2.c line 3408
  • #4 _g_closure_invoke_va
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gclosure.c line 831
  • #5 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3215
  • #6 g_signal_emit
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3363
  • #7 _g_closure_invoke_va
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gclosure.c line 831
  • #8 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3215
  • #9 g_signal_emit
    at /tmp/buildd/glib2.0-2.40.0/./gobject/gsignal.c line 3363
  • #10 gst_element_no_more_pads
    at gstelement.c line 847
  • #11 gst_decode_bin_expose
    at gstdecodebin2.c line 4004
  • #12 source_pad_blocked_cb
    at gstdecodebin2.c line 4170
  • #13 probe_hook_marshal
    at gstpad.c line 3099
  • #14 g_hook_list_marshal
    at /tmp/buildd/glib2.0-2.40.0/./glib/ghook.c line 672
  • #15 do_probe_callbacks
    at gstpad.c line 3193
  • #16 gst_pad_push_event_unchecked
    at gstpad.c line 4698
  • #17 push_sticky
    at gstpad.c line 3370
  • #18 events_foreach
    at gstpad.c line 530
  • #19 check_sticky
    at gstpad.c line 3426
  • #20 gst_pad_push_event
    at gstpad.c line 4849
  • #21 gst_pad_set_caps
    at /usr/include/gstreamer-1.0/gst/gstcompat.h line 55
  • #22 gst_audio_decoder_negotiate_default
    at gstaudiodecoder.c line 666
  • #23 gst_audio_decoder_negotiate_unlocked
    at gstaudiodecoder.c line 725
  • #24 check_pending_reconfigure
    at gstaudiodecoder.c line 1079
  • #25 gst_audio_decoder_finish_frame
    at gstaudiodecoder.c line 1143
  • #26 gst_mad_handle_frame
    at gstmad.c line 478
  • #27 gst_audio_decoder_push_buffers
    at gstaudiodecoder.c line 1406
  • #28 gst_audio_decoder_chain_forward
    at gstaudiodecoder.c line 1509
  • #29 gst_audio_decoder_chain
    at gstaudiodecoder.c line 1786
  • #30 gst_pad_chain_data_unchecked
    at gstpad.c line 3760
  • #31 gst_pad_push_data
    at gstpad.c line 3990
  • #32 gst_pad_push
    at gstpad.c line 4093
  • #33 gst_base_parse_push_frame
    at gstbaseparse.c line 2300
  • #34 gst_base_parse_handle_and_push_frame
    at gstbaseparse.c line 2132
  • #35 gst_base_parse_finish_frame
    at gstbaseparse.c line 2454
  • #36 gst_mpeg_audio_parse_handle_frame
    at gstmpegaudioparse.c line 768
  • #37 gst_base_parse_handle_buffer
    at gstbaseparse.c line 1959
  • #38 gst_base_parse_scan_frame
    at gstbaseparse.c line 3102
  • #39 gst_base_parse_loop
    at gstbaseparse.c line 3175
  • #40 gst_task_func
    at gsttask.c line 316
  • #41 g_thread_pool_thread_proxy
    at /tmp/buildd/glib2.0-2.40.0/./glib/gthreadpool.c line 307
  • #42 g_thread_proxy
    at /tmp/buildd/glib2.0-2.40.0/./glib/gthread.c line 764
  • #43 start_thread
    at pthread_create.c line 309
  • #44 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 111

Comment 5 Sebastian Dröge (slomo) 2014-08-01 12:05:33 UTC
*** Bug 734088 has been marked as a duplicate of this bug. ***
Comment 6 Sebastian Dröge (slomo) 2014-08-01 13:07:07 UTC
This probably fixes it, can someone confirm?

http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=a0a9fd004b28b00472a393cebda534d3a8af5dc8

commit a0a9fd004b28b00472a393cebda534d3a8af5dc8
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Fri Aug 1 15:00:46 2014 +0200

    playbin: Keep a reference to the playsink sinkpads
    
    Otherwise playsink might get shut down without us noticing
    that our pad references are gone now.
    
    Probably fixes https://bugzilla.gnome.org/show_bug.cgi?id=733165