[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#568170: xserver-xorg-video-nv: nv driver causes segfault in X server during InitOutput



Hi,

branen salmon <bsalmon+bugs@3tier.com> (02/02/2010):
> After upgrading to xserver-xorg-video-nv 2.1.15-1 and
> xserver-xorg-core 1.7.4-2, X segfaults on startup.  The X server
> then sits there and spins, consuming 100% of one CPU until I send it
> a SIGKILL.  Attaching with strace or ltrace to the X server while
> it's spinning doesn't produce output.
>
> Here's the Xorg.0.log backtrace:
> 0: /usr/bin/X (xorg_backtrace+0x3b) [0x80e68cb]
> 1: /usr/bin/X (0x8048000+0x60ad5) [0x80a8ad5]
> 2: (vdso) (__kernel_rt_sigreturn+0x0) [0xf7709410]
> 3: /usr/bin/X (xf86CrtcSetModeTransform+0x3f9) [0x80ce3a9]

sounds actually like a bug in the server, triggered by the nv
driver. I guess it's fixed by the following commit upstream:
,----
| commit 1e6fd65d0b95260253828678131885a4ec21c594
| Author: Michael Vogt <mvo@ubuntu.com>
| Date:   Mon Jan 25 18:41:20 2010 +0100
|
|     xfree86/modes: only call gamma_set if its non NULL
|
|     I ran accross a crash with xf86-video-nv-2.1.15 [1] and xserver
|     1.7.3.901. It looks like the problem is that gamma_set is called even
|     if that is NULL.
|
|     [1] https://launchpad.net/bugs/494627
|
|     Reviewed-By: Matthias Hopf <mhopf@suse.de>
|     Signed-off-by: Julien Cristau <jcristau@debian.org>
|     Signed-off-by: Keith Packard <keithp@keithp.com>
`----

You may want to apply it against the xorg-server source package to
check how it goes. I'm attaching it for your convenience.

Mraw,
KiBi.
From 1e6fd65d0b95260253828678131885a4ec21c594 Mon Sep 17 00:00:00 2001
From: Michael Vogt <mvo@ubuntu.com>
Date: Mon, 25 Jan 2010 18:41:20 +0100
Subject: [PATCH] xfree86/modes: only call gamma_set if its non NULL

I ran accross a crash with xf86-video-nv-2.1.15 [1] and xserver
1.7.3.901. It looks like the problem is that gamma_set is called even
if that is NULL.

[1] https://launchpad.net/bugs/494627

Reviewed-By: Matthias Hopf <mhopf@suse.de>
Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Cyril Brulebois <kibi@debian.org>
---
 hw/xfree86/modes/xf86Crtc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index d015c6a..573fe96 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -354,7 +354,7 @@ xf86CrtcSetModeTransform (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotati
     }
 
     /* Only upload when needed, to avoid unneeded delays. */
-    if (!crtc->active)
+    if (!crtc->active && crtc->funcs->gamma_set)
 	crtc->funcs->gamma_set(crtc, crtc->gamma_red, crtc->gamma_green,
                                             crtc->gamma_blue, crtc->gamma_size);
 
-- 
1.7.0

Attachment: signature.asc
Description: Digital signature


Reply to: