From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 26708] New: libdrm-intel leaks memory when resizing window Date: Mon, 22 Feb 2010 13:47:25 -0800 (PST) Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.sourceforge.net To: dri-devel@lists.sourceforge.net List-Id: dri-devel@lists.freedesktop.org http://bugs.freedesktop.org/show_bug.cgi?id=26708 Summary: libdrm-intel leaks memory when resizing window Product: DRI Version: unspecified Platform: Other OS/Version: All Status: NEW Severity: normal Priority: medium Component: libdrm AssignedTo: dri-devel@lists.sourceforge.net ReportedBy: penma.bfdo@penma.de At least the DRM/Intel module continues to suck up memory just by resizing the window. This would be acceptable behaviour if it wouldn't continue to grow on and on, as it happens for software rendering. This can not only be reproduced with a (potentially buggy) selfwritten test program but also with the glxdemo.c program from Mesa. To reproduce, start the test program and make the window smaller, and larger, and smaller again quite wildly and often (10-30 seconds or so). What happens if you start it with LIBGL_ALWAYS_SOFTWARE=1: Memory usage goes up to about 10M and stays there. What happens if you start it without that option set (DRM/Intel): Memory usage continues to grow with every resize operation even when the window size is only changed around 100x100 +-5px. Excerpt from Valgrind output (it had lots of those): ==11088== 3,244,032 bytes in 99 blocks are still reachable in loss record 331 of 331 ==11088== at 0x4C221A7: malloc (vg_replace_malloc.c:195) ==11088== by 0x7B3A822: ??? (in /usr/lib/libdrm_intel.so.1.0.0) ==11088== by 0x74B2344: ??? (in /usr/lib/dri/i965_dri.so) ==11088== by 0x74B41AD: brw_validate_state (in /usr/lib/dri/i965_dri.so) ==11088== by 0x74A6DBD: brw_draw_prims (in /usr/lib/dri/i965_dri.so) ==11088== by 0x75641A4: vbo_exec_vtx_flush (in /usr/lib/dri/i965_dri.so) ==11088== by 0x7560154: vbo_exec_FlushVertices_internal (in /usr/lib/dri/i965_dri.so) ==11088== by 0x7560221: vbo_exec_FlushVertices (in /usr/lib/dri/i965_dri.so) ==11088== by 0x74DB15D: _mesa_Flush (in /usr/lib/dri/i965_dri.so) ==11088== by 0x4E4C2B1: glXSwapBuffers (in /usr/lib/libGL.so.1.2) One test run got 23 MiB of still accessible memory all from libdrm. I don't think it's used for anything useful, if not because of the size, then because of the fact the software renderer does not leak. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev --