Xorg with two video cards crashes or locks up

Bug #139990 reported by Antti Laiti
6
Affects Status Importance Assigned to Milestone
xorg-server (Ubuntu)
Fix Released
Medium
Bryce Harrington

Bug Description

Binary package hint: xserver-xorg

I am using a dual screen layout: 1600x1200 TFT connected to Intel Q965 integrated graphics and 1280x720 DLP projector connected to ATI Radeon 9250 PCI. Both displays work individually, but using them at the same time makes Xorg crash on startup.

startx -- -layout tft is OK
startx -- -layout dlp is OK
startx -- -layout dual CRASHES

At the end of Xorg.0.log it says:

Backtrace:
0: /usr/bin/X(xf86SigHandler+0x6d) [0x4866cd]
1: /lib/libc.so.6 [0x2ba9aa8247d0]
2: /usr/bin/X(RRFirstOutput+0x15) [0x523795]
3: /usr/bin/X(ProcRRGetScreenInfo+0x3ed) [0x529dbd]
4: /usr/bin/X(Dispatch+0x1db) [0x4514ab]
5: /usr/bin/X(main+0x45d) [0x439f0d]
6: /lib/libc.so.6(__libc_start_main+0xf4) [0x2ba9aa810b44]
7: /usr/bin/X(FontFileCompleteXLFD+0x229) [0x439209]

Fatal server error:
Caught signal 11. Server aborting

my xorg.conf & full Xorg.0.log available at: http://antti.laiti.fi/radeon_problem/

I am using Ubuntu gutsy. Package versions:

xserver-xorg 1:7.2-5ubuntu9
xserver-xorg-video-ati 1:6.6.193-1ubuntu1
xserver-xorg-video-intel 2:2.1.1-0ubuntu2

A similar layout with R9250 AGP & R9250 PCI worked fine on feisty.

Related branches

Revision history for this message
Antti Laiti (pulk) wrote :
Revision history for this message
Antti Laiti (pulk) wrote :
Changed in xorg:
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Antti Laiti (pulk) wrote :

Seems that this happens also with other dual screen configurations.
When using only the intel chipset backtrace is longer:

0: /usr/bin/X(xf86SigHandler+0x6d) [0x4866cd]
1: /lib/libc.so.6 [0x2adf867897d0]
2: /usr/lib/xorg/modules/drivers//intel_drv.so [0x2adf882f0753]
3: /usr/lib/xorg/modules/drivers//intel_drv.so [0x2adf882f0b8e]
4: /usr/lib/xorg/modules/drivers//intel_drv.so [0x2adf882f1d12]
5: /usr/lib/xorg/modules/drivers//intel_drv.so(i830_allocate_2d_memory+0x110) [0x2adf882f1fd0]
6: /usr/lib/xorg/modules/drivers//intel_drv.so [0x2adf882eda42]
7: /usr/bin/X(AddScreen+0x222) [0x439522]
8: /usr/bin/X(InitOutput+0x268) [0x468a48]
9: /usr/bin/X(main+0x275) [0x439d25]
10: /lib/libc.so.6(__libc_start_main+0xf4) [0x2adf86775b44]
11: /usr/bin/X(FontFileCompleteXLFD+0x229) [0x439209]

Revision history for this message
Antti Laiti (pulk) wrote :

I found some more info of the crashing with ’intel’ driver:

(EE) intel(1): Internal Error: maxCacheLines < 0 in i830_allocate_2d_memory()
(II) intel(1): Allocating 0 scanlines for pixmap cache

Backtrace:
0: /usr/bin/X(xf86SigHandler+0x6d) [0x48670d]
1: /lib/libc.so.6 [0x2ad8a23777d0]

and so on.

Revision history for this message
Antti Laiti (pulk) wrote :

I succeeded to get a core dump.

Revision history for this message
buntunub (mckisick) wrote :

I also can confirm this with an NVIDIA 6150 integrated chipset when trying to setup dual screens (default=1280x800, and 1280x1024 external monitor) when using the Gutsy screens and graphics tool with restricted driver enabled. After X is restarted, both screens dump to highest resolution specified, 1280x1024. I have only gotten dual screens to work once by putting the second monitor to "to the bottom" setting. This has also generated crash reports via apport on multiple occaisions, which I did upload.

Revision history for this message
damaru (damaru) wrote :

I see the same behavior with ATI Mobility Radeon X300. package versions:

xserver-xorg 1:7.2-5ubuntu13
xserver-xorg-video-ati 1:6.7.195-1ubuntu2

Also, I used to work with two external monitors with my T43 laptop. After the latest upgrate, I am unable to get one of the monitors working together (even fails to work in mirror mode). some relevant info:

~ > xrandr
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 1400 x 1200
VGA-0 connected 1280x1024+0+0 (normal left inverted right) 376mm x 301mm
   1280x1024 60.0*+ 76.0 75.0 71.9 69.8 59.9
   1152x864 75.0 74.8
   1024x768 75.1 70.1 60.0
   832x624 74.6
   800x600 72.2 75.0 60.3
   640x480 75.0 72.8 66.7 60.0
   720x400 70.1
DVI-0 connected 1280x1024+0+0 (normal left inverted right) 376mm x 301mm
   1280x1024 60.0*+ 76.0 75.0 71.9 69.8 59.9
   1152x864 75.0 74.8
   1024x768 75.1 70.1 60.0
   832x624 74.6
   800x600 72.2 75.0 60.3
   640x480 75.0 72.8 66.7 60.0
   720x400 70.1
LVDS connected (normal left inverted right)
   1400x1050 50.0 +
   1280x1024 59.9
   1280x800 60.0
   1280x768 60.0
   1024x768 60.0
   800x600 60.3
   640x480 59.9

I want to have LVDS and VGA-0 working together. But I can only get LVDS and DVI-0 in mirror mode.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

It's not going to work until upstream has finished laying the groundwork for some infrastructure. Maybe for Hardy+1, more likely Hardy+2.

Revision history for this message
Bryce Harrington (bryce) wrote :

Even though this is really a wishlist thing, patching to fix the segfault looks pretty easy...

Revision history for this message
Bryce Harrington (bryce) wrote :

Here's a patch against the jaunty xserver. Doubt it could hurt to have an extra nullptr check here, and if this bug still exists with jaunty, this patch would stop the segfaulting.

Changed in xorg-server:
status: Triaged → In Progress
Revision history for this message
Bryce Harrington (bryce) wrote :

I've filed the wishlist for support for multi-video cards as bug #316514.
This bug can be closed once the null ptr check is in.

Bryce Harrington (bryce)
Changed in xorg-server:
assignee: nobody → bryceharrington
Revision history for this message
Bryce Harrington (bryce) wrote :

Pushed into our git tree; will go out after the alpha-5 freeze is lifted.

Changed in xorg-server:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xorg-server - 2:1.6.0-0ubuntu1

---------------
xorg-server (2:1.6.0-0ubuntu1) jaunty; urgency=low

  [ Bryce Harrington ]
  * New upstream release
    - Fixes segfault during X startup for drivers with RANDR < 1.2
      (LP: #319210)
    - Fixes EDID for monitors that incorrectly report aspect ratio instead
      of resolution (LP: #311485)
    - Fixes issue where X stops responding to mouse clicks after some time
      if using Xinerama. (LP: #296167)
  * Add 162_null_crtc_in_rotation.patch: Fixes crash when two displays on
    separate cards are attached. X doesn't work with multiple cards yet,
    but crashing is not an appropriate way to handle such a situation.
    (LP: #139990)

  [ Timo Aaltonen ]
  * 159_xinerama_focus.patch,
    161_force_paired_kbd_device.patch:
    - Dropped, applied upstream

 -- Bryce Harrington <email address hidden> Fri, 06 Mar 2009 14:44:31 -0800

Changed in xorg-server:
status: Fix Committed → Fix Released
Revision history for this message
Bryce Harrington (bryce) wrote :

We've carried this patch for a few years, meantime a number of improvements have been made to upstream handling of multi-GPU.

We're going to optimistically drop this patch in hopes that whatever situation led to the crash are long since gone. This bug is kind of a corner case we don't expect very many people to encounter, so this is a low risk way of handling it. However, if anyone does see this still happening, please file a new bug report (and reference this one).

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

Other bug subscribers

Remote bug watches

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