ports/124220: [amd64] X.org server runs in infinite loop
Joerg Wunsch
j at uriah.heep.sax.de
Mon Jun 2 21:00:08 UTC 2008
>Number: 124220
>Category: ports
>Synopsis: [amd64] X.org server runs in infinite loop
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Jun 02 21:00:05 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Joerg Wunsch
>Release: FreeBSD 7.0-RELEASE amd64
>Organization:
>Environment:
FreeBSD dhcp203.local.heep.sax.de 7.0-STABLE FreeBSD 7.0-STABLE #0: Thu May 29 10:35:31 CEST 2008 root at dhcp203.local.heep.sax.de:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
When specifiying the "PreferredMode" keyword in the monitor section of
xorg.conf, the server enters an infinite loop.
>How-To-Repeat:
Add
Option "PreferredMode" "1280x1024"
to xorg.conf.
>Fix:
The following patch has been obtained from Mandriva Linux, and
fixes the issue:
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/x11-servers/xorg-server/Makefile,v
retrieving revision 1.59
diff -u -r1.59 Makefile
--- Makefile 29 May 2008 11:02:54 -0000 1.59
+++ Makefile 2 Jun 2008 20:05:03 -0000
@@ -7,7 +7,7 @@
PORTNAME= xorg-server
PORTVERSION= 1.4
-PORTREVISION= 9
+PORTREVISION= 10
PORTEPOCH= 1
CATEGORIES= x11-servers
MASTER_SITES= http://xorg.freedesktop.org/releases/individual/xserver/:fdo \
Index: files/patch-Xserver-hw-xfree86-modes-xf86Crtc.c
===================================================================
RCS file: files/patch-Xserver-hw-xfree86-modes-xf86Crtc.c
diff -N files/patch-Xserver-hw-xfree86-modes-xf86Crtc.c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ files/patch-Xserver-hw-xfree86-modes-xf86Crtc.c 2 Jun 2008 20:04:52 -0000
@@ -0,0 +1,27 @@
+From 69eced3fea70451645b407c4a5a0a25fed38e3fd Mon Sep 17 00:00:00 2001
+From: Paulo Cesar Pereira de Andrade <pcpa at mandriva.com.br>
+Date: Mon, 28 Jan 2008 16:23:39 -0200
+Subject: [PATCH] Avoid an infinite loop at initialization if PreferredMode option is used and there is more than one mode with the given name.
+
+---
+ hw/xfree86/modes/xf86Crtc.c | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
+index f75e9a4..191feb3 100644
+--- hw/xfree86/modes/xf86Crtc.c
++++ hw/xfree86/modes/xf86Crtc.c
+@@ -1410,8 +1410,11 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
+
+ if (preferred_mode)
+ {
+- for (mode = output->probed_modes; mode; mode = mode->next)
++ DisplayModePtr next;
++
++ for (mode = output->probed_modes; mode; mode = next)
+ {
++ next = mode->next;
+ if (!strcmp (preferred_mode, mode->name))
+ {
+ if (mode != output->probed_modes)
+
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list