Abort (Core dumped) when running cFS in docker container #718
-
Hi, I'm trying to build cFS in docker, and I'm getting a core dump when I run it: FROM i386/debian:bullseye
# Apt should not ask questions during configuration
ENV DEBIAN_FRONTEND=noninteractive
# Update packages available
RUN apt-get update
# cFS dependencies
RUN apt-get install -y cmake build-essential gcc-multilib g++-multilib
# Generic dependencies needed
RUN apt-get install -y git
# Get copy of cFS
RUN git clone --recursive https://github.com/nasa/cFS
WORKDIR cFS
RUN git submodule init
RUN git submodule update
RUN cp cfe/cmake/Makefile.sample Makefile
RUN cp -r cfe/cmake/sample_defs sample_defs
RUN make SIMULATION=native prep
RUN make
RUN make install
WORKDIR build/exe/cpu1/
CMD ./core-cpu1 Here's my session:
Does anyone know what's happening? Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
For info: An alternative docker image, for Raspberry Pi, was also announced in #399 by @astroesteban. |
Beta Was this translation helpful? Give feedback.
-
TL;DR: The problem in my case was that the DetailsTo anybody who encounters the same problem, here's what I did to figure out the solution. The bottom of the log indicates what the error may be:
However, it's not necessarily clear that the abort (core dumped) was caused by the cFS stopping. I first compiled cFS with debug enabled. Change the
Then I installed
I then run cFS with Full output
I then run the
The message pointed me to the Tracking that back took me to a call to the pipe initialization, which was returning the error code I pointed at above. Searching for that error code in the tree brought up its definition. I had to use case-insensitive search.
Opening that location That pointed me to the max queues issue. When I investigated further, I saw that the message queue size was too small:
I knew from prior experiments that this could be an issue, so I tried to increase it by running docker with a sysctl configuration setting:
That solve the issue for me. I also looked at increasing the message queue limit with the |
Beta Was this translation helpful? Give feedback.
-
This requires privileged thought, which are not available for many users in environments where cFS may be used due to security policies. I remember at some point hearing about the use of mqueues possibly being replaced in cFS. I wonder what the status of that is. |
Beta Was this translation helpful? Give feedback.
TL;DR: The problem in my case was that the
msg_queue
size was lower than required.Details
To anybody who encounters the same problem, here's what I did to figure out the solution.
The bottom of the log indicates what the error may be:
However, it's not necessarily clear t…