Hi Joel, Works fine without debug, its the deferred free doing _Heap_Allocate with the negative size thats causing it.
On Wed, 13 Apr 2022 at 16:09, Joel Sherrill <j...@rtems.org> wrote: > This appears to be a bad side-effect of the way the deferred free is > implemented > when the memory protection/fence is enabled. This is turned on by enabling > rtems debug. > > I'd recommend filing a ticket and assigning it to Sebastian for a real fix. > > In the meantime, see if building RTEMS without debug enabled helps. > > --joel > > On Wed, Apr 13, 2022 at 4:30 AM Matthew J Fletcher <ami...@gmail.com> > wrote: > >> Hi, >> >> Investigating the "Total number of failed allocations:" from the >> wkspace cmd i see that; >> >> /* Statistics */ >> ++stats->failed_allocs; >> >> Are incremented when _Heap_Allocate_aligned_with_boundary fails, however >> it >> seems this will routinely fail due to; >> >> _Heap_Protection_free_all_delayed_blocks seemingly on purpose creating an >> impossibly large allocation. >> >> uintptr_t large = 0 >> - (uintptr_t) HEAP_BLOCK_HEADER_SIZE >> - (uintptr_t) HEAP_ALLOC_BONUS >> - (uintptr_t) 1; >> >> void *p = _Heap_Allocate( heap, large ); >> >> This makes it difficult to place a breakpoint on failed_allocs to >> investigate true low memory situations with heap protection enabled. >> >> >> regards >> --- >> Matthew J Fletcher >> _______________________________________________ >> users mailing list >> users@rtems.org >> http://lists.rtems.org/mailman/listinfo/users >> > -- regards --- Matthew J Fletcher _______________________________________________ users mailing list users@rtems.org http://lists.rtems.org/mailman/listinfo/users