Thomas Wiedemann wrote:
> Hi,
> there seems to be a bug in rt_task_create(). When no more memory is
> available, the module usage counter of xeno_native is decremented. I
> guess it is not incremented before, however, so the counter gets 0 and
> wraps then to a negative number. It is therefore not possible to remove
> the module.
> I appended a small program to demonstrate this. It simply eats up all
> memory from xenomai by registering as much mutexes as possible,
> and then tries to execute rt_task_create(), which fails. When started
> again, the bug occurs at rt_task_shadow(), as the mutexes have never
> been deleted.
> Compile with  gcc -O2 -Wall `xeno-config --xeno-cflags` `xeno-config
>  --xeno-ldflags` -lrtdm -lnative -o rttest rttest.c
> then simply run it, and watch the output of lsmod before and after.
> Tested with xenomai 2.2.{0,5} and linux, modules loaded:
> xeno_native and xeno_nucleus.

Confirmed. Requires a closer look to find the leak path.

Thanks for reporting so thoroughly,

Attachment: signature.asc
Description: OpenPGP digital signature

Xenomai-core mailing list

Reply via email to