bugzilla-daemon at freedesktop.org
2008-Jul-30 23:03 UTC
[Nouveau] [Bug 16911] New: xserver EXA optimization causes nv31 to crash
http://bugs.freedesktop.org/show_bug.cgi?id=16911 Summary: xserver EXA optimization causes nv31 to crash Product: xorg Version: git Platform: x86 (IA32) OS/Version: Linux (All) Status: NEW Severity: normal Priority: medium Component: Driver/nouveau AssignedTo: nouveau at lists.freedesktop.org ReportedBy: sb476 at cam.ac.uk QAContact: xorg-team at lists.x.org Created an attachment (id=18015) --> (http://bugs.freedesktop.org/attachment.cgi?id=18015) Kernel log Following the commit of a3afa6f2fb80489f7b6a88d12def09281d32ed94 "EXA: Optimize GXcopy tiled fills." to the xserver, the nouveau driver (git HEAD of both ddx and drm) will crash on certain webpages, with [drm] PGRAPH_ERROR - nSource: LIMIT_COLOR, nStatus: PROTECTION_FAULT [drm] PGRAPH_ERROR - Ch 1/6 Class 0x009f Mthd 0x0308 Data 0x00000003:0x00f304f8 in the kernel log and a fifo lockup in the ddx log -- both attached. A simple reproducible case is using Firefox (2.0.0.16) on http://people.freedesktop.org/~stuart/pgraph_limit_color/crash.html Going back to the previous xserver commit "EXA: Replace open coded CopyArea logic with GC op call.", the page does not cause the driver error, nor a crash. black.png used in the page was simply created in the GIMP using a new image and a bucket fill. I suspect the size of the background image is a factor, as tests using a 200x200 PNG did not crash. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.
bugzilla-daemon at freedesktop.org
2008-Jul-30 23:05 UTC
[Nouveau] [Bug 16911] xserver EXA optimization causes nv31 to crash
http://bugs.freedesktop.org/show_bug.cgi?id=16911 --- Comment #1 from Stuart Bennett <sb476 at cam.ac.uk> 2008-07-30 16:05:02 PST --- Created an attachment (id=18016) --> (http://bugs.freedesktop.org/attachment.cgi?id=18016) Xorg log -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.
bugzilla-daemon at freedesktop.org
2008-Jul-31 01:21 UTC
[Nouveau] [Bug 16911] xserver EXA optimization causes nv31 to crash
http://bugs.freedesktop.org/show_bug.cgi?id=16911 --- Comment #2 from Stephane Marchesin <marchesin at icps.u-strasbg.fr> 2008-07-30 18:21:36 PST --- Michel, I would think the following changes are required -width = min(pBox[i].x2 - dstX, width * 2); +width = min(pBox[i].x2 - dstX, min(width * 2, tileWidth)); -height = min(pBox[i].y2 - dstY, height * 2); +height = min(pBox[i].y2 - dstY, min(height * 2, tileHeight)); That doesn't solve our issue though. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.
bugzilla-daemon at freedesktop.org
2008-Jul-31 01:27 UTC
[Nouveau] [Bug 16911] xserver EXA optimization causes nv31 to crash
http://bugs.freedesktop.org/show_bug.cgi?id=16911 --- Comment #3 from Stephane Marchesin <marchesin at icps.u-strasbg.fr> 2008-07-30 18:27:23 PST --- Scrap my last comment, I'm too tired. Don't scrap the bug though :) -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.
bugzilla-daemon at freedesktop.org
2008-Jul-31 01:57 UTC
[Nouveau] [Bug 16911] xserver EXA optimization causes nv31 to crash
http://bugs.freedesktop.org/show_bug.cgi?id=16911 --- Comment #4 from Stephane Marchesin <marchesin at icps.u-strasbg.fr> 2008-07-30 18:57:14 PST --- So, there seems to be some issue with the first width/height computation ; something like this helps: -int width = min(pBox[i].x2 - pBox[i].x1, tileWidth); -int height = min(pBox[i].y2 - pBox[i].y1, tileHeight); +int width = min(pBox[i].x2 - pBox[i].x1 - tileWidth, tileWidth); +int height = min(pBox[i].y2 - pBox[i].y1 - tileHeight, tileHeight); Otherwise you start the 2nd copy (first one in the while loop) with the full tile size, and this can be bigger than the total size. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.
bugzilla-daemon at freedesktop.org
2008-Jul-31 02:04 UTC
[Nouveau] [Bug 16911] xserver EXA optimization causes nv31 to crash
http://bugs.freedesktop.org/show_bug.cgi?id=16911 --- Comment #5 from Stuart Bennett <sb476 at cam.ac.uk> 2008-07-30 19:04:15 PST --- Some things tried as detailed in http://people.freedesktop.org/~marcheu/irclogs/nouveau-2008-07-31 Last attempt replacing the width and height defintions/instantiations with: int width = min(pBox[i].x2 - pBox[i].x1 - tileWidth, tileWidth); int height = min(pBox[i].y2 - pBox[i].y1 - tileHeight, tileHeight); fixed the test case, but lead to other problems shortly after -- xorg log with the arguments to *pExaScr->info->Copy() printed at http://people.freedesktop.org/~stuart/Xorg.0.log.old-big.txt shows some huge negative widths and heights being passed, before an endless succession of calls with height=0. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug.
Reasonably Related Threads
- [PATCH] nv10/exa: Spring-cleaning
- [Bug 14821] New: nv11 does not work with Randr1.2 enabled
- [Bug 11425] New: EXA on GF6200/AGP and different "MigrationHeuristic" schemas
- [Bug 14820] New: Double mouse cursor on nv4
- [Bug 16765] New: white rectangles instead of fonts and bitmaps lost when switching to virtual console and back