glxgears displays a few frames then hangs in glXSwapBuffers() causing the X server to freeze, except that the mouse is still moving. A symptom is radeonWaitIrq() being stuck in a loop, repeatedly getting EAGAIN from drmCommandWrite(). See stack dump: #0 0x28245777 in ioctl () from /lib/libc.so.6 #1 0x280d269b in drmCommandWrite () from /usr/X11R6/lib/libGL.so.1 #2 0x282f936a in radeonWaitIrq (rmesa=0x80a8000) at radeon_ioctl.c:824 #3 0x282f94af in radeonWaitForFrameCompletion (rmesa=0x80a8000) at radeon_ioctl.c:847 #4 0x282f9c49 in radeonCopyBuffer (dPriv=0x827b100) at radeon_ioctl.c:893 #5 0x282f7b8d in radeonSwapBuffers (dPriv=0x827b100) at radeon_context.c:568 #6 0x282f5eb9 in driSwapBuffers (dpy=0x805c000, drawablePrivate=0x36) at ../common/dri_util.c:744 #7 0x280bfb27 in glXSwapBuffers () from /usr/X11R6/lib/libGL.so.1 #8 0x0804b8a7 in main () Fix: Downgrading to dri-6.1.p20040507,1 fixes the hang. How-To-Repeat: Activate DRI, start glxgears.
Responsible Changed From-To: freebsd-ports-bugs->anholt Over to maintainer.
I've committed an update to graphics/dri that is likely to help you. Awaiting feedback. -- Eric Anholt eta@lclark.edu http://people.freebsd.org/~anholt/ anholt@FreeBSD.org
State Changed From-To: open->feedback Committed a port update that's likely to fix it.
On Wed, Jan 12, 2005 at 11:51:46PM +0000, Eric Anholt wrote: > Committed a port update that's likely to fix it. Thanks. I just tried it (with a 6.0 kernel + DRM as of today) and it still hangs in glXSwapBuffers()... albeit at a different place. It seems to be looping in radeonReleaseDmaRegion(). See stack traces below from two different runs. #0 0x28245777 in ioctl () from /lib/libc.so.6 #1 0x280d26f3 in drmCommandWriteRead () from /usr/X11R6/lib/libGL.so.1 #2 0x282f7e84 in radeonReleaseDmaRegion () from /usr/X11R6/lib/modules/dri/radeon_dri.so #3 0x282f812b in radeonReleaseDmaRegion () from /usr/X11R6/lib/modules/dri/radeon_dri.so #4 0x282f882d in radeonCopyBuffer () from /usr/X11R6/lib/modules/dri/radeon_dri.so #5 0x282f6749 in radeonSwapBuffers () from /usr/X11R6/lib/modules/dri/radeon_dri.so #6 0x282f4b41 in __driUtilUpdateDrawableInfo () from /usr/X11R6/lib/modules/dri/radeon_dri.so #7 0x280bfb27 in glXSwapBuffers () from /usr/X11R6/lib/libGL.so.1 #8 0x0804b8a7 in main () #0 0x28245777 in ioctl () from /lib/libc.so.6 #1 0x280d269b in drmCommandWrite () from /usr/X11R6/lib/libGL.so.1 #2 0x282f7f4e in radeonReleaseDmaRegion () from /usr/X11R6/lib/modules/dri/radeon_dri.so #3 0x282f8093 in radeonReleaseDmaRegion () from /usr/X11R6/lib/modules/dri/radeon_dri.so #4 0x282f882d in radeonCopyBuffer () from /usr/X11R6/lib/modules/dri/radeon_dri.so #5 0x282f6749 in radeonSwapBuffers () from /usr/X11R6/lib/modules/dri/radeon_dri.so #6 0x282f4b41 in __driUtilUpdateDrawableInfo () from /usr/X11R6/lib/modules/dri/radeon_dri.so #7 0x280bfb27 in glXSwapBuffers () from /usr/X11R6/lib/libGL.so.1 #8 0x0804b8a7 in main () -- Pierre Beyssac pb@fasterix.frmug.org pb@fasterix.freenix.org Free domains: http://www.eu.org/ or mail dns-manager@EU.org
State Changed From-To: feedback->open Port update didn't fix it. On to other possibilities...
State Changed From-To: open->feedback One more time? xorg-server-6.8.1_2 has a fix for Radeon DRI hangs. (Hopefully fixes this. If this doesn't, that means chasing down my 7500 and trying to figure out how I broke it :( )
On Thu, Jan 13, 2005 at 11:31:31PM +0000, Eric Anholt wrote: > One more time? xorg-server-6.8.1_2 has a fix for Radeon DRI hangs. Sorry, still the same hang (the patches in xorg-server-6.8.1_2 might solve instability problems I have seen with a different Radeon on my main machine, though). > (Hopefully fixes this. If this doesn't, that means chasing down my 7500 and > trying to figure out how I broke it :( ) I can send you some copious output obtained with RADEON_DEBUG on the previous DRI version that I can't make sense of, if that can help. -- Pierre Beyssac pb@fasterix.frmug.org pb@fasterix.freenix.org Free domains: http://www.eu.org/ or mail dns-manager@EU.org
State Changed From-To: feedback->closed Fixed in CVS. Really, this time it is!