Bug 18963 - Compiz blur plugin hangs X
Summary: Compiz blur plugin hangs X
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: Other All
: medium critical
Assignee: Eric Anholt
QA Contact:
Depends on:
Blocks: 18841 intel-3d-release
  Show dependency treegraph
Reported: 2008-12-08 16:35 UTC by Sven Arvidsson
Modified: 2009-08-24 12:31 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

Xorg log (92.15 KB, text/plain)
2008-12-08 16:35 UTC, Sven Arvidsson
Xorg config (1.45 KB, text/plain)
2008-12-08 16:36 UTC, Sven Arvidsson
Full compiz configuration before blur plugin is added (15.34 KB, text/plain)
2008-12-08 16:36 UTC, Sven Arvidsson
dmesg after hang (40.12 KB, text/plain)
2008-12-08 16:37 UTC, Sven Arvidsson
Backtrace from compiz after hang (2.15 KB, text/plain)
2008-12-08 16:37 UTC, Sven Arvidsson
Backtrace from Xorg after hang (3.89 KB, text/plain)
2008-12-08 16:38 UTC, Sven Arvidsson

Description Sven Arvidsson 2008-12-08 16:35:42 UTC
Created attachment 20915 [details]
Xorg log

Activating the blur plugin in Compiz results in an immediate X hang if /apps/compiz/plugins/blur/screen0/options/alpha_blur_match is set to "normal".

Terminating the compiz process does not help, and after Xorg is killed I get a message about the hardware being wedged.

System environment:
-- chipset: G45 / ICH10R
-- system architecture: 32-bit
-- xf86-video-intel: bea98cdfd93fc1181a06c51e57fcab227ff4827e
-- xserver: 1.5.2
-- mesa: a0d5c3cfe6582f8294154f6877319193458158a2
-- drm: c99566fb810c9d8cae5e9cd39d1772b55e2f514c
-- kernel: for-airlied 66647dc60d16fae9f6963fd98b6d9baa1a8dac69
-- Linux distribution: Debian unstable
-- Machine or mobo model: Asus P5Q-EM
-- Display connector: DVI
Comment 1 Sven Arvidsson 2008-12-08 16:36:09 UTC
Created attachment 20916 [details]
Xorg config
Comment 2 Sven Arvidsson 2008-12-08 16:36:41 UTC
Created attachment 20917 [details]
Full compiz configuration before blur plugin is added
Comment 3 Sven Arvidsson 2008-12-08 16:37:07 UTC
Created attachment 20918 [details]
dmesg after hang
Comment 4 Sven Arvidsson 2008-12-08 16:37:41 UTC
Created attachment 20919 [details]
Backtrace from compiz after hang
Comment 5 Sven Arvidsson 2008-12-08 16:38:23 UTC
Created attachment 20920 [details]
Backtrace from Xorg after hang
Comment 6 Eric Anholt 2008-12-08 20:11:20 UTC
Is it a hang, or just absurdly slow?  Also, are you sure that the X Server is loading your new mesa?  We shouldn't be hitting software fallbacks for that path since 3e0164aabb48a99fce58964cad99fd3978ee84f6.  INTEL_DEBUG=fall output (which goes to the console, I think, not the server log) would be useful if you're sure it's the new code being run.

Does the gearbox demo work?
Comment 7 Sven Arvidsson 2008-12-09 15:55:13 UTC
I think it's a real hang, and not merely being unusably slow. I left it sitting for several minutes, and nothing on the screen (such as the clock) was redrawn. CPU usage remained low. Using focus_blur in compiz works fine, and is quite fast. 

I do think the new Mesa is being used, I build and install it using debian packages, so there should be a very slim chance of anything old hanging around. 

The gearbox demo works well, but outputs this if run with INTEL_DEBUG=fall:
do_copy_texsubimage fail 0x9f2d698 (nil)
do_copy_texsubimage fail 0xa031308 (nil)

I get no debug messages when compiz is run with INTEL_DEBUG=fall.

Also, something seems to go bad when I try to reboot after the hang, it never works and I must hit the reset switch, so I guess the kernel is involved too.
Comment 8 Eric Anholt 2008-12-10 10:03:14 UTC
Needed to run the X Server (which is actually executing the driver code), not compiz, with that env var.  Other than being spectacularly slow, the only thing I can think of is that compiz was hanging the chip and it was only showing up as being stuck waiting on the object now.
Comment 9 Sven Arvidsson 2008-12-12 15:03:32 UTC
The hang doesn't happen immediately, only when a transparent window appears. I guess I didn't notice this before as I usually have a transparent terminal visible.

As soon as a transparent window appear, X hangs with these errors logged:
 do_copy_texsubimage fail 0x9944d48 (nil)
 do_copy_texsubimage fail 0xa147688 (nil)
 [mi] EQ overflowing. The server is probably stuck in an infinite loop.
 [mi] mieqEnequeue: out-of-order valuator event; dropping.

Even if it is spectacularly slow, I left it sitting for half an hour, and the screen is never updated, so it's unusable in any case.
Comment 10 Sven Arvidsson 2009-03-16 07:58:47 UTC
Using mesa commit 2305642b2e8edcebdc727f1181f7dbfcc78e8028 the blur plugin no longer hangs X.
Comment 11 Adam Jackson 2009-08-24 12:31:14 UTC
Mass version move, cvs -> git

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.