[gstreamer-bugs] [Bug 630783] New: pidgin/finch segfault because properties were optimized out...

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Sep 27 19:52:29 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=630783
  GStreamer | gst-plugins-bad | 0.10.19

           Summary: pidgin/finch segfault because properties were
                    optimized out...
    Classification: Desktop
           Product: GStreamer
           Version: 0.10.19
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: mysatyre at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


On recent archlinux the following problem is happening to me:

using pidgin-2.7.3 with the mentioned gstreamer0.10-bad created a segfault in
gstfrei0r.c line 78, where an empty prop_name crashes program execution.

I'm not sure what the cause is exactly, and who is providing what data and if
it's valid / why it's not. This is the call stack with debug symbols enabled in
both pidgin and gstreamer0.10-bad (I missed the main gstreamer0.10 library
tho):

#0  gst_frei0r_klass_install_properties (gobject_class=0xcf1e90,
ftable=0xcf0940, properties=<value optimized out>, n_properties=3) at
gstfrei0r.c:78
#1  0x00007fffe0cf35c0 in gst_frei0r_filter_class_init (klass=0xcf1e90,
class_data=0xcf0910) at gstfrei0rfilter.c:192
#2  0x00007ffff76851c5 in g_type_class_ref () from /usr/lib/libgobject-2.0.so.0
#3  0x00007ffff78e9bbb in gst_element_register () from
/usr/lib/libgstreamer-0.10.so.0
#4  0x00007fffe0cf3f53 in gst_frei0r_filter_register (plugin=0xa98890,
info=0x7fffffffdf50, ftable=0x7fffffffdf00) at gstfrei0rfilter.c:266
#5  0x00007fffe0cf266c in register_plugin (plugin=0xa98890, path=0x7fffe0cf6ec6
"/usr/lib/frei0r-1") at gstfrei0r.c:550
#6  register_plugins (plugin=0xa98890, path=0x7fffe0cf6ec6 "/usr/lib/frei0r-1")
at gstfrei0r.c:597
#7  0x00007fffe0cf2711 in plugin_init (plugin=0xa98890) at gstfrei0r.c:623
#8  0x00007ffff79077ae in ?? () from /usr/lib/libgstreamer-0.10.so.0
#9  0x00007ffff7909560 in gst_plugin_load_file () from
/usr/lib/libgstreamer-0.10.so.0
#10 0x00007ffff7913be4 in ?? () from /usr/lib/libgstreamer-0.10.so.0
#11 0x00007ffff791517f in ?? () from /usr/lib/libgstreamer-0.10.so.0
#12 0x00007ffff7915339 in ?? () from /usr/lib/libgstreamer-0.10.so.0
#13 0x00007ffff7916d23 in gst_update_registry () from
/usr/lib/libgstreamer-0.10.so.0
#14 0x00007ffff78cc3e7 in ?? () from /usr/lib/libgstreamer-0.10.so.0
#15 0x00007ffff71c17d9 in g_option_context_parse () from
/usr/lib/libglib-2.0.so.0
#16 0x00007ffff78cce3d in gst_init_check () from
/usr/lib/libgstreamer-0.10.so.0
#17 0x000000000042f1ab in finch_sound_init () at gntsound.c:383
#18 0x00000000004326a6 in gnt_ui_init () at gntui.c:68
#19 0x00007ffff6c731af in purple_core_init () from /usr/lib/libpurple.so.0
#20 0x0000000000423f1f in init_libpurple (argc=1, argv=0x7fffffffe928) at
finch.c:372
#21 0x0000000000424131 in gnt_start (argc=1, argv=0x7fffffffe928) at
finch.c:423
#22 main (argc=1, argv=0x7fffffffe928) at finch.c:439

I've set up a patch which works here:

diff -ru gst-plugins-bad-0.10.19/gst/frei0r/gstfrei0r.c
gst-plugins-bad-0.10.19_/gst/frei0r/gstfrei0r.c
--- gst-plugins-bad-0.10.19/gst/frei0r/gstfrei0r.c      2010-05-14
02:48:27.000000000 +0200
+++ gst-plugins-bad-0.10.19_/gst/frei0r/gstfrei0r.c     2010-09-28
04:08:05.000000000 +0200
@@ -75,7 +75,7 @@
     prop_name = g_ascii_strdown (param_info->name, -1);
     g_strcanon (prop_name, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-+", '-');
     /* satisfy glib2 (argname[0] must be [A-Za-z]) */
-    if (!((prop_name[0] >= 'a' && prop_name[0] <= 'z') ||
+    if (!prop_name || !((prop_name[0] >= 'a' && prop_name[0] <= 'z') ||
             (prop_name[0] >= 'A' && prop_name[0] <= 'Z'))) {
       gchar *tempstr = prop_name;



...I don't have much of a clue of this gdb thingy. Maybe someone could give me
a hint on how to get to the bottom of this bug.

kind regards + keep up the good work!
mar77i

-- 
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