<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - [SNB/IVB/HSW ULT regression]system hang when run nightly testing"
href="https://bugs.freedesktop.org/show_bug.cgi?id=68171#c25">Comment # 25</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - [SNB/IVB/HSW ULT regression]system hang when run nightly testing"
href="https://bugs.freedesktop.org/show_bug.cgi?id=68171">bug 68171</a>
from <span class="vcard"><a class="email" href="mailto:ben@bwidawsk.net" title="Ben Widawsky <ben@bwidawsk.net>"> <span class="fn">Ben Widawsky</span></a>
</span></b>
<pre>For posterity... I've discussed this with Chris quite a bit, and thought about
it myself.
I think it's definitely feasible to end up freeing an object while going
through i915_vma_unbind. I can't see how this problem is special to the vma
addition though since the theoretical issue of the shrinker being invoked due
to an object being unbound (and the request being added) is not new.
Either way, I have a few of my own hacks we can try. I think the last patch
from Chris (<a href="https://bugs.freedesktop.org/attachment.cgi?id=85153">https://bugs.freedesktop.org/attachment.cgi?id=85153</a>) is flawed in
that it doesn't prevent invalid ptr access on return to i915_vma_unbind.
However, I think the two obsoleted patches before that should prevent the
problem (though it's duct tape to be sure, since the next user of malloc an
easily hit this). The recent patch
<a href="https://bugs.freedesktop.org/attachment.cgi?id=85153">https://bugs.freedesktop.org/attachment.cgi?id=85153</a> seems to be useful to fix
a bug we haven't hit with consecutive shrinker recursion (thought I haven't
charted out how that actually can happen).
My ratio of hitting the problem is quite low. I've been running the previous 2
patches for several hours and haven't hit the problem.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>