Bug 29643 - Display switches to console when kernel logs a line
Summary: Display switches to console when kernel logs a line
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-18 00:48 UTC by Aleš Smodiš
Modified: 2014-07-28 02:14 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Kernel 2.6.35.2 configuration (79.19 KB, application/octet-stream)
2010-08-18 00:48 UTC, Aleš Smodiš
no flags Details
dmesg section involving graphics cards initialization (5.90 KB, text/plain)
2010-08-18 00:49 UTC, Aleš Smodiš
no flags Details
xorg configuration (4.13 KB, text/plain)
2010-08-18 00:50 UTC, Aleš Smodiš
no flags Details
X server log for the primary card (141.46 KB, text/plain)
2010-08-18 00:51 UTC, Aleš Smodiš
no flags Details
Full dmesg (112.45 KB, text/plain)
2010-08-18 03:26 UTC, Aleš Smodiš
no flags Details

Description Aleš Smodiš 2010-08-18 00:48:40 UTC
Created attachment 37941 [details]
Kernel 2.6.35.2 configuration

I'm running a multiseat core i7 machine with Debian Squeeze installed, latest xf86-video-ati from the master git branch, kernel 2.6.35.2, two Radeon 4670 cards.

Every so often the X display on the primary card switches to console, and this appears to happen only after the kernel logs something to the console, but not always when the kernel logs something does this switch happen. E.g. if I plug in a USB device chances are that the X display switches to console, because the kernel logs a new device. The problem is that it appears the computer still thinks it's showing me the X display, because I can see and move the mouse pointer over the text in console, and can do actions on the X desktop with the mouse and keyboard, although blindfold.

I can restore the X display if I fiddle with its settings, e.g.:
xrandr -o left
displays back the X display, rotated of course, so I do
xrandr -o normal
to get it all back to normal.

My setup involves a kdm login manager configured with two X servers (running KDE 4.4.5).
Comment 1 Aleš Smodiš 2010-08-18 00:49:49 UTC
Created attachment 37942 [details]
dmesg section involving graphics cards initialization
Comment 2 Aleš Smodiš 2010-08-18 00:50:31 UTC
Created attachment 37943 [details]
xorg configuration
Comment 3 Aleš Smodiš 2010-08-18 00:51:55 UTC
Created attachment 37944 [details]
X server log for the primary card
Comment 4 Dave Airlie 2010-08-18 03:15:25 UTC
can you attach the full dmesg?

I think I know what is possibly causing it but I need to see if you have a lockdep warning somewhere.
Comment 5 Aleš Smodiš 2010-08-18 03:26:27 UTC
Created attachment 37946 [details]
Full dmesg

I'm attaching the full dmesg. I've got a few switches to console (didn't count, about 3 or 4) up till now, all recovered from by logging in remotely and doing the xrandr trick. Doesn't show up in the dmesg, as far as I can tell, or in any other logs.
Comment 6 Aleš Smodiš 2010-08-18 22:46:35 UTC
Here's another clue for the bug that causes switching the X display to console. Another switch to console on the primary card happened to me, but this time kernel didn't log anything. But it happened at the same time the display on the secondary card came out of the DPMS off state.
It looks as if this bug isn't directly related to kernel logging afterall.
Comment 7 Aleš Smodiš 2010-08-25 13:42:53 UTC
I've been running the machine for 8 days straight now and I have some more details to report about the bug. First, it's not correlated with kernel logging, I'm sorry about that. The thing is both monitors have a builtin usb hub, both of which are connected to the computer, and to one of which an usb disk is occasionally connected, and monitors get turned on and off occasionally, thus causing the said kernel logging about new devices and adding to (my) confusion.

When the monitor on the secondary card is put to sleep via DPMS and remains there for a long time (my experiments show it has to be at least 1 hour to consistently trigger the bug, sometimes only half an hours suffices), and then a mouse drag triggers it to be woken up, then the display on the primary card is switched to display the console. The mouse and keyboard dedicated to the second display are a wireless usb combo, meaning both are connected with the same usb cable. I don't know whether that matters, but the thing is that if I wake up the monitor on the secondary card with the keyboard by pressing a key, the secondary display is woken up without switching the primary display to console. But afterwards the first mouse action on the secondary display will switch the primary display to console. I've tried this combined action (first keyboard, then mouse) about 5 times now, and I've tried only a mouse drag for at least 30 times now, and I've consistently had the same results I just described.

Sometimes, very rarely, the primary display would enter DPMS sleep in the middle of my work, and no mouse drag or keyboard action would get it out of the sleep, only a blind or remote "xset -dpms". That never happens on the secondary display.

Sometimes, not so rarely, the computer's load in the middle of a video playback would increase so much that video wouldn't playback smoothly anymore, and that would go on for about 3 to 5 minutes, then load suddenly decreases and video playback goes back to normal.
Here's how things look like during normal playback:

top - 21:55:18 up 8 days,  2:34,  6 users,  load average: 0.61, 0.57, 0.67
Tasks: 408 total,   2 running, 406 sleeping,   0 stopped,   0 zombie
Cpu0  :  0.3%us,  0.7%sy,  0.0%ni, 99.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  2.0%us,  0.3%sy,  0.0%ni, 97.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  1.7%us,  1.3%sy,  0.0%ni, 97.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu4  :  3.6%us,  0.3%sy,  0.0%ni, 96.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu5  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu6  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu7  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   6120404k total,  5808616k used,   311788k free,   451616k buffers
Swap: 10490364k total,     3436k used, 10486928k free,  3067668k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                        
 8668 aless     20   0  447m  40m  17m R    5  0.7  13:02.51 konsole                                                                        
10456 aless     20   0 1105m 731m  29m S    3 12.2 109:26.94 opera                                                                          
23454 aless     20   0  286m  18m  10m S    2  0.3   0:04.31 mplayer                                                                        
 3645 root      20   0  179m  39m 5616 S    1  0.7  97:34.46 Xorg                                                                           
16599 ziva      20   0 1003m  82m  39m S    1  1.4  25:18.03 plasma-desktop                                                                 
16629 ziva      20   0  642m  72m  34m S    1  1.2  32:55.08 ktorrent                                                                       
20911 aless     20   0 19376 1556  928 R    1  0.0   0:06.92 top                                                                            
 3636 root      20   0  172m  38m 4648 S    0  0.6  64:25.90 Xorg                                                                           
16593 ziva      20   0  503m  37m  26m S    0  0.6  37:13.40 kwin                                                                           
    1 root      20   0  8400  720  676 S    0  0.0   0:07.54 init                                                                           
    2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd                                                                       
    3 root      20   0     0    0    0 S    0  0.0   0:02.30 ksoftirqd/0                                                                    
    4 root      RT   0     0    0    0 S    0  0.0   0:00.83 migration/0                                                                    
    5 root      RT   0     0    0    0 S    0  0.0   0:00.41 migration/1                                                                    
    6 root      20   0     0    0    0 S    0  0.0   0:02.62 ksoftirqd/1                                                                    

And here's how things look like during one of such "load attacks":

top - 21:19:39 up 8 days,  1:58,  6 users,  load average: 5.16, 3.23, 1.85
Tasks: 414 total,   3 running, 411 sleeping,   0 stopped,   0 zombie
Cpu0  : 11.1%us, 61.1%sy,  0.0%ni, 27.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  2.4%us, 22.0%sy,  0.0%ni, 75.6%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  : 11.8%us, 76.5%sy,  0.0%ni, 11.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  0.0%us, 75.0%sy,  0.0%ni, 25.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu4  :  0.9%us,  3.6%sy,  0.0%ni, 95.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu5  :  0.0%us, 25.0%sy,  0.0%ni, 75.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu6  : 33.3%us, 55.6%sy,  0.0%ni, 11.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu7  :  7.1%us,  7.1%sy,  0.0%ni, 85.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   6120404k total,  5581688k used,   538716k free,   448916k buffers
Swap: 10490364k total,     3436k used, 10486928k free,  2820020k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                        
19086 aless     20   0  286m  18m  10m S    1  0.3   0:21.23 mplayer                                                                        
 3645 root      20   0  179m  39m 5616 S    1  0.7  97:10.31 Xorg                                                                           
 8668 aless     20   0  446m  40m  17m S    1  0.7  11:39.50 konsole                                                                        
16629 ziva      20   0  642m  72m  34m S    1  1.2  32:43.17 ktorrent                                                                       
 3636 root      20   0  172m  38m 4648 S    0  0.6  64:22.22 Xorg                                                                           
10456 aless     20   0 1104m 731m  29m S    0 12.2 107:57.18 opera                                                                          
16543 ziva      20   0 24788 2324  640 S    0  0.0   8:07.35 dbus-daemon                                                                    
16593 ziva      20   0  503m  37m  26m S    0  0.6  37:09.94 kwin                                                                           
16599 ziva      20   0 1003m  82m  39m S    0  1.4  25:09.44 plasma-desktop                                                                 
    1 root      20   0  8400  720  676 S    0  0.0   0:07.53 init                                                                           
    2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd                                                                       
    3 root      20   0     0    0    0 S    0  0.0   0:02.28 ksoftirqd/0                                                                    
    4 root      RT   0     0    0    0 S    0  0.0   0:00.83 migration/0                                                                    
    5 root      RT   0     0    0    0 S    0  0.0   0:00.41 migration/1                                                                    
    6 root      20   0     0    0    0 S    0  0.0   0:02.61 ksoftirqd/1                                                                    

I have no clue about what's causing this load, from the above no user process appears to be responsible for it. I'm only mentioning it here because sometimes the load increases even up to 9 or above, and then it is likely that suddenly, during the ongoing stuttering playback, the display is suddenly put into sleep mode (DPMS), stays there for about 3 or 4 seconds (with stutering video still playing), and is then turned back on, then some more of the stuttering video until the load decreases, and then everything is back to normal.

The video playback problems appear only on the primary display. Otherwise, the two video cards are identical Radeon 4670 cards.

In the kernel log I've noticed the next line to appear 3 times in the previous 8 days of uptime (today, yesterday, and 3 days ago):

[drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID

but I'm not exactly sure what I was doing at the time, my guess is I was doing the xrandr trick to switch back from console to X display. Also regarding this xrandr trick, the last few days I was noticing that after the first "xrandr -o left" I don't get a rotated display anymore, but the normal X display, only it has the same symptoms as the console display after a switch: I can do actions blindly, but the display stays static in the state that it was awakened in, only the next "xrandr -o normal" puts things back to normal, where also the results of any actions done blindly before are seen.
Comment 8 Aleš Smodiš 2014-07-27 14:10:49 UTC
I'd like to report that since I upgraded to Debian Wheezy, this bug doesn't manifest itself anymore. The same multiseat machine with two Radeon 4670 cards now works without a hitch for about a year already.

Only original Debian packages are installed on the machine, nothing from separate git repositories or similar. The old xorg.conf didn't work correctly with the new kdm version for some reason, but then I found an excellent guide for configuring a multiseat machine on a Gentoo wiki page: http://wiki.gentoo.org/wiki/Multiseat . Perhaps the troubles I was having on Debian Squeeze were caused due to misconfiguration. As is described in the mentioned wiki page, now I have two separate short xorg configurations, each for a separate X server (left and right seat), and udev tagging of input devices for exclusive use with separate seats, set in each xorg configuration.

I suggest closing this bug.
Comment 9 Michel Dänzer 2014-07-28 02:14:28 UTC
(In reply to comment #8)
> I suggest closing this bug.

You can do that yourself BTW. :) Doing so now, thanks for the followup and glad it's working for you now.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.