[prev in list] [next in list] [prev in thread] [next in thread]
List: dri-patches
Subject: [Dri-patches] [ dri-Bugs-548257 ] glPixelMapusv with huge map kills X
From: noreply () sourceforge ! net
Date: 2002-04-24 18:37:25
[Download RAW message or body]
Bugs item #548257, was opened at 2002-04-24 11:37
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=100387&aid=548257&group_id=387
Category: Core X Server
Group: X Server Hang/Core Dump
Status: Open
Resolution: None
Priority: 5
Submitted By: Ian Romanick (idr)
Assigned to: Nobody/Anonymous (nobody)
Summary: glPixelMapusv with huge map kills X
Initial Comment:
Calling glPixelMapusv with a huge map size (e.g.,
65552) and a mapping of GL_PIXEL_MAP_S_TO_S (and
possibly others) will kill the X server. This behavior
was seen on the Radeon TCL branch as of 4/23/2002. On
the trunk from 4/22/2002 on G400 this call will only
segfault the application.
The program that I used to re-create this bug just
opens a GL window using GLUT and calls each of the
glPixelMap*v functions in turn with the
GL_PIXEL_MAP_S_TO_S mapping, a size of 65552, and a
pointer to the same buffer. It starts with the us
variant, and never gets past it.
Unfortunately, gdb is not terribly helpful here.
(gdb) r
Starting program: /home/idr/map_test
[New Thread 1024 (LWP 1233)]
Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 1024 (LWP 1233)]
0x405e23f7 in _mesa_test_os_sse_exception_support ()
from /usr/X11R6-DRI/lib/modules/dri/mga_dri.so
(gdb) c
Continuing.
Calling glPixelMap{us,ui,f}v with too large of a map
size...
glPixelMapusv( 3185, 65552, 0x08052ba0 )
Program received signal SIGSEGV, Segmentation fault.
0x40501b99 in _mesa_PixelMapusv (map=0, mapsize=0,
values=0x0) at pixel.c:379
379
fvalues[i] = (GLfloat) values[i];
(gdb) bt
#0 0x40501b99 in _mesa_PixelMapusv (map=0, mapsize=0,
values=0x0) at pixel.c:379
When run on the SAME G400 based system with indirect
rendering forced, it does kill the X server. Running
the X server from GDB and running the application shows
XFree86 segfaulting in ramdacModuleData. This may be a
bogus crash location.
$ LIBGL_ALWAYS_INDIRECT=y ./map_test
Calling glPixelMap{us,ui,f}v with too large of a map
size...
glPixelMapusv( 3185, 65552, 0x08052ba0 )
glPixelMapuiv( 3185, 65552, 0x08052ba0 )
XIO: fatal IO error 104 (Connection reset by peer) on
X server ":0.0"
after 33 requests (28 known processed) with 0
events remaining.
----------------------------------------------------------------------
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=100387&aid=548257&group_id=387
_______________________________________________
Dri-patches mailing list
Dri-patches@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-patches
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic