<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>new</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>Comment (by Roland Haas):</p>
<p>The current code in Carpet produces backtraces (but no line numbers) on Linux but not for OSX:</p>
<div class="codehilite language-plaintext"><pre><span></span>Backtrace from rank 0 pid 33066:
1. CarpetLib::signal_handler(int)   [/data/rhaas/postdoc/gr/cactus/ET_trunk/exe/cactus_sim(_ZN9CarpetLib14signal_handlerEi+0xe7)            + [0x563a32128657]]
2. /lib/x86_64-linux-gnu/libc.so.6(+0x3a100) [0x7fea0e0df100]
3. /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x141) [0x7fea0e0df081]
4. /lib/x86_64-linux-gnu/libc.so.6(abort+0x121) [0x7fea0e0ca535]
5. /lib/x86_64-linux-gnu/libc.so.6(+0x2540f) [0x7fea0e0ca40f]
6. /lib/x86_64-linux-gnu/libc.so.6(+0x32b92) [0x7fea0e0d7b92]
7. /data/rhaas/postdoc/gr/cactus/ET_trunk/exe/cactus_sim(+0xca22a3) [0x563a320582a3]
8. /data/rhaas/postdoc/gr/cactus/ET_trunk/exe/cactus_sim(CCTKi_ScheduleGHInit+0x4a) [0x563a340527ba]
9. Carpet::Initialise(tFleshConfig*)   [/data/rhaas/postdoc/gr/cactus/ET_trunk/exe/cactus_sim(_ZN6Carpet10InitialiseEP12tFleshConfig+0x2cc) + [0x563a3201f6dc]]
10. /data/rhaas/postdoc/gr/cactus/ET_trunk/exe/cactus_sim(main+0x35) [0x563a31c585f5]
11. /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7fea0e0cbbbb]
12. /data/rhaas/postdoc/gr/cactus/ET_trunk/exe/cactus_sim(_start+0x2a) [0x563a31c5e53a]

The hexadecimal addresses in this backtrace can also be interpreted
with a debugger (e.g. gdb), or with the &#39;addr2line&#39; (or &#39;gaddr2line&#39;)
command line tool: &#39;addr2line -e cactus_sim &lt;address&gt;&#39;.
</pre></div>


<p>and</p>
<div class="codehilite language-plaintext"><pre><span></span>Backtrace from rank 0 pid 76396:

The hexadecimal addresses in this backtrace can also be interpreted
with a debugger (e.g. gdb), or with the &#39;addr2line&#39; (or &#39;gaddr2line&#39;)
command line tool: &#39;addr2line -e cactus_sim &lt;address&gt;&#39;.
</pre></div>


<p>on OSX all of  <code>HAVE_BACKTRACE</code>, <code>HAVE_DLADDR</code>, <code>HAVE___CXA_DEMANGLE</code>, and<code>HAVE_BACKTRACE_SYMBOLS</code> were set in <code>cctk_Config.h</code> so the 
<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>