[En-Nut-Discussion] heap conflict: allocating a node in threadstacks

PragmaLab info at pragmalab.nl
Fri Sep 8 16:52:50 CEST 2006


Hello all,

for some days I'm tracing this odd bug in our application. 

To make a long story short: while creating nodes in the heapFreeList, the
'Heapmanager' does not seem to take the space that is occupied by the
treadstacks into account. In other words, it places nodes in the middle of
the stack of some thread, which results in unpredictable behaviour (AKA a
crash). For example, in my case the value of the node->hn_next gets
overwritten by the thread (yes, the allocated stacksize is more then
enough). While this value is overwritten (was '0' indicating the end of the
list), the next time the heapFreeList is followed down, weird things happen
offcourse.

I have the strong impression I'm missing some fundamental concept (offcourse
it's not a bug in NutOS), but why do I see in my debugger that nodes are
placed regardless of the threadstacks?

Thanks for helping me out....

best regards,

Rob van Lieshout




More information about the En-Nut-Discussion mailing list