Container error: container is terminated because of Error. It exited with exit code 139. It is not started and not ready. The container last terminated with exit code 139 because of Error.
Google search result description of issue:
When a container exits with status code 139, it's because it received a SIGSEGV signal. The operating system terminated the container's process to guard against a memory integrity violation. It's important to investigate what's causing the segmentation errors if your containers are terminating with code 139
FROM registry.access.redhat.com/ubi9/nodejs-18:1-112.1720017853 as default
ENV TZ="America/Chicago"
USER 0
/etc/apt/sources.list.d/ibmi-acs-1.1.0.list
RUN curl https://public.dhe.ibm.com/software/ibmi/products/odbc/rpms/ibmi-acs.repo | tee /etc/yum.repos.d/ibmi-acs.repo
RUN dnf install --refresh ibm-iaccess -y
RUN dnf install unixODBC unixODBC-devel -y
RUN npm i -g yarn
RUN mkdir /app
RUN chown 1001:0 /app
USER 1001
# # Project files
WORKDIR /app
COPY . .
COPY package.json ./
COPY yarn.lock ./
RUN yarn install
RUN yarn build
CMD [ "node", "dist/main" ]
##### references #####
# article: https://github.com/worksofliam/blog/issues/49
# odbc: https://github.com/markdirish/node-odbc#callprocedurecatalog-schema-name-parameters-callback
# driver ibm-iaccess download: https://ibmi-oss-docs.readthedocs.io/en/latest/odbc/installation.html#linux
# NOTE: When running on Mac using M2 (AMD64), make sure to specify --platform=linux/amd64 when building image
Describe your system
odbc
Package Version:Describe the bug Multiple calls to
callProcedure()
within a short time (10 calls within 2secs) results in a segfault error:To Reproduce Steps to reproduce the behavior:
Connect to database
Call Stored Procedure
Run 10+ requests within 1-2 seconds
Container error:
container is terminated because of Error. It exited with exit code 139. It is not started and not ready. The container last terminated with exit code 139 because of Error.
Google search result description of issue:
When a container exits with status code 139, it's because it received a SIGSEGV signal. The operating system terminated the container's process to guard against a memory integrity violation. It's important to investigate what's causing the segmentation errors if your containers are terminating with code 139
According to this site: https://www.groundcover.com/kubernetes-troubleshooting/exit-code-139
Common Causes of Exit Code 139
IBM i Access ODBC Driver website: https://ibmi-oss-docs.readthedocs.io/en/latest/odbc/installation.html
Dockerfile