<html>#1100: Correct backtrace generation in Carpet
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Erik Schnetter</td></tr>
<tr><td style='text-align:right'>   Status:</td><td>open</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td></td></tr>
<tr><td style='text-align:right'>  Version:</td><td></td></tr>
<tr><td style='text-align:right'>     Type:</td><td>bug</td></tr>
<tr><td style='text-align:right'> Priority:</td><td>minor</td></tr>
<tr><td style='text-align:right'>Component:</td><td>Carpet</td></tr>
</table>

<p>Changes (by Roland Haas):</p>
<p><table>
<tr><td>status:</td><td>open (was new)</td></tr>
</table></p>
<p>The file backtrace.cc in CarpetLib does not #include &lt;cctk.h&gt;; hence all HAVE_BACKTRACE* macros are undefined, and only basic backtraces are generated.</p>
<p>Correcting this is non-trivial, since the backtrace code is arcane, is written in C, probably expects glibc, contains (I'm fairly certain) memory allocation errors, and doesn't build e.g. on Mac OSX. The code also spends an inordinate amount of time allocating and freeing string buffers, which should be replaced by simply using C++ streams.</p>
<p>The backtrace code also probably requires a few more autoconf tests, so that it can be disabled where it does not work.</p>
<p><strong>Keyword:</strong></p>
<p>Comment (by Roland Haas):</p>
<p><span class="ap-mention" data-atlassian-id="557058:56049c54-f8c2-4b6c-9b88-ab697c967495">@Erik Schnetter</span> <span class="ap-mention" data-atlassian-id="557058:5785f23c-5444-46da-876b-61f027b7bbc3">@Ian Hinder</span> Please review.</p>
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/1100/correct-backtrace-generation-in-carpet'>https://bitbucket.org/einsteintoolkit/tickets/issues/1100/correct-backtrace-generation-in-carpet</a></p>
</html>