[Xfce-bugs] [Bug 8434] New: xfwm4 segfaulting on users first login.
bugzilla-daemon at xfce.org
bugzilla-daemon at xfce.org
Tue Feb 7 20:42:20 CET 2012
https://bugzilla.xfce.org/show_bug.cgi?id=8434
Bug #: 8434
Summary: xfwm4 segfaulting on users first login.
Classification: Xfce
Product: Libxfce4ui
Version: 4.8.0
Platform: PC (x86)
OS/Version: Linux
Status: NEW
Severity: major
Priority: Medium
Component: General
AssignedTo: nick at xfce.org
ReportedBy: george.mccollister at gmail.com
CC: xfce-bugs at xfce.org
If I logout of xfce and return to gdm then remotely remove my users home
directory and login as that user again xfwm4 core dumps. If I logout and log
back in again everything is fine (as long as I dont delete the user's home dir
again).
In xfce-shortcuts-provider.c:290 (xfce_shortcuts_provider_property_changed)
provider->priv->custom_base_property is NULL which is causing the segfault. I'm
not sure why it is NULL, but maybe you should check because for some reason in
my case it is NULL. xfce4-settings seems to be core dumping at the same time.
Maybe it is happening in the same location?
Core was generated by `xfwm4'.
Program terminated with signal 11, Segmentation fault.
#0 __strlen_sse2 () at ../sysdeps/i386/i686/multiarch/strlen-sse2.S:46
46 cmpb $0, (%edx)
(gdb) bt full
#0 __strlen_sse2 () at ../sysdeps/i386/i686/multiarch/strlen-sse2.S:46
No locals.
#1 0xb6e1d093 in g_str_has_prefix (str=0x8101dc8 "/providers", prefix=0x0) at
gstrfuncs.c:2949
str_len = 10
prefix_len = <value optimized out>
#2 0xb7801cea in xfce_shortcuts_provider_property_changed (channel=0x80f4e60,
property=0x8101dc8 "/providers", value=0x8101dd8, provider=0x80f4e40)
at xfce-shortcuts-provider.c:290
shortcut = <value optimized out>
__PRETTY_FUNCTION__ = "xfce_shortcuts_provider_property_changed"
#3 0xb77f9caf in _xfconf_marshal_VOID__STRING_BOXED (closure=0x8102508,
return_value=0x0, n_param_values=3, param_values=0x80b5458,
invocation_hint=0xbfd61e80,
marshal_data=0x0) at xfconf-marshal.c:123
callback = 0xb7801c60 <xfce_shortcuts_provider_property_changed>
cc = 0x8102508
data1 = <value optimized out>
data2 = <value optimized out>
__PRETTY_FUNCTION__ = "_xfconf_marshal_VOID__STRING_BOXED"
#4 0xb6ed6b72 in g_closure_invoke (closure=0x8102508, return_value=0x0,
n_param_values=3, param_values=0x80b5458, invocation_hint=0xbfd61e80) at
gclosure.c:767
marshal = 0xb77f9c20 <_xfconf_marshal_VOID__STRING_BOXED>
marshal_data = 0x0
in_marshal = 135270656
#5 0xb6ee4483 in signal_emit_unlocked_R (node=0x80b8038, detail=550,
instance=0x80f4e60, emission_return=0x0, instance_and_params=0x80b5458) at
gsignal.c:3252
tmp = <value optimized out>
handler = 0x80f4f20
accumulator = 0x0
emission = {next = 0xbfd621c8, instance = 0x80f4e60, ihint = {signal_id
= 93, detail = 550, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN,
chain_type = 4}
class_closure = 0x80dbea0
handler_list = 0x80f4f20
return_accu = 0x0
accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong
= 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0},
{v_int = 0,
v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0,
v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 93
max_sequential_handler_number = 19
return_value_altered = 0
#6 0xb6eeb757 in g_signal_emit_valist (instance=0x80f4e60, signal_id=93,
detail=550, var_args=0xbfd62044 "\340", <incomplete sequence \362>) at
gsignal.c:2983
instance_and_params = 0x80b5458
signal_return_type = 4
param_values = 0x80b546c
node = 0x80b8038
i = <value optimized out>
n_params = 2
#7 0xb6eeb972 in g_signal_emit (instance=0x80f4e60, signal_id=93, detail=550)
at gsignal.c:3040
var_args = 0xbfd6203c "pH\020\b\310\026\020\b\340", <incomplete
sequence \362>
#8 0xb77f54a2 in xfconf_channel_property_changed (cache=0x80f4e80,
channel_name=0x8104850 "xfce4-keyboard-shortcuts", property=0x8104870
"/providers", value=0x81016c8,
user_data=0x80f4e60) at xfconf-channel.c:391
channel = <value optimized out>
#9 0xb77f9be6 in _xfconf_marshal_VOID__STRING_STRING_BOXED (closure=0x8103c18,
return_value=0x0, n_param_values=4, param_values=0x80b5060,
invocation_hint=0xbfd621d0,
marshal_data=0x0) at xfconf-marshal.c:85
callback = 0xb77f53e0 <xfconf_channel_property_changed>
cc = 0x8103c18
data1 = <value optimized out>
data2 = <value optimized out>
__PRETTY_FUNCTION__ = "_xfconf_marshal_VOID__STRING_STRING_BOXED"
#10 0xb6ed6b72 in g_closure_invoke (closure=0x8103c18, return_value=0x0,
n_param_values=4, param_values=0x80b5060, invocation_hint=0xbfd621d0) at
gclosure.c:767
marshal = 0xb77f9b50 <_xfconf_marshal_VOID__STRING_STRING_BOXED>
marshal_data = 0x0
in_marshal = 135272960
#11 0xb6ee4483 in signal_emit_unlocked_R (node=0x8100bd8, detail=0,
instance=0x80f4e80, emission_return=0x0, instance_and_params=0x80b5060) at
gsignal.c:3252
tmp = <value optimized out>
handler = 0x80f4f00
accumulator = 0x0
emission = {next = 0x0, instance = 0x80f4e80, ihint = {signal_id = 94,
detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type =
4}
class_closure = 0x80b8020
handler_list = 0x80f4f00
return_accu = 0x0
accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong
= 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0},
{v_int = 0,
v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0,
v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 94
max_sequential_handler_number = 19
return_value_altered = 0
#12 0xb6eeb757 in g_signal_emit_valist (instance=0x80f4e80, signal_id=94,
detail=0, var_args=0xbfd62398 "h\032\020\b@") at gsignal.c:2983
instance_and_params = 0x80b5060
signal_return_type = 4
param_values = 0x80b5074
node = 0x8100bd8
i = <value optimized out>
n_params = 3
#13 0xb6eeb972 in g_signal_emit (instance=0x80f4e80, signal_id=94, detail=0) at
gsignal.c:3040
var_args = 0xbfd6238c "h\032\020\b\037P\200\267l$h\032\020\b@"
#14 0xb77f4944 in xfconf_cache_set (cache=0x80f4e80, property=0xb780501f
"/providers", value=0xbfd6246c, error=0x0) at xfconf-cache.c:813
proxy = 0x80dc688
item = <value optimized out>
old_item = <value optimized out>
#15 0xb77f50dd in xfconf_channel_set_internal (channel=0x80f4e60,
property=0xb780501f "/providers", value=0xbfd6246c) at xfconf-channel.c:407
ret = <value optimized out>
real_property = 0xb780501f "/providers"
__PRETTY_FUNCTION__ = "xfconf_channel_set_internal"
#16 0xb77f780c in IA__xfconf_channel_set_arrayv (channel=0x80f4e60,
property=0xb780501f "/providers", values=0x8104350) at xfconf-channel.c:1719
values_new = <value optimized out>
val = {g_type = 135266240, data = {{v_int = 135283536, v_uint =
135283536, v_long = 135283536, v_ulong = 135283536, v_int64 = 135283536,
v_uint64 = 135283536,
v_float = 4.34125492e-34, v_double = 6.6838947585527527e-316,
v_pointer = 0x8104350}, {v_int = 134217728, v_uint = 134217728, v_long =
134217728,
v_ulong = 134217728, v_int64 = 134217728, v_uint64 = 134217728,
v_float = 3.85185989e-34, v_double = 6.631236846766476e-316, v_pointer =
0x8000000}}}
ret = <value optimized out>
__PRETTY_FUNCTION__ = "IA__xfconf_channel_set_arrayv"
#17 0xb77f7eb5 in IA__xfconf_channel_set_string_list (channel=0x80f4e60,
property=0xb780501f "/providers", values=0x8102728) at xfconf-channel.c:1067
arr = 0x8104350
val = <value optimized out>
i = <value optimized out>
ret = <value optimized out>
__PRETTY_FUNCTION__ = "IA__xfconf_channel_set_string_list"
#18 0xb780242e in xfce_shortcuts_provider_register (object=0x80f4e40) at
xfce-shortcuts-provider.c:266
provider_names = 0x8103ef0
i = <value optimized out>
names = 0x8102728
already_registered = 0
name = 0x8101ad0 "xfwm4"
#19 xfce_shortcuts_provider_constructed (object=0x80f4e40) at
xfce-shortcuts-provider.c:163
provider = 0x80f4e40
#20 0xb6edac5a in g_object_newv (object_type=135118200, n_parameters=1,
parameters=0x8102590) at gobject.c:1507
cparams = <value optimized out>
oparams = 0x8102718
nqueue = <value optimized out>
object = 0x80f4e40
class = 0x8100b70
unref_class = 0x0
slist = <value optimized out>
n_total_cparams = <value optimized out>
n_cparams = <value optimized out>
n_oparams = 0
n_cvalues = <value optimized out>
cvalues = <value optimized out>
clist = <value optimized out>
newly_constructed = 1
i = <value optimized out>
__PRETTY_FUNCTION__ = "g_object_newv"
#21 0xb6edb66b in g_object_new_valist (object_type=135118200,
first_property_name=0xb7804f81 "name", var_args=<value optimized out>) at
gobject.c:1596
class = 0x8100b70
params = 0x8102590
name = <value optimized out>
object = <value optimized out>
n_params = <value optimized out>
n_alloced_params = <value optimized out>
__PRETTY_FUNCTION__ = "g_object_new_valist"
#22 0xb6edb78f in g_object_new (object_type=135118200,
first_property_name=0xb7804f81 "name") at gobject.c:1311
var_args = 0xbfd626f8 "ߕ\b\b"
#23 0xb7801df8 in xfce_shortcuts_provider_new (name=0x80895df "xfwm4") at
xfce-shortcuts-provider.c:318
No locals.
#24 0x0807eb8a in initSettings (screen_info=0x80d33c0) at settings.c:1022
keymap = <value optimized out>
display_info = 0x80d1438
names = 0x0
val = 0
i = 0
__PRETTY_FUNCTION__ = "initSettings"
#25 0x0806ba53 in initialize (argc=1, argv=0xbfd628f4) at main.c:462
screen_info = 0x80d33c0
gscr = <value optimized out>
ws = 134762073
i = <value optimized out>
nscreens = 1
#26 main (argc=1, argv=0xbfd628f4) at main.c:589
daemon_mode = 0
version = 0
replace_wm = 0
status = 0
context = <value optimized out>
error = 0x0
option_entries = {{long_name = 0x808960c "daemon", short_name = 0
'\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0xbfd6282c,
description = 0x8089613 "Fork to the background", arg_description =
0x0}, {long_name = 0x808962a "compositor", short_name = 0 '\000', flags = 0,
arg = G_OPTION_ARG_CALLBACK, arg_data = 0x806b680, description =
0x8089635 "Set the compositor mode", arg_description = 0x808964d
"on|off|auto"}, {
long_name = 0x8089659 "replace", short_name = 0 '\000', flags = 0,
arg = G_OPTION_ARG_NONE, arg_data = 0xbfd62824,
description = 0x808977c "Replace the existing window manager",
arg_description = 0x0}, {long_name = 0x8089661 "version", short_name = 86 'V',
flags = 0,
arg = G_OPTION_ARG_NONE, arg_data = 0xbfd62828, description =
0x80897a0 "Print version information and exit", arg_description = 0x0},
{long_name = 0x0,
short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data
= 0x0, description = 0x0, arg_description = 0x0}}
--- Comment #1 from George McCollister <george.mccollister at gmail.com> 2012-02-07 20:42:20 CET ---
I've looked into it a bit more. I was getting some nuisance errors logged by
gdm on my distro so I rebuilt glib with --enable-debug=no. It looks like it may
cause g_return_val_if_fail not to perform the check in g_str_has_prefix. I was
under the impression that setting --enable-debug=no simply stopped those
messages from going to syslog.
If you don't intend for xfce to work when glib is built with --enable-debug=no
then I think you can close this and mark as won't fix. However, if you intend
for xfce to work when glib is built with --enable-debug=no you should probably
do something about this.
--
Configure bugmail: https://bugzilla.xfce.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the Xfce-bugs
mailing list