Bug 20389

Summary: X crash on multi screen set-up
Product: xorg Reporter: jebus <jebusthesaviour>
Component: Server/GeneralAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED DUPLICATE QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: high    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description jebus 2009-02-28 17:04:06 UTC
System:
Fedora 10 x86_64.
3 * 1680x1050 displays.
2.6.27.12-170.2.5.fc10.x86_64 #1 SMP.
nvidia nvs 440 graphics card, has two GPUs and 2x2 DVI connections.
X.Org X Server 1.5.3
Release Date: 5 November 2008
X Protocol Version 11, Revision 0

What happens?:
Reoccurring crash, involves mouse click triggering some sort of event
which makes further mouse clicks unavailable.
Can still move mouse cursor, but as mentioned after the event no more
clicks are registered.
Short time later X crashes. Keyboard can be used throughout, just mouse
is affected before crash.

Notes:
Never happened with Twinview on dual screen set-up.
Seems to happen only with Xinerama. -"Is it true that with a 3 screen
set-up you can only use separate X screens?"
Xorg.log looks error free.

Files:
xorg.conf config -> http://pastebin.com/m3b98d45b
Xorg.0.log.old -> http://pastebin.com/mc4f715f

/var/log/message:
Feb 27 01:34:26 localhost kernel: Xorg[9274]: segfault at 4 ip
0000000000509371 sp 00007fffe9aa0390 error 4 in Xorg[400000+1aa000]
Comment 1 Jeremy Rumpf 2010-03-30 08:48:06 UTC
This is due to Xinerama, the following patch fixed the issue for me. Sorry, I can't cite the original author. I'm also not sure if it's in the GIT sources or not. If it is, someone should moved this bug to FIXED:


--- a/mi/mipointer.c
+++ b/mi/mipointer.c
@@ -332,7 +332,14 @@ miPointerWarpCursor (DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y)
        pPointer->pScreen = pScreen;
     }

-    if (changedScreen)
+    /* Don't call USFS if we use Xinerama, otherwise the root window is
+     * updated to the second screen, and we never receive any events.
+     * (FDO bug #18668) */
+    if (changedScreen
+#ifdef PANORAMIX
+            && noPanoramiXExtension
+#endif
+       )
         UpdateSpriteForScreen (pDev, pScreen) ;
 }
Comment 2 Jeremy Rumpf 2010-03-30 08:49:32 UTC
Original Fix is in Bug 18668

*** This bug has been marked as a duplicate of bug 18668 ***

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.