xfsettingsd crashes after disconnecting external screen

Bug #1379702 reported by George Shuklin on 2014-10-10
84
This bug affects 13 people
Affects Status Importance Assigned to Milestone
xfce4-settings
Incomplete
High
xfce4-settings (Ubuntu)
High
Unassigned

Bug Description

After upgrade to utopic, after suspend/resume some hotkeys are broken:

1. Language selection (was CapsLock/Shift CapsLock switching to CapsLock/CapsLock)
2. xfce shotcuts no longer works:
 Alt-F2
 Win-R
 Win-T
PrintScreen
Win-W

etc.

ProblemType: Bug
DistroRelease: Ubuntu 14.10
Package: ubuntu-release-upgrader-core 1:14.10.7
ProcVersionSignature: Ubuntu 3.16.0-20.27-generic 3.16.3
Uname: Linux 3.16.0-20-generic i686
ApportVersion: 2.14.7-0ubuntu3
Architecture: i386
CrashDB: ubuntu
CurrentDesktop: XFCE
Date: Fri Oct 10 11:22:56 2014
EcryptfsInUse: Yes
InstallationDate: Installed on 2013-07-19 (447 days ago)
InstallationMedia: Xubuntu 13.04 "Raring Ringtail" - Release i386 (20130423.1)
PackageArchitecture: all
SourcePackage: ubuntu-release-upgrader
Symptom: release-upgrade
UpgradeStatus: Upgraded to utopic on 2014-09-26 (13 days ago)
VarLogDistupgradeTermlog:

George Shuklin (george-shuklin) wrote :
Brian Murray (brian-murray) wrote :

This is not a bug with the release upgrade process rather with the system after the release upgrade.

affects: ubuntu-release-upgrader (Ubuntu) → xubuntu-meta (Ubuntu)

Please open a terminal window and run this command which replaces the currently running instance of the Xfce settings daemon:

XFSETTINGSD_DEBUG=1 xfsettingsd --replace --no-daemon

Now wait until the bug occurs again and attach the terminal output to this report.

affects: xubuntu-meta (Ubuntu) → xfce4-settings (Ubuntu)
Changed in xfce4-settings (Ubuntu):
status: New → Incomplete
George Shuklin (george-shuklin) wrote :
Download full text (68.5 KiB)

It happens again after few days of work. Here whole log:

$ XFSETTINGSD_DEBUG=1 xfsettingsd --replace --no-daemon

xfce4-settings(xsettings): _XSETTINGS_S0 registered on screen 0
xfce4-settings(xsettings): 30 settings changed (serial=0, len=1184)
xfce4-settings(xsettings): resource manager (xft) changed (len=1321)
xfce4-settings(displays): Detected CRTC 63.
xfce4-settings(displays): Detected CRTC 64.
xfce4-settings(displays): Detected output 65 LVDS1.
xfce4-settings(displays): CRTC 63 assigned to LVDS1.
xfce4-settings(displays): CRTC 63, output list[0] -> 65.
xfce4-settings(displays): Total 1 active output(s).
xfce4-settings(displays): Normalized CRTC 63: size=1366x768, pos=0x0.
xfce4-settings(displays): min_h = 200, min_w = 320, max_h = 8192, max_w = 8192, prev_h = 768, prev_w = 1366, prev_hmm = 203, prev_wmm = 361, h = 768, w = 1366, hmm = 203, wmm = 361.
xfce4-settings(displays): Configuring CRTC 63.
xfce4-settings(displays): Configuring CRTC 64.
xfce4-settings(pointers): initialized xi 2.3
xfce4-settings(pointers): [SynPS/2 Synaptics TouchPad] Changed device property Synaptics_Tap_Action
xfce4-settings(keyboards): initialized xkb 1.0
xfce4-settings(keyboards): set auto repeat on
xfce4-settings(keyboards): set key repeat (delay=500, rate=50)
xfce4-settings(keyboards): set numlock off
xfce4-settings(accessibility): AccessXKeys disabled
xfce4-settings(accessibility): stickykeys disabled
xfce4-settings(accessibility): slowkeys disabled
xfce4-settings(accessibility): bouncekeys disabled
xfce4-settings(accessibility): mousekeys disabled
xfce4-settings(keyboard-shortcuts): 21 shortcuts loaded
xfce4-settings(fontconfig): monitoring 117 paths
xfce4-settings(workspaces): 3 desktop names set from xfconf
xfce4-settings(keyboard-shortcuts): activated "<Super>t" (command="exo-open --launch TerminalEmulator", snotify=0, stamp=132181)
xfce4-settings(displays): RRScreenChangeNotify event received.
xfce4-settings(displays): Refreshing RandR cache.
xfce4-settings(displays): Detected CRTC 63.
xfce4-settings(displays): Detected CRTC 64.
xfce4-settings(displays): Detected output 65 LVDS1.
xfce4-settings(displays): Noutput: before = 1, after = 1.
xfce4-settings(displays): RRScreenChangeNotify event received.
xfce4-settings(displays): Refreshing RandR cache.
xfce4-settings(displays): Detected CRTC 63.
xfce4-settings(displays): Detected CRTC 64.
xfce4-settings(displays): Detected output 65 LVDS1.
xfce4-settings(displays): Noutput: before = 1, after = 1.
xfce4-settings(displays): RRScreenChangeNotify event received.
xfce4-settings(displays): Refreshing RandR cache.
xfce4-settings(displays): Detected CRTC 63.
xfce4-settings(displays): Detected CRTC 64.
xfce4-settings(displays): Detected output 65 LVDS1.
xfce4-settings(displays): Noutput: before = 1, after = 1.
xfce4-settings(displays): RRScreenChangeNotify event received.
xfce4-settings(displays): Refreshing RandR cache.
xfce4-settings(displays): Detected CRTC 63.
xfce4-settings(displays): Detected CRTC 64.
xfce4-settings(displays): Detected output 65 LVDS1.
xfce4-settings(displays): Noutput: before = 1, after = 1.
xfce4-settings(displays): UPower lid event received (open -> closed).
xfce4-settings(displays): Togg...

Changed in xfce4-settings (Ubuntu):
status: Incomplete → New
George Shuklin (george-shuklin) wrote :

... and restart of xfsettingsd restore icons and shortcuts. I think that problem somehow related to external monitor connection/disconnection. I have two monitors at work and sometime use laptop without monitors.

Monitors: DP1 (2560x1440), VGA1 (1920x1080)
Laptop: LVDS1 (1366x768)

Sorry for not answering earlier. I suggest that you forward this issue upstream by filing a bug report on the Xfce bug tracker. Thanks in advance.

https://bugzilla.xfce.org/

When configuration of monitors changed, xfcsettingsd crashes.

xfsettingsd
(xfsettingsd:6823): libupower-glib-WARNING **: No 'CanSuspend' property

(xfsettingsd:6823): xfsettingsd-WARNING **: No available CRTC for LVDS1.

The program 'xfsettingsd' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadRRCrtc (invalid Crtc parameter)'.
  (Details: serial 2615 error_code 148 request_code 140 minor_code 21)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

This happens when laptop wake up from multi-monitor configuration to configuration without external monitors (only laptop's builtin LVDS1).

This crash happens periodically.

Here launchpad bug for ubuntu: https://bugs.launchpad.net/ubuntu/+source/xfce4-settings/+bug/1379702

summary: - Hotkeys does not work or works wrong after few suspend/resume
+ xfsettingsd crashes after disconnecting external screen
Launchpad Janitor (janitor) wrote :

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

Changed in xfce4-settings (Ubuntu):
status: New → Confirmed
Changed in xfce4-settings:
importance: Unknown → High
status: Unknown → Confirmed
Changed in xfce4-settings (Ubuntu):
importance: Undecided → High
Kip Warner (kip) wrote :

I also just experienced a similar crash. When I turned off my second LCD connected via DVI:

The program 'xfsettingsd' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadRRCrtc (invalid Crtc parameter)'.
  (Details: serial 2320 error_code 148 request_code 140 minor_code 21)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Aaron (aaron-bell-r) wrote :
Download full text (5.8 KiB)

Affects me too. When I remove laptop from its dock and the DisplayPort monitor is disconnected, xfsettingsd crashes. Full log:

$ XFSETTINGSD_DEBUG=1 xfsettingsd --no-daemon
xfce4-settings(xsettings): _XSETTINGS_S0 registered on screen 0
xfce4-settings(xsettings): 30 settings changed (serial=0, len=1232)
xfce4-settings(xsettings): resource manager (xft) changed (len=1330)
xfce4-settings(displays): Detected CRTC 63.
xfce4-settings(displays): Detected CRTC 64.
xfce4-settings(displays): Detected CRTC 65.
xfce4-settings(displays): Detected CRTC 66.
xfce4-settings(displays): Detected output 67 eDP1.
xfce4-settings(displays): Detected output 71 DP2.
xfce4-settings(displays): CRTC 63 assigned to eDP1.
xfce4-settings(displays): CRTC 63, output list[0] -> 67.
xfce4-settings(displays): CRTC 64 assigned to DP2.
xfce4-settings(displays): DP2 will be disabled by configuration.
xfce4-settings(displays): Total 1 active output(s).
xfce4-settings(displays): Normalized CRTC 63: size=1920x1080, pos=0x0.
xfce4-settings(displays): CRTC 63 must be temporarily disabled.
xfce4-settings(displays): Disabling CRTC 63.
xfce4-settings(displays): min_h = 8, min_w = 8, max_h = 32767, max_w = 32767, prev_h = 2160, prev_w = 1920, prev_hmm = 572, prev_wmm = 508, h = 1080, w = 1920, hmm = 286, wmm = 508.
xfce4-settings(displays): Applying desktop dimensions: 1920x1080 (px), 508x286 (mm).
xfce4-settings(displays): Configuring CRTC 63.
xfce4-settings(displays): Applying changes to CRTC 63.
xfce4-settings(displays): Configuring CRTC 64.
xfce4-settings(displays): Applying changes to CRTC 64.
xfce4-settings(displays): Disabling CRTC 64.
xfce4-settings(displays): Configuring CRTC 65.
xfce4-settings(displays): Configuring CRTC 66.
xfce4-settings(pointers): initialized xi 2.3
xfce4-settings(pointers): [SynPS/2 Synaptics TouchPad] Changed device property Synaptics_Edge_Scrolling
xfce4-settings(pointers): [SynPS/2 Synaptics TouchPad] Changed device property Synaptics_Tap_Action
xfce4-settings(pointers): [SynPS/2 Synaptics TouchPad] Changed device property Device_Enabled
xfce4-settings(pointers): [SynPS/2 Synaptics TouchPad] Changed device property Synaptics_Two-Finger_Scrolling
xfce4-settings(pointers): [SynPS/2 Synaptics TouchPad] Changed device property Synaptics_Circular_Scrolling
xfce4-settings(pointers): [SynPS/2 Synaptics TouchPad] Changed device property Synaptics_Circular_Scrolling_Trigger
xfce4-settings(pointers): [TPPS/2 IBM TrackPoint] Changed device property Device_Enabled
xfce4-settings(keyboards): initialized xkb 1.0
xfce4-settings(keyboards): set auto repeat on
xfce4-settings(keyboards): set key repeat (delay=350, rate=33)
xfce4-settings(keyboards): set numlock off
xfce4-settings(accessibility): AccessXKeys disabled
xfce4-settings(accessibility): stickykeys disabled
xfce4-settings(accessibility): slowkeys disabled
xfce4-settings(accessibility): bouncekeys disabled
xfce4-settings(accessibility): mousekeys disabled
xfce4-settings(keyboard-shortcuts): 28 shortcuts loaded
xfce4-settings(displays): RRScreenChangeNotify event received.
xfce4-settings(displays): Refreshing RandR cache.
xfce4-settings(displays): Detected CRTC 63.
xfce4-settings(displays): Detected CRTC 64.
xfce4-...

Read more...

Adding this to the xorg.conf prevents it to fail, but it shouldn't be the solution. But it means is related with Display Events.

Section "Device"
   # ...
    Option "UseHotplugEvents" "false"
EndSection

If possible, can you test this patch to see if it resolves the issue for you? https://bugzilla.xfce.org/show_bug.cgi?id=11107#c7

Changed in xfce4-settings:
status: Confirmed → Incomplete
Drew Lustro (drewlustro) wrote :

This has been driving me nuts for weeks. I would lose my entire X session every single day as soon as the screen blanked... quite troublesome when you're trying to make linux work as your daily drive, haha.

*Confirmed fix* w/ the patch suggested on xfce's bugzilla: https://bugzilla.xfce.org/show_bug.cgi?id=11107#c53

Download the xfce4-settings source, apply the patch, increment with a non-maintainer version number (for no future apt-get conflicts once this gets an official fix), and reinstall your patched xfce4-settings.

I had to learn how to patch a .deb file properly in the process, but that was worth it too.

-- Hardware/Software --
GPU: GTX 970 over DisplayPort 1.2
Monitor: Dell P2715 (4K@60Hz, hardware rev A03)
OS: Xubuntu Xenial (16.04 LTS)
Manually patched xfce4-settings version: 4.12.0-2ubuntu1

Useful links on patching .deb's:
https://help.ubuntu.com/community/UpdatingADeb
http://www.cyberciti.biz/faq/appy-patch-file-using-patch-command/

Can confirm the patch works fine for me having been hit with the same issue on an Intel NUC D54250WYK. I have manually applied the patch and I'm fine, however would be good to see this go into the distribution as well.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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