NetBSD Problem Report #24013
Received: (qmail 5920 invoked by uid 605); 7 Jan 2004 16:45:57 -0000
Message-Id: <27645-1073493955@rainier.reedmedia.net>
Date: Wed, 07 Jan 2004 08:45:56 -0800
From: reed@reedmedia.net
Sender: gnats-bugs-owner@NetBSD.org
Reply-To: reed@reedmedia.net
To: gnats-bugs@gnats.netbsd.org
Subject: i810 Cannot allocate memory
X-Send-Pr-Version: 3.95
>Number: 24013
>Category: kern
>Synopsis: i810 Cannot allocate memory
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Jan 07 16:46:00 +0000 2004
>Closed-Date: Sat Jul 27 22:59:58 +0000 2024
>Last-Modified: Sat Jul 27 22:59:58 +0000 2024
>Originator:
>Release: NetBSD 1.6.2_RC3
>Organization:
http://bsd.reedmedia.net/
>Environment:
NetBSD bigfour.reedmedia.net 1.6.2_RC3 NetBSD 1.6.2_RC3 (GENERIC) #0: Fri Nov 28 12:06:50 UTC 2003 autobuild@tgm.netbsd.org:/autobuild/netbsd-1-6-PATCH002-RC3/i386/OBJ/autobuild/netbsd-1-6-PATCH002-RC3/src/sys/arch/i386/compile/GENERIC i386
Architecture: i386
Machine: i386
>Description:
XFree86 -configure detected i810. It started up fine a few times.
Then it failed with:
-=-=-=-
(II) I810(0): xf86BindGARTMemory: bind key 15 at 0x00000000 (pgoffset 0)
(WW) I810(0): xf86BindGARTMemory: binding of gart memory with key 15
at offset 0x0 failed (Cannot allocate memory)
Fatal server error:
AddScreen/ScreenInit failed for driver 0
-=-=-=-
This is XFree86 Version 4.3.0 using
/usr/X11R6/lib/modules/drivers/i810_drv.o.
My X came from ftp://ftp.netbsd.org/pub/NetBSD/misc/jmc/X-1.6.2/
When it works successfully:
-=-=-=-
(II) I810(0): xf86BindGARTMemory: bind key 0 at 0x00000000 (pgoffset 0)
(II) I810(0): xf86BindGARTMemory: bind key 1 at 0x00800000 (pgoffset 2048)
(II) I810(0): xf86BindGARTMemory: bind key 2 at 0x00c00000 (pgoffset 3072)
(II) I810(0): Adding 512 scanlines for pixmap caching
(II) I810(0): Allocated Scratch Memory
(WW) I810(0): remove MTRR eff00000 - eff80000
(WW) I810(0): set MTRR e8000000 - ec000000
(II) I810(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000
(WW) I810(0): remove MTRR a0000 - b0000
...
-=-=-=-
Greg Troxel mentioned similar issues:
http://mail-index.netbsd.org/port-i386/2003/01/27/0013.html
http://mail-index.netbsd.org/port-i386/2003/01/29/0008.html
He said "I edited sys/dev/pci/agp.c to put in more printfs at
failure points, rebooted, and now X works. It may be that the
fresh boot allows memory allocation to succeed, or something more
complex."
http://mail-index.netbsd.org/port-i386/2003/07/07/0003.html
http://mail-index.netbsd.org/port-i386/2004/01/06/0017.html
>How-To-Repeat:
Start XFree86 a few times using i810.
>Fix:
Workarounds: printf attempt at debugging and starting X right at
boot (and don't restart X later).
Another workaround is to use "vga" driver instead (but lower
resolution).
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: xsrc-manager->kern-bug-people
Responsible-Changed-By: tron
Responsible-Changed-When: Wed Jan 7 20:21:40 UTC 2004
Responsible-Changed-Why:
The error message is caused by a failure of the following ioctl():
if (ioctl(gartFd, AGPIOC_BIND, &bind) != 0) {
xf86DrvMsg(screenNum, X_WARNING, "xf86BindGARTMemory: "
"binding of gart memory with key %dn"
"tat offset 0x%x failed (%s)n",
key, offset, strerror(errno));
return FALSE;
}
Whatever goes wrong happens in the kernel. My guess is that it is related
to memory fragmentation or resources not being freed correctly.
BTW: the AGP driver in NetBSD 1.6/1.6.x is known to have many problems.
It would be interesting to try that with a NetBSD-current kernel.
State-Changed-From-To: open->closed
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Sat, 27 Jul 2024 22:59:58 +0000
State-Changed-Why:
feedback timeout on 20-year-old graphics bug, probably already fixed
since 1.6
>Unformatted:
(Contact us)
$NetBSD: gnats-precook-prs,v 1.4 2018/12/21 14:20:20 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.