Window Managers instability with r600 radeon and high monitor resolutions
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Compiz |
Fix Released
|
Critical
|
Marco Trevisan (Treviño) | ||
0.9.9 |
Fix Released
|
Critical
|
Marco Trevisan (Treviño) | ||
Mesa |
Fix Released
|
Medium
|
|||
cogl (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned | ||
Raring |
Won't Fix
|
Undecided
|
Unassigned | ||
Saucy |
Won't Fix
|
Undecided
|
Unassigned | ||
compiz (Ubuntu) |
Fix Released
|
Undecided
|
Marco Trevisan (Treviño) | ||
Raring |
Fix Released
|
Undecided
|
Marco Trevisan (Treviño) | ||
Saucy |
Fix Released
|
Undecided
|
Marco Trevisan (Treviño) | ||
kde-workspace (Ubuntu) |
Fix Released
|
Medium
|
Harald Sitter | ||
Raring |
Fix Released
|
Medium
|
Harald Sitter | ||
Saucy |
Fix Released
|
Medium
|
Harald Sitter | ||
mesa (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
KWin 4.10.2 and Compiz 0.9.9 are using MSAA visuals with 13.04's mesa.
This is unintended and leads to resource exhaustion which eventually crashes the WM.
This affects all users on the r600 with sufficiently sized displays.
[Test Case]
Run Kwin or Unity with an r600 card, if it does not crash after a while we are happy.
[Regression Potential]
None, the fix was done by an upstream KWin and Mesa developer plus it has been incorporated into Fedora for a while plus it was used elsewhere in KWin already but not in this specific code path.
[Other Info]
None.
-------
I think the version of kwin included in 13.04 contains a known bug as described here:
https:/
https:/
My understanding of the problem is as follows:
* The Mesa radeon r600 driver recently added support for MSAA GLX visuals
* Kwin isn't aware of MSAA properties and happens to (incorrectly) pick MSAA visuals for everything
* These visuals occupy a large amount of memory when running at high monitor resolutions
* Mesa is "only" capable of mapping 256MB of visuals into CPU address space at once
* Kwin's oversize visuals exceeds this limit, resulting in constant crashes
The two radeon systems I have both crash immediately after logging in, when running with at a resolution of 2560x1440 and desktop effects enabled. After restarting kwin, a crash can be induced by performing actions that triggers desktop effects/animations. The resulting callstack is attached.
ProblemType: BugDistroRelease: Ubuntu 13.04
Package: kde-window-manager 4:4.10.2-0ubuntu2
ProcVersionSign
Uname: Linux 3.8.0-19-generic x86_64
ApportVersion: 2.9.2-0ubuntu8
Architecture: amd64
Date: Mon Apr 29 19:53:57 2013
InstallationDate: Installed on 2013-04-27 (2 days ago)
InstallationMedia: Kubuntu 13.04 "Raring Ringtail" - Release amd64 (20130424)
MarkForUpload: TrueSourcePackage: kde-workspace
UpgradeStatus: No upgrade log present (probably fresh install)
-------
Compiz (unity) is affected by the same issue as shown in this stacktrace:
Related branches
- PS Jenkins bot (community): Approve (continuous-integration)
- Sam Spilsbury: Approve
-
Diff: 53 lines (+23/-7)1 file modifiedplugins/opengl/src/screen.cpp (+23/-7)
- PS Jenkins bot (community): Approve (continuous-integration)
- Sam Spilsbury: Approve
- MC Return: Approve
-
Diff: 53 lines (+23/-7)1 file modifiedplugins/opengl/src/screen.cpp (+23/-7)
description: | updated |
Changed in kde-workspace (Ubuntu): | |
importance: | Undecided → Medium |
description: | updated |
Changed in kde-workspace (Ubuntu Raring): | |
status: | Triaged → In Progress |
Changed in kde-workspace (Ubuntu Saucy): | |
status: | Triaged → In Progress |
Changed in kde-workspace (Ubuntu Raring): | |
assignee: | nobody → Harald Sitter (apachelogger) |
Changed in kde-workspace (Ubuntu Saucy): | |
assignee: | nobody → Harald Sitter (apachelogger) |
Changed in kde-workspace (Ubuntu Saucy): | |
status: | In Progress → Confirmed |
status: | Confirmed → Fix Committed |
summary: |
- kwin instability with r600 radeon and high monitor resolutions + Window Managers instability with r600 radeon and high monitor + resolutions |
affects: | unity → compiz |
Changed in compiz: | |
status: | New → Triaged |
importance: | Undecided → Critical |
milestone: | none → 0.9.10.0 |
Changed in cogl: | |
importance: | Unknown → Medium |
status: | Unknown → Confirmed |
Changed in compiz (Ubuntu Raring): | |
assignee: | nobody → Marco Trevisan (Treviño) (3v1n0) |
status: | New → In Progress |
Changed in compiz (Ubuntu Saucy): | |
assignee: | nobody → Marco Trevisan (Treviño) (3v1n0) |
status: | New → In Progress |
Changed in compiz: | |
assignee: | nobody → Marco Trevisan (Treviño) (3v1n0) |
status: | Triaged → In Progress |
no longer affects: | cogl |
no longer affects: | mesa (Ubuntu) |
no longer affects: | mesa (Ubuntu Raring) |
no longer affects: | mesa (Ubuntu Saucy) |
Changed in mesa (Ubuntu): | |
status: | New → Confirmed |
Changed in cogl (Ubuntu Raring): | |
status: | New → Confirmed |
description: | updated |
Changed in compiz (Ubuntu Saucy): | |
status: | In Progress → Fix Committed |
Changed in compiz (Ubuntu Raring): | |
status: | In Progress → Fix Committed |
Changed in mesa: | |
importance: | Unknown → Medium |
status: | Unknown → Fix Released |
tags: | added: kubuntu |
Changed in compiz: | |
status: | Fix Committed → Fix Released |
Kwin crashes with current mesa and kernel 3.8. It does not crash with 3.7 kernel. With mesa 9.0.2 and kernel 3.8 kwin also works fine
#5 0x0000003647c892ab in __memset_sse2 () from /lib64/libc.so.6 create_ object (screen=0x980ca0, base=0x7fff208b 4770, pitch_in_ bytes_override= 0, buf=0x0, surface= 0x7fff208b3a80) at r600_texture.c:509 b4770) at r600_texture.c:601 create (screen=0x980ca0, templ=0x7fff208 b4770) at r600_resource.c:37 process_ buffers (drawable=0xc2b130, buffers=0x764460, buffer_count=1, atts=0x7fff208b 48b0, att_count=1) at dri2.c:254 textures (drawable=0xc2b130, statts= 0x7fff208b48b0, statts_count=1) at dri2.c:404 framebuffer_ validate (stfbi=0xc2b130, statts= 0x7fff208b48b0, count=1, out=0x0) at dri_drawable.c:81 validate_ att (drawable=0xc2b130, statt=ST_ ATTACHMENT_ FRONT_LEFT) at dri_drawable.c:206 geEXT (dpy=0x7d15f0, drawable=29360171, buffer=8414, attrib_list=0x0) at glxcmds.c:2370 e::loadTexture( unsigned long const&, QSize const&, int) () from /usr/lib64/ libkdeinit4_ kwin.so GL::Window: :bindTexture( ) () from /usr/lib64/ libkdeinit4_ kwin.so GL::Window: :performPaint( int, QRegion, KWin::WindowPai ntData) () from /usr/lib64/ libkdeinit4_ kwin.so GL2::performPai ntWindow( KWin::EffectWin dowImpl* , int, QRegion, KWin::WindowPai ntData& ) () from /usr/lib64/ libkdeinit4_ kwin.so GL2::finalDrawW indow(KWin: :EffectWindowIm pl*, int, QRegion, KWin::WindowPai ntData& ) () from /usr/lib64/ libkdeinit4_ kwin.so ndlerImpl: :drawWindow( KWin::EffectWin dow*, int, QRegion, KWin::WindowPai ntData& ) () from /usr/lib64/ libkdeinit4_ kwin.so :finalPaintWind ow(KWin: :EffectWindowIm pl*, int, QRegion, KWin::WindowPai ntData& ) () from /usr/lib64/ libkdeinit4_ kwin.so ndlerImpl: :paintWindow( KWin::EffectWin dow*, int, QRegion, KWin::WindowPai ntData& ) () from /usr/lib64/ libkdeinit4_ kwin.so :paintWindow( KWin::Scene: :Window* , int, QRegion, KWin::WindowQua dList) () from /usr/lib64/ libkdeinit4_ kwin.so :paintSimpleScr een(int, QRegion) () from /usr/lib64/ libkdeinit4_ kwin.so :finalPaintScre en(int, QRegion, KWin::ScreenPai ntData& ) () from /usr/lib64/ libkdeinit4_ kwin.so ndlerImpl: :paintScreen( int, QRegion, KWin::ScreenPai ntD...
#6 0x00007f5a8cbf6cf3 in r600_texture_
#7 0x00007f5a8cbf7339 in r600_texture_create (screen=0x980ca0, templ=0x7fff208
#8 0x00007f5a8cbdbae5 in r600_resource_
#9 0x00007f5a8cc1b4d2 in dri2_drawable_
#10 0x00007f5a8cc1b9b3 in dri2_allocate_
#11 0x00007f5a8cc19f0f in dri_st_
#12 0x00007f5a8cc1a30e in dri_drawable_
#13 0x00007f5a8cc1a35c in dri_set_tex_buffer2 (pDRICtx=0x8fef20, target=3553, format=8409, dPriv=0xbee5e0) at dri_drawable.c:220
#14 0x00007f5a9b82f590 in dri2_bind_tex_image (dpy=0x7d15f0, drawable=29360171, buffer=8414, attrib_list=0x0) at dri2_glx.c:1002
#15 0x00007f5a9b7f30f5 in __glXBindTexIma
#16 0x00007f5a9d1773c3 in KWin::GlxTextur
#17 0x00007f5a9d16f175 in KWin::SceneOpen
#18 0x00007f5a9d175a8e in KWin::SceneOpen
#19 0x00007f5a9d16e32f in KWin::SceneOpen
#20 0x00007f5a9d16e4cd in KWin::SceneOpen
#21 0x00007f5a9d1822b5 in KWin::EffectsHa
#22 0x00007f5a9d16178a in KWin::Scene:
#23 0x00007f5a9d182557 in KWin::EffectsHa
#24 0x00007f5a9d16434d in KWin::Scene:
#25 0x00007f5a9d16367f in KWin::Scene:
#26 0x00007f5a9d1616ce in KWin::Scene:
#27 0x00007f5a9d182720 in KWin::EffectsHa