rt_pipe_write memory allocation bug - xenomai 3.x
Jan Kiszka
jan.kiszka at siemens.com
Mon Jul 27 15:17:20 CEST 2020
On 27.07.20 14:44, Stéphane Ancelot via Xenomai wrote:
> Hi,
>
> Using pipe created with poolsize = 0, meaning all message allocations
> for this pipe are performed on the Cobalt core heap.
>
> Unfortunately, using rt_pipe_write(), when no user task is consuming
> it, we discovered after almost many rt_pipe_write() cycles (700000 at
> least in our process) , that the cobalt heap and system heap seem being
> corrupted.
>
> Leading to system issues like unattended task crashes .....
>
"3.x" implies both 3.1 and 3.0 are affected?
Do you see a constantly growing use of system heap (leak)? If that is
not the case, we might have some wrap-around issue somewhere.
Reproduction case would be nice.
>
> Are there any way to bypass this problem, like knowing if pipe has been
> opened before writing it ?
>
Regarding signalling of a non-RT client is connected: There is no
mechanism for that so far. Could be added. Needs a proposal for a useful
API.
Jan
--
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux
More information about the Xenomai
mailing list