On Fri, Apr 14, 2006 at 08:39:47PM +0900, Takaaki Nomura wrote:
>On Thu, 13 Apr 2006 20:27:29 -0400, David Dawes wrote:
>>On Wed, Apr 12, 2006 at 08:22:39PM +0900, Takaaki Nomura wrote:
>>>I've tested 4.5.99.903 on FreeBSD and Linux.
>>>
>>>When I terminated the server on Linux, I couldn't return to
>>>the console and the root window remained.
>>>
>>>The problem didn't occur on FreeBSD.
>>>
>>>I've attached the server log below.
>>>
>>>Are there any latest changes on the CVS version?
>>
>>Not that would affect this.
>>
>>Is the problem repeatable?  If so, can you get some debugging information
>>with gdb?  If you start the server with no clients, then exit, does the
>>problem still occur?  If the stack trace in the log is accurate, it shows
>>a crash in main().  A trace with gdb from a server built with debugging
>>info should help.
>>
>>>Caught signal 11.
>>>Stack trace:
>>> 0: 0x808db5d: 0x808db40 xf86ShowStackTrace + 0x1d
>>>     Module "/usr/X11R6.6/bin/XFree86"
>>> 1: 0x808dc23: 0x808dbc0 xf86SigHandler + 0x63
>>>     Module "/usr/X11R6.6/bin/XFree86"
>>> 2: 0xffffe420: 0xffffe420 __kernel_sigreturn + 0x0
>>>     Module ""
>>> 3: 0x80d2946: 0x80d24c0 main + 0x486
>>>     Module "/usr/X11R6.6/bin/XFree86"
>>>
>>>Fatal server error:
>>>Server aborting
>>
>>David
>
>It is repeatable on both of my two test PCs running Fedora Core 5.
>I've attached the static server logs below. One is with glint-based
>PC and the other is with i810-base PC.
>
>It's strange that gdb indicates the static symbol(variable)s of Enc61
>and i810_pitch_flags.
>
>Fedora Core 5 uses gcc 4.1.0.
>
>I can't test until next week.

I've gotten access to a machine running FC5 and have reproduced this
problem.  It seems to be an array overrun.  The attached patch fixes it
for me.  Let me know how it goes for you.

David
Index: common/xf86KbdLnx.c
===================================================================
RCS file: /home/x-cvs/xc/programs/Xserver/hw/xfree86/common/xf86KbdLnx.c,v
retrieving revision 3.21
diff -u -r3.21 xf86KbdLnx.c
--- common/xf86KbdLnx.c 20 Feb 2006 00:14:37 -0000      3.21
+++ common/xf86KbdLnx.c 18 Apr 2006 23:23:22 -0000
@@ -364,7 +364,7 @@
   }
   else {
     k = map+GLYPHS_PER_KEY;
-    maxkey = NUM_AT2LNX;
+    maxkey = NUM_AT2LNX - 1;
   }
 
   for (i = 0; i < maxkey; ++i)
Index: os-support/linux/lnx_KbdMap.c
===================================================================
RCS file: 
/home/x-cvs/xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_KbdMap.c,v
retrieving revision 1.4
diff -u -r1.4 lnx_KbdMap.c
--- os-support/linux/lnx_KbdMap.c       20 Feb 2006 00:14:37 -0000      1.4
+++ os-support/linux/lnx_KbdMap.c       18 Apr 2006 23:23:18 -0000
@@ -287,7 +287,7 @@
   }
   else {
     k = map+GLYPHS_PER_KEY;
-    maxkey = NUM_AT2LNX;
+    maxkey = NUM_AT2LNX - 1;
   }
 
   for (i = 0; i < maxkey; ++i)

Reply via email to