Comment 6 for bug 300310

Revision history for this message
In , Frans Pop (elendil) wrote :

Created an attachment (id=22086)
Full Xorg log

I have a HP 2510p notebook with docking station running Debian Lenny, kernel is self-compiled 2.6.28.

When I log in to KDE, a script is started automatically that "listens" for dock/undock events and automatically calls xrandr to enable/disable dual-display (Xinerama).

I get an Xserver crash if I start a VirtualBox 2.1.0 virtual machine after undocking the notebook while the LVDS is off. After the crash Xorg.0.log.old contains:
<snip>
Backtrace:
0: /usr/bin/X(xf86SigHandler+0x6a) [0x48dd0a]
1: /lib/libc.so.6 [0x7fe702829f60]
2: /usr/bin/X(VidModeGetFirstModeline+0x5b) [0x49053b]
3: /usr/bin/X(VidModeGetNumOfModes+0x42) [0x490772]
4: /usr/lib/xorg/modules/extensions//libextmod.so [0x7fe701c60040]
5: /usr/bin/X(Dispatch+0x342) [0x44f7e2]
6: /usr/bin/X(main+0x4a5) [0x436bd5]
7: /lib/libc.so.6(__libc_start_main+0xe6) [0x7fe7028161a6]
8: /usr/bin/X(FontFileCompleteXLFD+0x281) [0x435e99]

Fatal server error:
Caught signal 11. Server aborting
</snip>

After the crash I see display corruption of VT1 (after switching consoles or during shutdown).
I am using the VESA framebuffer on VT1 (vga=791). The corruption is that after a console switch most of the display is either black or shows part of the KDE desktop; at the bottom there is an area of grey horizontal stripes, and at the top there is a small bar where the text of the console looks to be displayed, but in an extremely small font (unreadable, but you can just recognize console messages "scrolling" in that area).
Switching back from VT1 to X.Org works correctly, and if I log in to X.Org again and retry VirtualBox it works correctly. A reboot is needed to get VT1 displayed correctly again.

The issue can be reproduced both with PAT and without PAT enabled for the kernel and also happens with kernel version 2.6.26.3. I've seen it happen with both with VirtualBox 2.0.1 and 2.1.0.

The crash can be reproduced as follows:
- boot with notebook docked
- log in to KDE and activate dual display with:
  xrandr --output VGA --left-of LVDS --mode 1280x1024
- disable the laptop display:
  xrandr --output LVDS --off
- undock the notebook, which results in:
  xrandr --output LVDS --auto --output VGA --off
- start VirtualBox virtual machine

The crash does not happen if I redock the notebook before starting VirtualBox. The display corruption on VT1 only happens after an X.Org crash.

I can also reproduce it if I disable the dock/undock script and instead run these xrandr commands manually.

Interesting is that the crash does not happen if I split the last xrandr command and first activate the LVDS and only then disable the VGA.
So if instead of:
xrandr --output LVDS --auto --output VGA --off
I do:
xrandr --output LVDS --auto
xrandr --output VGA --off