<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    <div class="moz-cite-prefix">El 02/04/14 12:24, Alexis Fajardo Moya
      escribió:<br>
    </div>
    <blockquote cite="mid:533C39B9.5060908@uclv.cu" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <br>
      <pre><font color="#ff0000">=>=>=> lastmoduleend 0 received from rounded  this_module->end() 0 </font>
</pre>
    </blockquote>
    Note this output. After move the first module (00, corresponding to
    fiasco), the "end" value of the variable<br>
    <pre>this_module</pre>
    is 0.<br>
    <br>
    After many printfs, I (aka. my team) discover the problem in the
    function <br>
    <pre>move_module (l4util_mb_info_t *mbi, int i, Region *from, Region *to, bool overlap_check)</pre>
    after execute the sentence <br>
    <pre>memmove((void *)to->begin(), (void *)start, size);

</pre>
    the <b>begin</b> and <b>end</b> values of the region <b>to</b>,
    originally with values 711cf000 and 712256db, turns in 10101464c457f
    and 0. The <b>begin</b> and <b>end</b> values of the region <b>from</b>
    are set to the corresponding values of the region <b>to</b>,
    causing the problem in the assigment to <b>lastmoduleend</b>
    variable in the <b>move_modules</b> function, making false the
    comparision <br>
    <pre>for (unsigned i = 0; i < mbi->mods_count; ++i) { ...</pre>
    <pre>    if (i < 3) { ...</pre>
    <pre>        <font color="#ff0000"><font color="#000000">if (</font>start < lastmoduleend<font color="#000000">)</font> // false, (7106e000 < 0)?</font></pre>
    <br>
    in the second iteration of the for sentence.<br>
    <br>
    Best regards, <br>
                            Alexis.<br>
  </body>
</html>