> -----Original Message----- > From: Sebastian Huber <sebastian.hu...@embedded-brains.de> > Sent: Wednesday, June 23, 2021 11:47 AM > To: Sommer, Jan <jan.som...@dlr.de>; users@rtems.org > Subject: Re: Heap allocation for libbsd overwrites IMFS > > > > On 23/06/2021 10:32, jan.som...@dlr.de wrote: > > One of our applications for the Zedboard fails with fatal error after the > setup of the network stack in libbsd. > > So far I traced it down to the point that the memory allocation for libbsd > overwrites parts of the IMFS of rtems. > > When opening device files later this will lead to the crash. > > The backtrace looks like this for the bad allocation looks like this: > > _Heap_Block_split ../../../../../c/src/../../cpukit/score/src/heap.c:313 > 0x10dd58 > > _Heap_Block_allocate_from_begin > ../../../../../c/src/../../cpukit/score/src/heap.c:378 0x10dfd6 > > _Heap_Block_allocate > ../../../../../c/src/../../cpukit/score/src/heap.c:465 0x10dfd6 > > _Heap_Allocate_aligned_with_boundary > ../../../../../c/src/../../cpukit/score/src/heapallocate.c:265 > 0x10e19c > > rtems_heap_allocate_aligned_with_boundary > ../../../../../c/src/../../cpukit/libcsupport/src/malloc_deferred.c:92 > 0x10962e > > malloc ../../../../../c/src/../../cpukit/libcsupport/src/malloc.c:39 > 0x10950e > > _bsd_malloc ../../rtemsbsd/rtems/rtems-kernel-malloc.c:80 > 0x170048 > > [more libbsd] > > ifconfig ../../freebsd/sbin/ifconfig/ifconfig.c:1024 0x1724fa > > > > You probably have a general memory corruption issue. As a first step I would > enable RTEMS_DEBUG = True to enable the heap protection. This could help > to debug the issue. >
With this enabled a few asserts failed during early system initialization which were not related to our problem. I could post the points where this happened, but I don't know enough about the internals to fix them. > > With 1 GiB of RAM, available memory shouldn't be a problem. > > At the moment we have configured the system with > CONFIGURE_UNLIMITED_OBJECTS and > CONFIGURE_UNIFIED_WORK_AREAS. > > This is fine. > Yes, turns out the rtems_bsd_initialize would blow the stack of the init task and then the trouble starts. I now increased the init task's stack size to the same level as the normal user tasks and enabled the stack checker. Thanks, Jan > > Maybe that is not right in this case. Are there any suggestions how to > better configure the system? > > I found CONFIGURE_MEMORY_OVERHEAD in the docs, but I am not so > sure how to use it or if it would help. > > No, it would not help. > > -- > embedded brains GmbH > Herr Sebastian HUBER > Dornierstr. 4 > 82178 Puchheim > Germany > email: sebastian.hu...@embedded-brains.de > phone: +49-89-18 94 741 - 16 > fax: +49-89-18 94 741 - 08 > > Registergericht: Amtsgericht München > Registernummer: HRB 157899 > Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler > Unsere Datenschutzerklärung finden Sie hier: > https://embedded-brains.de/datenschutzerklaerung/ _______________________________________________ users mailing list users@rtems.org http://lists.rtems.org/mailman/listinfo/users