<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - ExecutionEngine can fail suddenly on out of memory errors"
   href="http://llvm.org/bugs/show_bug.cgi?id=20097">20097</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>ExecutionEngine can fail suddenly on out of memory errors
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Windows NT
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>new bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>sstewartgallus00@mylangara.bc.ca
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>It's perfectly okay for a normal compiler to crash on out of memory errors but
I think a JIT should be a little more robust. Maybe the LLVM developers might
not want to develop for this very difficult use case though and if not than
they should VERY CLEARLY document that they do not intend on creating JIT that
can handle out of memory conditions. But supposing they do want to develop the
JIT for this use case than...

In src/llvm/lib/ExecutionEngine/IntelJITEvents/ittnotify_config.h
InitializeCriticalSection is used but it can throw an exception on low memory
conditions and InitializeCriticalSectionAndSpinCount should be used instead (if
LLVM developers plan to support the arduous task of handling out of memory
conditions).

I can't actual find a use for __itt_mutex_init (which is defined to
InitializeCriticalSection) in the sources though so this bug appears to be
purely academic for now.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>