Summary: | Screen corruption and crash apparently due to use of freed memory | ||
---|---|---|---|
Product: | Mesa | Reporter: | Sami Liedes <sliedes> |
Component: | Drivers/DRI/i965 | Assignee: | Ian Romanick <idr> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | eugeni |
Version: | 7.10 | Keywords: | patch |
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | Tentative patch fixing the crash |
Description
Sami Liedes
2011-05-28 11:54:03 UTC
I can reproduce this issue with xorg-server 1.10.2, mesa 7.10.2 and libdrm 2.4.26 and x11-driver-video-intel 2.15 on Mandriva cooker. Another easy way to reproduce the issue is: - execute tuxracer in fullscreen mode - run a game - return to menu - wait on menu screen about 30 seconds - hit esc to leave the application. As soon as desktop returns, X crashes. Created attachment 47731 [details] [review] Tentative patch fixing the crash This patch fixed the issue for me. (Adjusting Product as the proposed patch fixed the issue within Mesa). Tested. That patch doesn't fix the crash here, so we may be talking about two distinct bugs. (In reply to comment #3) > Created an attachment (id=47731) [details] > Tentative patch fixing the crash > > This patch fixed the issue for me. By looking at the patch, I suspect your problem might be a duplicate of: https://bugs.freedesktop.org/show_bug.cgi?id=32534 and https://bugs.freedesktop.org/show_bug.cgi?id=33422 Look at the patch in #32534 comment #5 Yes, could be a duplicate of #32534 indeed. commit 2608a367acba7247e50754c3daeed09ba2e97d05 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Mon Jul 11 16:28:15 2011 +0100 dri: Prevent abuse of the Resource database The Resource database is only designed to store a single value for a particular type associated with an XID. Due to the asynchronous nature of the vblank/flip requests, we would often associate multiple frame events with a particular drawable/client. Upon freeing the resource, we would not necessarily decouple the right value, leaving a stale pointer behind. Later when the client disappeared, we would write through that stale pointer upsetting valgrind and causing memory corruption. MDK. Instead, we need to implement an extra layer for tracking multiple frames within a single Resource. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37700 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> |
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.