#648764 xserver-xorg-video-radeon: Radeon assert crashes with non-GL apps (ATI Radeon 9250 5960 AGP)

Package:
xserver-xorg-video-radeon
Source:
xserver-xorg-video-ati
Description:
X.Org X server -- AMD/ATI Radeon display driver
Submitter:
Jan Oberländer
Date:
2011-12-05 16:51:07 UTC
Severity:
important
#648764#5
Date:
2011-11-14 21:15:37 UTC
From:
To:
Dear Maintainer,

I previously reported this as a follow-up to bug #645007, but it appears
to be a separate issue.  The crash occurs in the same location.  I can
reproduce it fairly reliably when trying to insert uploaded images to a
WordPress post (Firefox/Iceweasel 7.0.1-4).  I have already installed
the relevant xserver -dbg packages as suggested, and will follow up with
a more informative backtrace as soon as possible.  Until then, here's my
original backtrace.

Thanks,

Jan

#648764#10
Date:
2011-11-14 21:23:20 UTC
From:
To:
Hello again,

I suppose it's a good thing this bug reproduces so well. :)  Here's a
better backtrace.

#648764#15
Date:
2011-11-14 23:51:34 UTC
From:
To:
Hi,

Jan Oberländer <mindriot@gmx.net> (14/11/2011):

thanks for that. But you could also install libdrm's debug packages I
think. ;-)

(Getting a core and exploiting it afterwards is usually a nice idea: you
can install more packages as needed, without having to get a new crash.
Hints at http://x.debian.net/howto/use-gdb.html)

^^^^
for those

Mraw,
KiBi.

#648764#20
Date:
2011-11-15 15:48:11 UTC
From:
To:
That shouldn't be necessary. As in the other bug, the libdrm_radeon
assertion failure is probably just a symptom of the bug in the radeon
driver.

#648764#25
Date:
2011-11-17 10:24:24 UTC
From:
To:
Can you try if the patch below fixes this crash?


diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index e5c231f..6cead5a 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -595,6 +595,9 @@ RADEONPrepareCompositeCS(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture
     if (info->cs) {
 	int ret;

+	if (CS_FULL(info->cs))
+	        radeon_cs_flush_indirect(pScrn);
+
 	radeon_cs_space_reset_bos(info->cs);

 	radeon_add_pixmap(info->cs, pSrc,

#648764#30
Date:
2011-11-24 21:20:41 UTC
From:
To:
Hi,

Sorry for the late reply, I've been out of town.  I'll see if I can try
your patch this weekend.

Best,
Jan

#648764#35
Date:
2011-11-26 21:43:10 UTC
From:
To:
Heh.  I wish I could tell you.  Before testing the patch I tried to
reproduce the crash, just to make sure I could actually tell it was gone
afterwards.  Turns out I can't reproduce it anymore, because WordPress
(where I originally encountered the crash, reliably) seem to have
changed something in their web interface, and I can't reproduce the
crash anymore.  I haven't installed any upgrades since I reported the
bug, so my system's behavior should still be the same.  Murphy's Law, I
guess. :)

Testing out your patch at least didn't make anything worse.  But I'm
going back to the original version right now to wait and see if I can
discover some other way to reproduce the crash.

Maybe you have an idea of how I could reproduce it, based on the gdb
trace I sent?

Best,

Jan

#648764#40
Date:
2011-12-05 16:46:23 UTC
From:
To:
Not really, unfortunately.

If you encounter a similar problem in the future, you could try creating
a trace of the triggering operations, e.g. with cairo-trace.