[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#645007: xserver-xorg-video-radeon: Radeon assert crashes with non-GL apps

On Fre, 2011-10-14 at 14:11 -0400, Daniel Hagerty wrote: 
> > Thanks. Unfortunately, even trying to replicate that, I haven't been
>  > able to reproduce it. As you seem able to reproduce it easily (after how
>  > much time on average?), it would be great if you could attach gdb to the
>  > X server process, then reproduce the crash and get a backtrace (see
>  > http://wiki.debian.org/XStrikeForce/XserverDebugging#Which_debugging_packages_do_I_need.3F and the following paragraph).
>     I'll get a crash in less than five minutes with one of the two
> reproducers.  Running each xscreensaver ten minutes at a time was how
> I isolated the two problem ones.
>     The backtrace below was produced by celtic -root, with perahps
> three minutes of runtime.  This was with the stock squeeze X server,
> not backports.

Thanks. Looking at the backtrace and the code, I think the patch below
might fix the problem. Can you try it? Note that the code has changed
quite a bit from the version in squeeze, so the patch probably won't
apply directly to that.

> Is it possible we're chasing slightly dodgy hardware?

There isn't really any indication for that, why do you keep asking? :)

diff --git a/src/r6xx_accel.c b/src/r6xx_accel.c
index 752165b..b0807d5 100644
--- a/src/r6xx_accel.c
+++ b/src/r6xx_accel.c
@@ -111,6 +111,8 @@ void R600IBDiscard(ScrnInfoPtr pScrn, drmBufPtr ib)
     RADEONInfoPtr info = RADEONPTR(pScrn);
     if (info->cs) {
+        radeon_cs_flush_indirect(pScrn);
+        return;
     if (!ib) return;

Earthling Michel Dänzer           |                   http://www.amd.com
Libre software enthusiast         |          Debian, X and DRI developer

Reply to: