[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