#648764 xserver-xorg-video-radeon: Radeon assert crashes with non-GL apps (ATI Radeon 9250 5960 AGP) #648764
- 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
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
Hello again, I suppose it's a good thing this bug reproduces so well. :) Here's a better backtrace.
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.
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.
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,
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
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
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.