[Bug 93251] New: i915 is leaking frame buffers
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Fri Dec 4 09:38:00 PST 2015
https://bugs.freedesktop.org/show_bug.cgi?id=93251
Bug ID: 93251
Summary: i915 is leaking frame buffers
Product: DRI
Version: unspecified
Hardware: Other
OS: All
Status: NEW
Severity: major
Priority: medium
Component: DRM/Intel
Assignee: intel-gfx-bugs at lists.freedesktop.org
Reporter: tvrtko.ursulin at linux.intel.com
QA Contact: intel-gfx-bugs at lists.freedesktop.org
CC: intel-gfx-bugs at lists.freedesktop.org
(Since appealing to people directly does not seem to work, here is an Bugzilla
entry so I've done my bit.)
Definitely when legacy fbcon is not enabled, maybe even leaks extra
(non-primary) planes with it.
I ran igt/kms_rotation_crc on a system without legacy fbcon and it crashed.
This left any planes it happened to be displaying stuck on screen.
For example kms_rotation_crc has crashed, and kernel still hangs onto the frame
buffers:
# cat /sys/kernel/debug/dri/0/i915_gem_framebuffer
user size: 128 x 128, depth 32, 32 bpp, modifier 0x0, refcount 2, obj
ffff8800aa0486c0: p g 64KiB 40 00 [ 0 0 0 0 ] 0 0 uncached dirty (pinned
x 1) (display) (ggtt offset: 0281b000, size: 00010000, type: 0) (pf mappable)
(frontbuffer: 0x002)
user size: 1920 x 1080, depth 24, 32 bpp, modifier 0x0, refcount 2, obj
ffff8800aa049d40: p g 8100KiB 41 00 [ 0 0 0 0 ] 0 0 uncached (pinned x 1)
(display) (ggtt offset: 0282b000, size: 007e9000, type: 0) (p mappable)
(frontbuffer: 0x001)
user size: 1920 x 1080, depth 24, 32 bpp, modifier 0x0, refcount 2, obj
ffff8800aa048fc0: p g 8100KiB 40 00 [ 0 0 0 0 ] 0 0 uncached dirty (pinned
x 1) (display) (ggtt offset: 00819000, size: 007e9000, type: 0) (pf mappable)
(frontbuffer: 0x004)
One consequence is that should the user start something which puts stuff on the
primary plane, say igt/testdisplay, the sprite and cursor belonging to gone
kms_rotation_crc will still be on screen. Even hiding the testdisplay output.
And it also makes subsequent CRC tests fail.
When I now start Xorg the desktop is hidden by the left over sprite plane.
Imagine a scenario with multiple displays and multiple planes and Xorg
segfaults. Kernel will keep, number of displays times number of planes frame
buffers around, pinned in memory, wasting resources.
Not to mention it keeps displaying potentially sensitive data on screen.
Someone will say it is an userspace problem, that something should enumerate
all displays and all planes and clear them should a display server crash. I
disagree because that would mean changing all existing userspace programs which
currently assume that when they start up nothing is on screen or on the extra
planes.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are on the CC list for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20151204/d33b491b/attachment.html>
More information about the intel-gfx-bugs
mailing list