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 532866 - gstreamer-properties crashed with SIGSEGV in g_hash_table_lookup()
gstreamer-properties crashed with SIGSEGV in g_hash_table_lookup()
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.7
Other Linux
: Normal critical
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-05-13 01:17 UTC by Pedro Villavicencio
Modified: 2010-03-16 19:18 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22



Description Pedro Villavicencio 2008-05-13 01:17:19 UTC
this bug has been filed here:

https://bugs.edge.launchpad.net/ubuntu/+source/gnome-media/+bug/199577

"gstreamer-properties crashes when testing the video device:

$ gstreamer-properties
gstreamer-properties-Message: Skipping unavailable plugin 'artsdsink'
gstreamer-properties-Message: Skipping unavailable plugin 'sdlvideosink'
gstreamer-properties-Message: Skipping unavailable plugin 'v4lmjpegsrc'
gstreamer-properties-Message: Skipping unavailable plugin 'qcamsrc'
gstreamer-properties-Message: Skipping unavailable plugin 'esdmon'
Segmentation fault (core dumped)"

".

Thread 1 (process 9968)

  • #0 IA__g_hash_table_lookup
    at /build/buildd/glib2.0-2.15.6/glib/ghash.c line 137
  • #1 IA__g_quark_from_string
    at /build/buildd/glib2.0-2.15.6/glib/gdataset.c line 625
  • #2 gst_structure_empty_new
    at gststructure.c line 184
  • #3 gst_structure_new_valist
    at gststructure.c line 239
  • #4 gst_structure_new
    at gststructure.c line 210
  • #5 gst_message_new_state_changed
    at gstmessage.c line 481
  • #6 gst_element_continue_state
    at gstelement.c line 2147
  • #7 gst_element_change_state
    at gstelement.c line 2447
  • #8 gst_element_set_state_func
    at gstelement.c line 2360
  • #9 gst_auto_video_sink_change_state
    at gstautovideosink.c line 295
  • #10 gst_element_change_state
    at gstelement.c line 2410
  • #11 gst_element_set_state_func
    at gstelement.c line 2360
  • #12 gst_bin_change_state_func
    at gstbin.c line 1936
  • #13 gst_pipeline_change_state
    at gstpipeline.c line 466
  • #14 gst_element_change_state
    at gstelement.c line 2410
  • #15 gst_element_set_state_func
    at gstelement.c line 2360
  • #16 user_test_pipeline
    at pipeline-tests.c line 230
  • #17 test_button_clicked
    at gstreamer-properties.c line 116
  • #18 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.15.6/gobject/gclosure.c line 490
  • #19 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2440
  • #20 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2199
  • #21 IA__g_signal_emit
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2243
  • #22 gtk_real_button_released
    at /build/buildd/gtk+2.0-2.12.8/gtk/gtkbutton.c line 1484
  • #23 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.15.6/gobject/gclosure.c line 490
  • #24 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2370
  • #25 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2199
  • #26 IA__g_signal_emit
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2243
  • #27 gtk_button_button_release
    at /build/buildd/gtk+2.0-2.12.8/gtk/gtkbutton.c line 1377
  • #28 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+2.0-2.12.8/gtk/gtkmarshalers.c line 84
  • #29 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.15.6/gobject/gclosure.c line 490
  • #30 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2478
  • #31 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2209
  • #32 IA__g_signal_emit
    at /build/buildd/glib2.0-2.15.6/gobject/gsignal.c line 2243
  • #33 gtk_widget_event_internal
    at /build/buildd/gtk+2.0-2.12.8/gtk/gtkwidget.c line 4678
  • #34 IA__gtk_propagate_event
    at /build/buildd/gtk+2.0-2.12.8/gtk/gtkmain.c line 2336
  • #35 IA__gtk_main_do_event
    at /build/buildd/gtk+2.0-2.12.8/gtk/gtkmain.c line 1556
  • #36 gdk_event_dispatch
    at /build/buildd/gtk+2.0-2.12.8/gdk/x11/gdkevents-x11.c line 2351
  • #37 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.15.6/glib/gmain.c line 2065
  • #38 g_main_context_iterate
    at /build/buildd/glib2.0-2.15.6/glib/gmain.c line 2698
  • #39 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.15.6/glib/gmain.c line 2906
  • #40 IA__gtk_main
    at /build/buildd/gtk+2.0-2.12.8/gtk/gtkmain.c line 1163
  • #41 main
    at gstreamer-properties.c line 664
  • #42 __libc_start_main
    from /lib/libc.so.6
  • #43 _start

Comment 1 Marc-Andre Lureau 2008-06-02 17:42:35 UTC
gstreamer? I don't know..
Comment 2 Ryan Showalter 2008-06-03 07:48:05 UTC
I'm experiencing very similar behavior to this bug.  gstreamer-properties crashes on my system (Ubuntu 8.04 amd64) when clicking the "Test" button for input video.  The program will also seg fault if the "Plugin:" field for input video is selected.  

The relevant debugging information from gdb is as follows:

gstreamer-properties-Message: Skipping unavailable plugin 'esdmon'
[New Thread 0x41006950 (LWP 9314)]
[Thread 0x41006950 (LWP 9314) exited]
(no debugging symbols found)
(no debugging symbols found)
[New Thread 0x41006950 (LWP 9315)]
[Thread 0x41006950 (LWP 9315) exited]
[New Thread 0x41006950 (LWP 9316)]
[Thread 0x41006950 (LWP 9316) exited]

*PRESS "TEST" BUTTON*

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f0bbaebb7a0 (LWP 9301)]
0x00007f0bb77da8cd in gst_plugin_feature_type_name_filter () from /usr/lib/libgstreamer-0.10.so.0
(gdb) Quit

Comment 3 Marc-Andre Lureau 2008-09-01 17:48:07 UTC
Looks like a v4lsrc bug again
Comment 4 Wim Taymans 2009-12-21 11:21:17 UTC
This bug is going to require someone with a crashing system to provide more info. 

We need a full stack trace of all threads on a gstreamer install with full debug symbols enabled.

Can someone of the original reports provide this info?
Comment 5 Pedro Villavicencio 2009-12-21 14:11:34 UTC
I'm asking on the downstream report. hope to have news soon. Thanks Wim.
Comment 6 Edward Hervey 2010-03-05 07:52:08 UTC
Pedro, any updates on this ?
Comment 7 Pedro Villavicencio 2010-03-16 18:51:06 UTC
no news so far, no reporters reply to my last comment on the ubuntu report... feel free to close it if the bug is no use for you folks. Thanks in advance!.
Comment 8 Tim-Philipp Müller 2010-03-16 19:18:19 UTC
Not quite sure what to do this with the information avilable. This *might* be fixed by this commit, for what it's worth:

commit 8fe63000de31bb2bcf346d59230dea06117997cd
Author: Benjamin Otte <otte@redhat.com>
Date:   Fri Mar 12 16:42:47 2010 +0100

    plugins: Do not ever unload a plugin after calling into it
    
    This is what can happen in a plugin_init function:
    - An element based on GstBaseSink is registered
    - Other elements fail to register
    - The plugin_init function returns FALSE
    
    Now if this the plugin is the first plugin to link against
    libgstbase.so, it will have caused libgstbase.so to be loaded and static
    strings from that library will have been added to gobject while
    registering GstBaseSink.
    
    So unloading the plugin will cause those strings to go stale and the
    next plugin using GstBaseSink will crash. So we must not unload modules
    after calling into them ever.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=572800