/usr/lib/unity-settings-daemon/unity-settings-daemon:5:XIQueryDevice:xdevice_get_dimensions:input_info_find_size_match:get_mappable_output_info:do_touchscreen_mapping

Bug #1503758 reported by errors.ubuntu.com bug bridge on 2015-10-07
22
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OEM Priority Project
Critical
Ara Pulido
unity-settings-daemon (Fedora)
Won't Fix
Undecided
unity-settings-daemon (Ubuntu)
High
Unassigned
Xenial
Undecided
Unassigned

Bug Description

The Ubuntu Error Tracker has been receiving reports about a problem regarding unity-settings-daemon. This problem was most recently seen with version 15.04.1+15.10.20150818-0ubuntu1, the problem page at https://errors.ubuntu.com/problem/6e9dcc008057a747fb5c2e65cd47f07e5b672724 contains more details.

Related branches

Version-Release number of selected component:
gnome-settings-daemon-3.18.2-1.fc23

Additional info:
reporter: libreport-2.6.4
backtrace_rating: 4
cmdline: /usr/libexec/gnome-settings-daemon
crash_function: XIQueryDevice
executable: /usr/libexec/gnome-settings-daemon
global_pid: 2655
kernel: 4.4.4-301.fc23.x86_64
runlevel: N 5
type: CCpp
uid: 1000

Truncated backtrace:
Thread no. 1 (3 frames)
 #8 XIQueryDevice at XIQueryDevice.c:60
 #9 xdevice_get_dimensions at gsd-input-helper.c:653
 #10 add_device at gsd-device-manager-x11.c:81

Created attachment 1137006
File: backtrace

Created attachment 1137007
File: cgroup

Created attachment 1137008
File: core_backtrace

Created attachment 1137009
File: dso_list

Created attachment 1137010
File: environ

Created attachment 1137011
File: limits

Created attachment 1137012
File: maps

Created attachment 1137013
File: mountinfo

Created attachment 1137014
File: namespaces

Created attachment 1137015
File: open_fds

Created attachment 1137016
File: proc_pid_status

Created attachment 1137017
File: var_log_messages

Sebastien Bacher (seb128) wrote :

The workaround on https://code.launchpad.net/~hui.wang/unity-settings-daemon/unity-settings-daemon-master-touchscreen-fix/+merge/293704 seems to be to workaround the segfault there

in that the description is

"on a Lenovo laptop with the LG LCD panel and the LG touchscreen, when we change the display resolution, the LG touchscreen will be temporarily disconnected from USB host bus for about 0.2 seconds, then will be reconnected to the USB host bus. If we let the system call do_touchscreen_mapping() before the reconnectting, the u-s-d will crash."

so it seems likely that u-s-d gets confused by the screen being removed while configured, maybe some callback not being disconnected when they should...

Changed in unity-settings-daemon (Ubuntu):
importance: Undecided → High
status: New → Triaged
Sean Zhang (sean.zhang) wrote :

In the corresponding OEM bug, we have below findings:

"after debug, we found that if we insmod the touchscreen driver after x start, the u-s-d xrandr plugin will not do "do_touchscreen_mapping" function, seems this is a u-s-d xrandr plugin can not support hot plug issue."

"I think an alternative way is fix the u-s-d xrandr plugin can not detect touchscreen hot plug and set variable "priv->main_touchscreen_id" error issue, but as a workaround, we can insmod the touchscreen after X start."

Sebastien Bacher (seb128) wrote :
Xinxiu Yang (imtxc) on 2016-05-13
information type: Public → Public Security
information type: Public Security → Public
Sebastien Bacher (seb128) wrote :

those are not going to apply to our codebase though, they are based on the refactoring done in https://git.gnome.org/browse/gnome-settings-daemon/commit/plugins/common/gsd-device-mapper.c?id=bf2f0d5d955f9fe5ca9f880e9f52246016e60e79 which was after we forked and that we didn't rebase on

tags: added: rls-x-incoming
Xinxiu Yang (imtxc) wrote :

there are too many different between g-s-d and u-s-d, and also there is not such file named "*device-mapper.c" in u-s-d, so not sure how to try these patch in comment #3.

Xinxiu Yang (imtxc) wrote :

tried the patch in comment #3, #4 and #6 on 16.04 and 14.04, got below result:

1, 14.04 (kernel 3.19.0-37, u-s-d: 14.04.20151012, compiz 2014.20150313)
  1.1 without patch
    u-s-d and compiz crashed and system logout after adjust resolution by use display setting at u-c-c (unity-control-center) or use command "xrandr -s 1"
  1.2 with patch
    1.2.1, can not set the resolution by use display setting at u-c-c, the error info please refer to attachment setting-error.jpg
    1.2.2, can change resolution by command "xrandr -s 1" successfully.

2, 16.04 (kernel 4.4.0-21, u-s-d: 16.04.20160209, compiz 16.04.20160415)
  2.1 without patch
    u-s-d crashed once when change resolution by display setting or cmd, but system will not logout, user can continue change resolution without crash.
  2.2 with patch
    same result with without patch.

Sean Zhang (sean.zhang) on 2016-05-18
affects: unity-settings-daemon → oem-priority
Changed in oem-priority:
importance: Undecided → Critical
assignee: nobody → Ara Pulido (apulido)
Xinxiu Yang (imtxc) wrote :

after patch http://bazaar.launchpad.net/~jzheng/unity-settings-daemon/unity-settings-daemon-master-touchscreen-fix/revision/4133, the dbus interface "org.gnome.SettingsDaemon.XRANDR_2" will lost

Xinxiu Yang (imtxc) wrote :
Sebastien Bacher (seb128) wrote :

could you try how things go with that simple change?

Sebastien Bacher (seb128) wrote :
Xinxiu Yang (imtxc) wrote :

tried https://launchpadlibrarian.net/260326745/usd.patch, got same result with 1.2.1 in comment #7 and same log with #9

Sebastien Bacher (seb128) wrote :

@Xinxiu, did you drop your changeset? There is no way that this patch leads to the symbol issue from #9 since it doesn't add that function... also could you get a backtrace with gdb in case it's different?

tags: added: patch
Xinxiu Yang (imtxc) wrote :

oops, sorry for comment #13, I started from an error version u-s-d source, this time I patched the simple patch base on unity-settings-daemon-14.04.0+14.04.20151012 which we used in Sutton image and tried again, seems it works fine. the u-s-d works well after change the resolution with patch https://bugs.launchpad.net/ubuntu/+source/unity-settings-daemon/+bug/1503758/+attachment/4666128/+files/usd.patch.

Sebastien Bacher (seb128) wrote :

Thanks Xinxiu for testing again, that sounds like good news ;-)

Changed in unity-settings-daemon (Ubuntu):
status: Triaged → In Progress
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in unity-settings-daemon (Ubuntu Xenial):
status: New → Confirmed
Ara Pulido (ara) on 2016-05-30
Changed in oem-priority:
status: New → In Progress
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity-settings-daemon - 15.04.1+16.10.20160613-0ubuntu1

---------------
unity-settings-daemon (15.04.1+16.10.20160613-0ubuntu1) yakkety; urgency=medium

  [ Marco Trevisan (Treviño) ]
  * PowerManager: connect to keyboard BrightnessChanged signal to update
    the cached current value properly (LP: #1510344)
  * GsdPowerManager: don't cache kbd backlight current value (LP:
    #1583861)
  * common: backport g-s-d commits for having single shared dbus proxies
  * ScreensaverProxy: redirect supported calls to gnome screensaver APIs
    (LP: #1415265, #1584161)

  [ Robert Ancell ]
  * Correctly check value of XDG_CURRENT_DESKTOP.
  * Remove code for disabling plugin under GNOME Shell - they don't use
    u-s-d.
  * Drop print notifications - not used under Unity.

  [ Sebastien Bacher ]
  * power: '0' keyboard backlight is a valid value (LP: #1510344)
  * Don't hit an xerror when a device is removed while being configured
    (LP: #1503758)
  * wacom: don't segfault when a device is removed while being
    configured. (LP: #1439427)
  * power: fix crasher when the plugin is unloaded (LP: #1567116)
  * power: Add sound notification on power plug/unplug

 -- Marco Trevisan (Treviño) <mail@3v1n0.net> Mon, 13 Jun 2016 11:31:26 +0000

Changed in unity-settings-daemon (Ubuntu):
status: In Progress → Fix Released

Hello errors.ubuntu.com, or anyone else affected,

Accepted unity-settings-daemon into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/unity-settings-daemon/15.04.1+16.04.20160701-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in unity-settings-daemon (Ubuntu Xenial):
status: Confirmed → Fix Committed
tags: added: verification-needed
Sebastien Bacher (seb128) wrote :

there are no report from the new version, marking as verified

tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity-settings-daemon - 15.04.1+16.04.20160701-0ubuntu1

---------------
unity-settings-daemon (15.04.1+16.04.20160701-0ubuntu1) xenial; urgency=medium

  [ Robert Ancell ]
  * Correctly check value of XDG_CURRENT_DESKTOP.

  [ Marco Trevisan (Treviño) ]
  * PowerManager: connect to keyboard BrightnessChanged signal to update
    the cached current value properly (LP: #1510344)
  * GsdPowerManager: don't cache kbd backlight current value (LP:
    #1583861)
  * common: backport g-s-d commits for having single shared dbus proxies
  * ScreensaverProxy: redirect supported calls to gnome screensaver APIs
    (LP: #1415265, LP: #1584161)

  [ Sebastien Bacher ]
  * Don't hit an xerror when a device is removed while being configured
    (LP: #1503758)
  * wacom: don't segfault when a device is removed while being
    configured. (LP: #1439427)

  [ Marco Trevisan (Treviño) ]
  * GsdPowerManager: use proper return value for upower_kbd_toggle
    wherever we use it (LP: #1592816)

  [ Kai-Heng Feng ]
  * SettingsManager: Queue up signals before getting D-Bus connection.
    (LP: #1571640)

 -- Marco Trevisan (Treviño) <mail@3v1n0.net> Fri, 01 Jul 2016 13:28:54 +0000

Changed in unity-settings-daemon (Ubuntu Xenial):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for unity-settings-daemon has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Ara Pulido (ara) on 2016-07-18
Changed in oem-priority:
status: In Progress → Fix Released

Was fixed upstream in:
https://bugzilla.gnome.org/show_bug.cgi?id=765996

This needs a new release upstream though.

Changed in unity-settings-daemon (Fedora):
importance: Unknown → Undecided
status: Unknown → Won't Fix
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.