<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [SKL] ES31-CTS.core.sepshaderobjs.StateInteraction fails sporadically"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=102177#c3">Comment # 3</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [SKL] ES31-CTS.core.sepshaderobjs.StateInteraction fails sporadically"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=102177">bug 102177</a>
              from <span class="vcard"><a class="email" href="mailto:kenneth@whitecape.org" title="Kenneth Graunke <kenneth@whitecape.org>"> <span class="fn">Kenneth Graunke</span></a>
</span></b>
        <pre>This isn't Tim's fault.

The problem is that the test tries to re-link a program which is currently
bound for rendering...but with a bogus shader, which causes a link failure. 
The GL specification (I can't remember where exactly) says that in this case,
the previous program remains bound for rendering and is not destroyed until
it's unbound.

When re-linking, we immediately trash the program...but because linking fails,
and we don't get a new one...we end up leaving the old freed program bound.  So
when you go to draw...you hit a use-after-free...which may work or fail
depending on the malloc calls in the meantime.

You can easily see this problem by using 'valgrind'.  This is a nasty issue,
and I'm not exactly sure what to do about it.</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>