Hello,
El 02/04/14 12:24, Alexis Fajardo Moya escribió:

=>=>=> lastmoduleend 0 received from rounded  this_module->end() 0 
Note this output. After move the first module (00, corresponding to fiasco), the "end" value of the variable
this_module
is 0.

After many printfs, I (aka. my team) discover the problem in the function
move_module (l4util_mb_info_t *mbi, int i, Region *from, Region *to, bool overlap_check)
after execute the sentence
memmove((void *)to->begin(), (void *)start, size);

the begin and end values of the region to, originally with values 711cf000 and 712256db, turns in 10101464c457f and 0. The begin and end values of the region from are set to the corresponding values of the region to, causing the problem in the assigment to lastmoduleend variable in the move_modules function, making false the comparision
for (unsigned i = 0; i < mbi->mods_count; ++i) { ...
    if (i < 3) { ...
        if (start < lastmoduleend) // false, (7106e000 < 0)?

in the second iteration of the for sentence.

Best regards,
                        Alexis.