All of lore.kernel.org
 help / color / mirror / Atom feed
* Crash with Xinerama enabled [patch]
@ 2009-05-03 23:16 Pierre Pronchery
  0 siblings, 0 replies; only message in thread
From: Pierre Pronchery @ 2009-05-03 23:16 UTC (permalink / raw)
  To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

[-- Attachment #1: Type: text/plain, Size: 1878 bytes --]

			Dear nouveau hackers,

I got as far as figuring out that Xinerama is deprecated now... Too bad
WindowMaker doesn't play well with RandR. While painfully learning about
it, I managed to crash my Xorg 1.5.3 server through the nouveau driver.
The attached patch fixes it.

To reproduce the crash, simply run X with Xinerama enabled.

$ gdb hw/xfree86/Xorg Xorg.core
[...]
Core was generated by `Xorg'.
Program terminated with signal 6, Aborted.
#0  0xbb80d407 in uuid_hash () from /usr/lib/libc.so.12
(gdb) bt
#0  0xbb80d407 in uuid_hash () from /usr/lib/libc.so.12
#1  0x0809a05c in ddxGiveUp () at xf86Init.c:1472
#2  0x08117bec in AbortServer () at log.c:407
#3  0x0811808b in FatalError (
     f=0x8189dd8 "Caught signal %d.  Server aborting\n") at log.c:553
#4  0x080afb45 in xf86SigHandler (signo=-1077945400) at xf86Events.c:593
#5  0xbb85b370 in __opendir2 () from /usr/lib/libc.so.12
#6  0xbb5d0294 in NVLoadPalette (pScrn=0xbb646000, numColors=256,
     indices=0xbb611c00, colors=0xbb649800, pVisual=0xbb62f5b0)
     at nv_driver.c:1890
#7  0x080b4962 in CMapRefreshColors (pmap=0xbb6b6000, defs=256,
     indices=0xbb611c00) at xf86cmap.c:644
#8  0x080b4ddc in CMapReinstallMap (pmap=0xbb6b6000) at xf86cmap.c:517
#9  0x080b5db9 in xf86HandleColormaps (pScreen=0xbb6344e0, maxColors=256,
     sigRGBbits=8, loadPalette=0xbb5d018c <NVLoadPalette>, setOverscan=0,
     flags=<value optimized out>) at xf86cmap.c:216
#10 0xbb5d2a89 in NVScreenInit (scrnIndex=0, pScreen=0xbb6344e0, argc=9,
     argv=0xbfbfe978) at nv_driver.c:2246
#11 0x08069066 in AddScreen (pfnInit=0xbb5d2090 <NVEnterVT+512>, argc=9,
     argv=0xbfbfe978) at main.c:746
#12 0x0809aaaf in InitOutput (pScreenInfo=0x81c6300, argc=9, 
argv=0xbfbfe978)
     at xf86Init.c:1258
#13 0x0806977f in main (argc=9, argv=0xbfbfe978, envp=Cannot access 
memory at address 0x8
) at main.c:358

HTH,
-- 
khorben

[-- Attachment #2: nouveau.diff --]
[-- Type: text/plain, Size: 409 bytes --]

diff --git a/src/nv_driver.c b/src/nv_driver.c
index 92232dd..920efc4 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -1927,7 +1927,8 @@ NVLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices,
 		}
 
 		/* Make the change through RandR */
-		RRCrtcGammaSet(crtc->randr_crtc, lut_r, lut_g, lut_b);
+		if(crtc->randr_crtc != NULL)
+			RRCrtcGammaSet(crtc->randr_crtc, lut_r, lut_g, lut_b);
 	}
 }
 

[-- Attachment #3: Type: text/plain, Size: 181 bytes --]

_______________________________________________
Nouveau mailing list
Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2009-05-03 23:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-03 23:16 Crash with Xinerama enabled [patch] Pierre Pronchery

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.