* 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.