FS#29285 - [xf86-video-intel] Gnome Display Manager Crashes When HDMI Output is Disconnected

Attached to Project: Arch Linux
Opened by Conner (quasifilmlie) - Thursday, 05 April 2012, 04:39 GMT
Last edited by Andrea Scarpino (BaSh) - Monday, 14 May 2012, 17:18 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Jan de Groot (JGC)
Architecture All
Severity Critical
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 4
Private No

Details

I sometimes like to plug my laptop into the tv to watch movies etc and since upgrading to 3.4 I can no longer do this properly. When I unplug the hdmi cable the whole computer freezes and I have to do a hard shutdown. These are the .xsession-errors I am getting.


Window manager warning: CurrentTime used to choose focus window; focus window may not be correct.
Window manager warning: Got a request to focus the no_focus_window with a timestamp of 0. This shouldn't happen!

(epiphany:15260): GLib-GObject-CRITICAL **: g_object_ref: assertion `object->ref_count > 0' failed

(epiphany:15260): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed
Window manager warning: CurrentTime used to choose focus window; focus window may not be correct.
Window manager warning: Got a request to focus the no_focus_window with a timestamp of 0. This shouldn't happen!

(evolution-alarm-notify:2684): evolution-alarm-notify-WARNING **: alarm.c:254: Requested removal of nonexistent alarm!


On reboot I get this error message. I am using gnome-shell with no custom config. I have tried with and without extensions. The only extension I use is alternative status menu from extensions.gnome.org. I have tried the offical gnome 3.4 live cd and have NO problems. I did NOT have this problem in 3.2. I have reinstalled arch so I have pacman logs to give but after reinstalling I still have the issue. The crash happens when logged in and alos at the login screen when the resolution is only 640x480 on both screens. When tv is plugged in, the resolutions on my laptop are 1600x900 and the tv is 1920x1080. I am NOT using fallback mode.
This task depends upon

Closed by  Andrea Scarpino (BaSh)
Monday, 14 May 2012, 17:18 GMT
Reason for closing:  Fixed
Additional comments about closing:  xorg-server-1.12.1.901-2
Comment by Conner (quasifilmlie) - Thursday, 05 April 2012, 15:09 GMT
Probably should mention that I am running Arch64 on a Gateway NV79C with Intel Integrated Graphics.
Comment by Conner (quasifilmlie) - Thursday, 05 April 2012, 16:10 GMT
Reported upstream as I doubt this is Arch-specific. https://bugzilla.gnome.org/show_bug.cgi?id=673585
Comment by Conner (quasifilmlie) - Thursday, 05 April 2012, 18:50 GMT
This is the response I got from a GDM developer Ray Strode upstream.

This isn't likely to be a GDM bug. It sounds like an X driver issue of some
sort. Filing with your distribution was appropriate. Alternatively, you can
file an upstream report at bugs.freedesktop.org.
Comment by Jan de Groot (JGC) - Saturday, 07 April 2012, 17:18 GMT
If it's not GDM that's crashing, it's probably X that crashes. Attaching Xorg.0.log(.old) would be nice.
Comment by Conner (quasifilmlie) - Saturday, 07 April 2012, 19:09 GMT
I am away from my computer for a couple of weeks but hopefully drtillberg can post theirs.
Comment by Conner (quasifilmlie) - Saturday, 07 April 2012, 21:35 GMT
Actually I think I might indeed be a gdm issue because I remember that when I would unplug the hdmi cable on gdm login I would get an oops/error pop-up like the ones you get when you login and it tells you one of your extensions is the problem and I fills the whole screen.
Comment by Conner (quasifilmlie) - Wednesday, 11 April 2012, 03:08 GMT
Had to come home from trip but at least I can help and try to squash this bug again. I am testing on my fake 720p tv (1360 x 768) and it is yielding different results. I can unplug the hdmi cable and use my desktop without the freezing but if I plug it in AGAIN the config is loaded properly and I have the top bar on the tv but when I unplug it AGAIN I get a black screen with a half cursor on the edge of the laptop screen and computer needs hard shutdown. This only happens after unplugging it the second time EVERY TIME. I will also mention that on my two 1080p tvs on forced reboot (me holding down the power button) I get an monitor config error logging in it says something like: unable to apply monitor configuration settings line 1 char 1 whitespace but not on the 720p tvs. All three tvs are samsungs no more than three years old.
Comment by Conner (quasifilmlie) - Wednesday, 11 April 2012, 13:46 GMT
Someone else with a similar setup is having the same problem. See here: https://bbs.archlinux.org/viewtopic.php?pid=1085815.
Comment by Fernando Costa (fernando_costa) - Wednesday, 11 April 2012, 14:27 GMT
Having the exactly same problem.

I already heard from Debian guys that this issue might me related to intel vga driver + xorg.

I wasn't having this issue before reinstalling my arch recently with the most updated packages (`pacman -Qs` attached -- just in case anyone wants to know)
Comment by Conner (quasifilmlie) - Wednesday, 11 April 2012, 14:34 GMT Comment by Conner (quasifilmlie) - Wednesday, 11 April 2012, 18:33 GMT
Bug supposedly fixed upstream. An Archer already reported here:

https://bugs.freedesktop.org/show_bug.cgi?id=47395
Comment by Paul Schaefer (pausch) - Wednesday, 11 April 2012, 22:35 GMT
I am having trouble with dual monitor, too. My entire system crashes when I plug my monitor in my laptop via VGA and configure the monitor to be left of my laptop.
Comment by Paul Schaefer (pausch) - Saturday, 14 April 2012, 09:43 GMT
  • Field changed: Percent Complete (100% → 0%)
still having trouble
Comment by Jan de Groot (JGC) - Sunday, 15 April 2012, 12:24 GMT
  • Field changed: Summary (Gnome Display Manager Crashes When HDMI Output is Disconnected → [xf86-video-intel] Gnome Display Manager Crashes When HDMI Output is Disconnected)
  • Field changed: Status (Unconfirmed → Waiting on Response)
  • Task assigned to Jan de Groot (JGC)
If the upstream bug at Freedesktop.org mentioned in the comments is the cause of this problem, this should be fixed in xf86-video-intel 2.18.0-3.
Comment by Conner (quasifilmlie) - Sunday, 15 April 2012, 15:44 GMT
Not fixed for me. Looks like the same error as before.


[ 215.600] BUG: triggered 'if (!dev->valuator || dev->valuator->numAxes < 2)'
[ 215.600] BUG: getevents.c:845 in scale_to_desktop()
[ 215.600]
[ 215.600] Backtrace:
[ 215.600] 0: /usr/bin/Xorg (xorg_backtrace+0x36) [0x55d276]
[ 215.600] 1: /usr/bin/Xorg (0x400000+0x47d1c) [0x447d1c]
[ 215.600] 2: /usr/bin/Xorg (0x400000+0x4823d) [0x44823d]
[ 215.600] 3: /usr/bin/Xorg (GetPointerEvents+0x387) [0x449877]
[ 215.600] 4: /usr/bin/Xorg (0x400000+0x148263) [0x548263]
[ 215.600] 5: /usr/bin/Xorg (miPointerWarpCursor+0xdb) [0x54867b]
[ 215.600] 6: /usr/bin/Xorg (0x400000+0x6a401) [0x46a401]
[ 215.600] 7: /usr/bin/Xorg (0x400000+0x148b91) [0x548b91]
[ 215.600] 8: /usr/bin/Xorg (0x400000+0xecc3f) [0x4ecc3f]
[ 215.601] 9: /usr/bin/Xorg (0x400000+0xd9368) [0x4d9368]
[ 215.601] 10: /usr/bin/Xorg (RRPointerScreenConfigured+0x73) [0x4d9563]
[ 215.601] 11: /usr/bin/Xorg (RRTellChanged+0xfb) [0x4d364b]
[ 215.601] 12: /usr/bin/Xorg (RRCrtcSet+0x198) [0x4d44e8]
[ 215.601] 13: /usr/bin/Xorg (ProcRRSetCrtcConfig+0x3e9) [0x4d5539]
[ 215.601] 14: /usr/bin/Xorg (0x400000+0x33f52) [0x433f52]
[ 215.601] 15: /usr/bin/Xorg (0x400000+0x23165) [0x423165]
[ 215.601] 16: /lib/libc.so.6 (__libc_start_main+0xf5) [0x7fed584cc455]
[ 215.601] 17: /usr/bin/Xorg (0x400000+0x2343d) [0x42343d]
[ 215.601]

Name : xf86-video-intel
Version : 2.18.0-3
URL : http://xorg.freedesktop.org/
Licenses : custom
Groups : xorg-drivers xorg
Provides : None
Depends On : intel-dri libxvmc libpciaccess libdrm xcb-util>=0.3.8 libxfixes udev
Optional Deps : None
Required By : None
Conflicts With : xorg-server<1.12.0 xf86-video-i810 xf86-video-intel-legacy
Replaces : None
Installed Size : 808.00 KiB
Packager : Jan de Groot <jgc@archlinux.org>
Architecture : x86_64
Build Date : Sun 15 Apr 2012 08:18:04 AM EDT
Install Date : Sun 15 Apr 2012 07:27:54 AM EDT
Install Reason : Explicitly installed
Install Script : No
Description : X.org Intel i810/i830/i915/945G/G965+ video drivers

xf86-video-intel: 19 total files, 0 missing files

i did pacman -U for the intel package. my mirror had xorg-server 1.12.1-2 though.
Comment by Fernando Costa (fernando_costa) - Monday, 16 April 2012, 18:57 GMT
For me too nothing changed after updating to the xf86-video-intel 2.18.0-3 -- actually I also did a `pacman -Syu`

Curiously, my .xsession-error is empty.
Comment by Conner (quasifilmlie) - Friday, 20 April 2012, 03:12 GMT
I have posted a workaround on launchpad: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/921236?comments=all. My workaround was tested on Arch and Ubuntu 12.04. There is also a workaround here: https://bbs.archlinux.org/viewtopic.php?id=137593 that I have not tried.
Comment by Zidane (Zidane) - Wednesday, 25 April 2012, 03:34 GMT
Same bug, but with one monitor and nvidia card(proprietary driver) and two sets of mouses and keyboards. (i686 arch)
One set is ps/2 mouse and keyboard, and with this set all OK.
With two set A4Tech Mouse + Keyboard linked to PC by one usb dongle, Xorg crashes in Minecraft when i press "E" button (to open inventory).
Errors in Xorg:
[ 215.600] BUG: triggered 'if (!dev->valuator || dev->valuator->numAxes < 2)'
[ 215.600] BUG: getevents.c:845 in scale_to_desktop()
[ 215.600]
[ 215.600] Backtrace:
[ 215.600] 0: /usr/bin/Xorg (xorg_backtrace+0x36) [0x5
Comment by Conner (quasifilmlie) - Wednesday, 25 April 2012, 19:59 GMT
This makes me think that this bug is not intel related but instead related to xf86-input-synaptics and mouse. As I posted in launchpad, I do not get the x freeze when I have my cursor on the laptop screen and I unplug the hdmi cable to my tv.
Comment by Zidane (Zidane) - Thursday, 26 April 2012, 03:27 GMT
In addition, researched backtrace:
[ 135.990] Backtrace:
[ 135.990] 0: /usr/bin/X (xorg_backtrace+0x48) [0x81f42e8]
[ 135.991] 1: /usr/bin/X (0x8048000+0x4ab4d) [0x8092b4d] scale_to_desktop
[ 135.991] 2: /usr/bin/X (0x8048000+0x4ba12) [0x8093a12] fill_pointer_events
[ 135.991] 3: /usr/bin/X (0x8048000+0x4be57) [0x8093e57] emulate_scroll_button_events
[ 135.991] 4: /usr/bin/X (GetPointerEvents+0x2af) [0x8094186] GetPointerEvents
[ 135.991] 5: /usr/bin/X (0x8048000+0x195927) [0x81dd927] miPointerMove
[ 135.991] 6: /usr/bin/X (miPointerWarpCursor+0xe6) [0x81dcdb5] miPointerWarpCursor
[ 135.991] 7: /usr/bin/X (0x8048000+0x77b2b) [0x80bfb2b] xf86WarpCursor
[ 135.991] 8: /usr/bin/X (0x8048000+0x194ae3) [0x81dcae3] miPointerSetCursorPosition
[ 135.991] 9: /usr/bin/X (0x8048000+0x11c14e) [0x816414e] AnimCurSetCursorPosition
[ 135.991] 10: /usr/bin/X (ProcWarpPointer+0x3fe) [0x8086daa] ProcWarpPointer
[ 135.991] 11: /usr/bin/X (0x8048000+0x28106) [0x8070106] Dispatch
[ 135.991] 12: /usr/bin/X (0x8048000+0x1a957) [0x8062957] main
[ 135.991] 13: /lib/libc.so.6 (__libc_start_main+0xf5) [0xb741f3d5]
[ 135.991] 14: /usr/bin/X (0x8048000+0x1a321) [0x8062321]
Comment by Zidane (Zidane) - Thursday, 26 April 2012, 08:49 GMT
Xorg really not crashes, it's goes to infinity loop(in my case) or something like this.
I setuped "Debugging with one machine Version 1" from "http://www.x.org/wiki/Development/Documentation/ServerDebugging" and after rebooting i see in debug files: xorg don't crashed.
Then i give xorg pid and run "sleep 60 && kill -n 11 xorg_pid", run minecraft and make it to freeze X.
Now i have real gdb backtrace.
Comment by Zidane (Zidane) - Thursday, 26 April 2012, 09:52 GMT
Yeah, for me it's infinity loop:

while ((fabs(delta) >= fabs(incr)) && (bug == 0)) {
int nev_tmp;

if (delta > 0)
delta -= fabs(incr);
else if (delta < 0)
delta += fabs(incr);

when
delta = 548.33340590666785
incr = 6.3659874129151343e-314

with attached patch all goes OK, but im not sure it's correct, but solve problem.
Comment by Zidane (Zidane) - Thursday, 26 April 2012, 11:14 GMT
alternative patch, and it looks better (but i cannot to test it now)

this silly mistake firstly appeared in http://cgit.freedesktop.org/xorg/xserver/commit/dix/getevents.c?id=3304bbff9b4ed63f1a47410a5320a136420ba2c6 commit.

+ * Copyright © 2011 The Chromium Authors
Oh, now i see where are from this buggy code.
Comment by Zidane (Zidane) - Thursday, 26 April 2012, 11:54 GMT
Comment by Zidane (Zidane) - Friday, 27 April 2012, 08:23 GMT Comment by Zidane (Zidane) - Friday, 27 April 2012, 10:58 GMT
Comment by Conner (quasifilmlie) - Monday, 30 April 2012, 01:35 GMT
alter.patch works for me! No more crashes.
Comment by Zidane (Zidane) - Tuesday, 01 May 2012, 16:02 GMT Comment by Ryan Cragun (moted) - Friday, 04 May 2012, 23:45 GMT
I took the official upstream patch and made a working PKGBUILD for https://aur.archlinux.org/packages.php?ID=38483

Seems to have taken care of the problem for me.
Comment by Ryan Cragun (moted) - Saturday, 05 May 2012, 04:13 GMT
I took the official upstream patch and made a working PKGBUILD for https://aur.archlinux.org/packages.php?ID=38483

Seems to have taken care of the problem for me.
Comment by Zidane (Zidane) - Monday, 14 May 2012, 00:25 GMT
Bug was fixed in testing xorg-server-1.12.1.901-2
Comment by Conner (quasifilmlie) - Monday, 14 May 2012, 02:30 GMT
Fixed here also.

Loading...