<html>#2117: CarpetIOHDF5 commit 69c73fb1 " CarpetIOHDF5: Add "active" attribute to grid function dataset describing which points are active" breaks 'IO::out_mode = "onefile"'
<table style='border-spacing: 1ex 0pt; '>
<tr><td style='text-align:right'> Reporter:</td><td>Roland Haas</td></tr>
<tr><td style='text-align:right'>   Status:</td><td>open</td></tr>
<tr><td style='text-align:right'>Milestone:</td><td>ET_2018_02</td></tr>
<tr><td style='text-align:right'>  Version:</td><td>development version</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>Setting</p>
<div class="codehilite"><pre><span></span>IO::out_mode            = &quot;onefile&quot;
</pre></div>


<p>in a parfile and running with more than 1 MPI ranks causes and out-of-range array access in Output.cc in line 913:</p>
<div class="codehilite"><pre><span></span>    ostringstream buf;
    buf &lt;&lt; (vdd.at(Carpet::map)
                -&gt;local_boxes.at(mglevel)
                .at(refinementlevel)
----&gt;           .at(local_component)
                .active);
</pre></div>


<p>due to <code>local_component</code> being -1. This is the backtrace:</p>
<div class="codehilite"><pre><span></span><span class="cp">#6  0x00007ffff3a03355 in std::__throw_out_of_range_fmt(char const*, ...) ()</span>
   <span class="n">from</span> <span class="o">/</span><span class="n">usr</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">x86_64</span><span class="o">-</span><span class="n">linux</span><span class="o">-</span><span class="n">gnu</span><span class="o">/</span><span class="n">libstdc</span><span class="o">++</span><span class="p">.</span><span class="n">so</span><span class="mf">.6</span>
<span class="cp">#7  0x00005555578f17ee in std::vector&lt;dh::local_dboxes, std::allocator&lt;dh::local_dboxes&gt; &gt;::_M_range_check (__n=&lt;optimized out&gt;, this=&lt;optimized out&gt;) at /usr/include</span><span class="cpf">/c++/7/bits/stl_vector.h:825</span><span class="cp"></span>
<span class="cp">#8  std::vector&lt;dh::local_dboxes, std::allocator&lt;dh::local_dboxes&gt; &gt;::at (__n=&lt;optimized out&gt;,</span>
    <span class="n">this</span><span class="o">=&lt;</span><span class="n">optimized</span> <span class="k">out</span><span class="o">&gt;</span><span class="p">)</span> <span class="n">at</span> <span class="o">/</span><span class="n">usr</span><span class="o">/</span><span class="n">include</span><span class="o">/</span><span class="n">c</span><span class="o">++/</span><span class="mi">7</span><span class="o">/</span><span class="n">bits</span><sp
<p>--<br/>
Ticket URL: <a href='https://bitbucket.org/einsteintoolkit/tickets/issues/2117/carpetiohdf5-commit-69c73fb1-carpetiohdf5'>https://bitbucket.org/einsteintoolkit/tickets/issues/2117/carpetiohdf5-commit-69c73fb1-carpetiohdf5</a></p>
</html>