Package: gnome-settings-daemon Version: 3.16.2-3 Severity: important Tags: upstream
Dear Maintainer, *** Reporter, please consider answering these questions, where appropriate *** * What led up to the situation? Upgrading from jessie to sid * What exactly did you do (or not do) that was effective (or ineffective)? Unplugged my usb headset * What was the outcome of this action? gnome-settings-daemon didn't segfault on startup *** End of the template - remove these template lines *** I spent a fair bit of time diagnosing this issue. I suspect it's an upstream bug. The input to output mapping layer seems to misidentify the input (there's a couple of buttons) section of my usb headset (logitech H800) as a touchscreen input, and tries to map it into the gsettings layer, where the gsettings layer crashes because I suspect it's not got a proper GSETTINGS schema. Attached is a gdb backtrace (with full variables showing) showing where the gsettings set value is called with a usb id of my headset. (046d:0a29) Key things to notice: 1. There seem to be no debugging symbols for the gsd plugins. I had to build my own to get them. (backtrace here is from the packaged gsd). 2. g_settings_set_value is being called (it's not called in many places. Here it's being called by settings_set_display, from the input_info_remap function. It's clear that the device code here believes my headset is a touchscreen input device.) 3. The path being set is "/org/gnome/desktop/peripherals/touchscreens/046d:0a29/display". I don't know why this is failing, but it is. I suspect that other parts realize that my headset is NOT a touchscreen so the path is never initialized. Hope this helps, and thanks! Christian -- System Information: Debian Release: stretch/sid APT prefers unstable APT policy: (501, 'unstable'), (500, 'stable'), (499, 'testing'), (399, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.0.0-2-amd64 (SMP w/8 CPU cores) Locale: LANG=en_CA.utf8, LC_CTYPE=en_CA.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages gnome-settings-daemon depends on: ii dconf-gsettings-backend [gsettings-backend] 0.24.0-2 ii gsettings-desktop-schemas 3.16.1-1 ii libc6 2.19-18 ii libcairo2 1.14.2-2 ii libcanberra-gtk3-0 0.30-2.1 ii libcanberra0 0.30-2.1 ii libcolord2 1.2.1-1+b2 ii libcups2 1.7.5-12 ii libfontconfig1 2.11.0-6.3 ii libgdk-pixbuf2.0-0 2.31.4-2 ii libgeocode-glib0 3.16.2-1 ii libglib2.0-0 2.44.1-1 ii libgnome-desktop-3-10 3.16.2-2 ii libgtk-3-0 3.16.4-2 ii libgudev-1.0-0 230-1 ii libgweather-3-6 3.16.1-1 ii liblcms2-2 2.6-3+b3 ii libnm-glib4 1.0.2-2 ii libnm-util2 1.0.2-2 ii libnotify4 0.7.6-2 ii libnspr4 2:4.10.8-2 ii libnspr4-0d 2:4.10.8-2 ii libnss3 2:3.19.2-1 ii libnss3-1d 2:3.19.2-1 ii libpackagekit-glib2-18 1.0.6-1 ii libpam-systemd 220-7 ii libpango-1.0-0 1.36.8-3 ii libpangocairo-1.0-0 1.36.8-3 ii libpolkit-gobject-1-0 0.112-5 ii libpulse-mainloop-glib0 6.0-2 ii libpulse0 6.0-2 ii librsvg2-2 2.40.9-2 ii libupower-glib3 0.99.3-1+b1 ii libwacom2 0.8-1 ii libwayland-client0 1.8.1-1 ii libx11-6 2:1.6.3-1 ii libxext6 2:1.3.3-1 ii libxi6 2:1.7.4-1+b2 ii libxtst6 2:1.2.2-1+b1 ii nautilus-data 3.14.2-1 Versions of packages gnome-settings-daemon recommends: ii pulseaudio 6.0-2 Versions of packages gnome-settings-daemon suggests: ii gnome-screensaver 3.6.1-4 ii kde-window-manager [x-window-manager] 4:4.11.13-2 ii metacity [x-window-manager] 1:3.17.2-3+b1 ii mutter [x-window-manager] 3.16.2-2 ii x11-xserver-utils 7.7+4 -- no debconf information
#0 0x00007ffff6102f78 in g_bit_lock (address=address@entry=0x20, lock_bit=lock_bit@entry=0) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gbitlock.c:214 #1 0x00007ffff61682c8 in g_variant_fill_gvs (value=0x0) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-core.c:221 value = 0x0 __FUNCTION__ = "g_variant_fill_gvs" #2 0x00007ffff61682c8 in g_variant_fill_gvs (serialised=0x7fffffffd940, data=0x0) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-core.c:399 value = 0x0 __FUNCTION__ = "g_variant_fill_gvs" #3 0x00007ffff616d74d in g_variant_serialiser_needed_size (n_children=3, children=0x6ca320, gvs_filler=0x7ffff61682b0 <g_variant_fill_gvs>, type_info=<optimized out>) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-serialiser.c:709 child = {type_info = 0x0, data = 0x0, size = 0} alignment = 0 offset = 0 i = 0 fixed_size = 0 __FUNCTION__ = "g_variant_serialiser_needed_size" #4 0x00007ffff616d74d in g_variant_serialiser_needed_size (type_info=<optimized out>, gvs_filler=0x7ffff61682b0 <g_variant_fill_gvs>, children=0x6ca320, n_children=3) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-serialiser.c:1434 fixed_size = 0 __FUNCTION__ = "g_variant_serialiser_needed_size" #5 0x00007ffff6167997 in g_variant_ensure_size (value=0x7fffe40524d0) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-core.c:338 children = <optimized out> n_children = <optimized out> #6 0x00007ffff61682d0 in g_variant_fill_gvs (serialised=0x7fffffffda00, data=0x7fffe40524d0) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-core.c:400 value = 0x7fffe40524d0 __FUNCTION__ = "g_variant_fill_gvs" #7 0x00007ffff616d94f in g_variant_serialiser_needed_size (type_info=0x7ffff61d0780 <g_variant_type_info_basic_table+320>, children=0xed99a0, n_children=1, gvs_filler=0x7ffff61682b0 <g_variant_fill_gvs>) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-serialiser.c:1206 child = {type_info = 0x0, data = 0x0, size = 0} type_string = <optimized out> __FUNCTION__ = "g_variant_serialiser_needed_size" #8 0x00007ffff616d94f in g_variant_serialiser_needed_size (type_info=0x7ffff61d0780 <g_variant_type_info_basic_table+320>, gvs_filler=0x7ffff61682b0 <g_variant_fill_gvs>, children=0xed99a0, n_children=1) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-serialiser.c:1434 __FUNCTION__ = "g_variant_serialiser_needed_size" #9 0x00007ffff6167997 in g_variant_ensure_size (value=0x7fffe4052500) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-core.c:338 children = <optimized out> n_children = <optimized out> #10 0x00007ffff61682d0 in g_variant_fill_gvs (serialised=0x7fffffffdac0, data=0x7fffe4052500) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-core.c:400 value = 0x7fffe4052500 __FUNCTION__ = "g_variant_fill_gvs" #11 0x00007ffff616d9c0 in g_variant_serialiser_needed_size (type_info=0x7fffe4052560, n_children=1, children=0xef99e0, gvs_filler=0x7ffff61682b0 <g_variant_fill_gvs>) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-serialiser.c:363 child = {type_info = 0x0, data = 0x0, size = 0} fixed_size = 0 __FUNCTION__ = "g_variant_serialiser_needed_size" #12 0x00007ffff616d9c0 in g_variant_serialiser_needed_size (type_info=0x7fffe4052560, gvs_filler=0x7ffff61682b0 <g_variant_fill_gvs>, children=0xef99e0, n_children=1) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-serialiser.c:1434 fixed_size = 0 __FUNCTION__ = "g_variant_serialiser_needed_size" #13 0x00007ffff6167997 in g_variant_ensure_size (value=0x7fffe4052530) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-core.c:338 children = <optimized out> n_children = <optimized out> #14 0x00007ffff61682d0 in g_variant_fill_gvs (serialised=0x7fffffffdb80, data=0x7fffe4052530) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-core.c:400 value = 0x7fffe4052530 __FUNCTION__ = "g_variant_fill_gvs" #15 0x00007ffff616d868 in g_variant_serialiser_needed_size (n_children=2, children=0xeed620, gvs_filler=0x7ffff61682b0 <g_variant_fill_gvs>, type_info=0x7fffe4052c00) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-serialiser.c:968 child = {type_info = 0x0, data = 0x0, size = 0} alignment = 7 member_info = <optimized out> fixed_size = 0 offset = 64 i = 1 __FUNCTION__ = "g_variant_serialiser_needed_size" #16 0x00007ffff616d868 in g_variant_serialiser_needed_size (type_info=0x7fffe4052c00, gvs_filler=0x7ffff61682b0 <g_variant_fill_gvs>, children=0xeed620, n_children=2) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-serialiser.c:1434 __FUNCTION__ = "g_variant_serialiser_needed_size" #17 0x00007ffff6167997 in g_variant_ensure_size (value=0x7fffe4051030) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-core.c:338 children = <optimized out> n_children = <optimized out> #18 0x00007ffff61682d0 in g_variant_fill_gvs (serialised=0x7fffffffdc40, data=0x7fffe4051030) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-core.c:400 value = 0x7fffe4051030 __FUNCTION__ = "g_variant_fill_gvs" #19 0x00007ffff616d74d in g_variant_serialiser_needed_size (n_children=1, children=0xeec9f0, gvs_filler=0x7ffff61682b0 <g_variant_fill_gvs>, type_info=<optimized out>) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-serialiser.c:709 child = {type_info = 0x0, data = 0x0, size = 0} alignment = 7 offset = 0 i = 0 fixed_size = 0 __FUNCTION__ = "g_variant_serialiser_needed_size" #20 0x00007ffff616d74d in g_variant_serialiser_needed_size (type_info=<optimized out>, gvs_filler=0x7ffff61682b0 <g_variant_fill_gvs>, children=0xeec9f0, n_children=1) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-serialiser.c:1434 fixed_size = 0 __FUNCTION__ = "g_variant_serialiser_needed_size" #21 0x00007ffff6167997 in g_variant_ensure_size (value=0x7fffe4052c90) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-core.c:338 children = <optimized out> n_children = <optimized out> #22 0x00007ffff6167fcf in g_variant_get_size (value=0x7fffe4052c90) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gvariant-core.c:817 #23 0x00007fffe960b70f in () at /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so #24 0x00007fffe960b7ff in () at /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so #25 0x00007fffe960c4e1 in () at /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so #26 0x00007fffe960aeac in () at /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so #27 0x00007ffff66ff734 in g_settings_backend_write (backend=0x89d190 [DConfSettingsBackend], key=key@entry=0x6eed10 "/org/gnome/desktop/peripherals/touchscreens/046d:0a29/display", value=value@entry=0x7fffe40524d0, origin_tag=origin_tag@entry=0x0) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./gio/gsettingsbackend.c:783 success = <optimized out> #28 0x00007ffff6704153 in g_settings_write_to_backend (settings=0xe894d0 [GSettings], value=0x7fffe40524d0, key=<optimized out>) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./gio/gsettings.c:1077 success = <optimized out> path = 0x6eed10 "/org/gnome/desktop/peripherals/touchscreens/046d:0a29/display" #29 0x00007ffff6705565 in g_settings_set_value (settings=0xe894d0 [GSettings], key=0x7fffe89f5c2c "display", value=0x7fffe40524d0) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./gio/gsettings.c:1537 skey = {schema = 0xe894f0, name = 0x7ffff6a47885 "display", is_flags = 0, is_enum = 0, strinfo = 0x0, strinfo_length = 0, unparsed = 0x0, lc_char = 0 '\000', type = 0x7fffe40067b0, minimum = 0x0, maximum = 0x0, default_value = 0x7fffe4052380, ref_count = 0} success = 1 __FUNCTION__ = "g_settings_set_value" #30 0x00007fffe89efafc in () at /usr/lib/gnome-settings-daemon-3.0/libpower.so #31 0x00007fffe89f0139 in () at /usr/lib/gnome-settings-daemon-3.0/libpower.so #32 0x00007fffe89f0277 in () at /usr/lib/gnome-settings-daemon-3.0/libpower.so #33 0x00007fffe89f0a87 in () at /usr/lib/gnome-settings-daemon-3.0/libpower.so #34 0x00007fffe89f0b6b in () at /usr/lib/gnome-settings-daemon-3.0/libpower.so #35 0x00007ffff66ca3c3 in g_task_return_now (task=0x93b500 [GTask]) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./gio/gtask.c:1088 #36 0x00007ffff66caa5e in g_task_return (task=0x93b500 [GTask], type=<optimized out>) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./gio/gtask.c:1146 source = 0x6f5e00 #37 0x00007ffff759888f in () at /usr/lib/x86_64-linux-gnu/libgnome-desktop-3.so.10 #38 0x00007ffff66b9df7 in g_simple_async_result_complete (simple=0x8422c0 [GSimpleAsyncResult]) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./gio/gsimpleasyncresult.c:763 current_source = 0x6f5e00 current_context = <optimized out> __FUNCTION__ = "g_simple_async_result_complete" #39 0x00007ffff66b9e59 in complete_in_idle_cb (data=<optimized out>) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./gio/gsimpleasyncresult.c:775 simple = <optimized out> #40 0x00007ffff612cb4d in g_main_context_dispatch (context=0x649ea0) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gmain.c:3122 dispatch = 0x7ffff6129610 <g_idle_dispatch> prev_source = 0x0 was_in_call = 0 user_data = 0x8422c0 callback = 0x7ffff66b9e50 <complete_in_idle_cb> cb_funcs = <optimized out> cb_data = 0xec85d0 need_destroy = <optimized out> source = 0x6f5e00 current = 0x62c150 i = 1 #41 0x00007ffff612cb4d in g_main_context_dispatch (context=context@entry=0x649ea0) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gmain.c:3737 #42 0x00007ffff612cf20 in g_main_context_iterate (context=0x649ea0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gmain.c:3808 max_priority = 0 timeout = 0 some_ready = 1 nfds = <optimized out> allocated_nfds = 7 fds = 0xe7b8a0 #43 0x00007ffff612d242 in g_main_loop_run (loop=0x79f190) at /build/glib2.0-NiYzoW/glib2.0-2.44.1/./glib/gmain.c:4002 __FUNCTION__ = "g_main_loop_run" #44 0x00007ffff6e93a85 in gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 #45 0x0000000000403700 in main () A debugging session is active. Inferior 1 [process 4478] will be killed. Quit anyway? (y or n)