Last modified by Carlijn Kokkeler on 2024/09/17 15:13

From version 1.1
edited by Eva Torken
on 2024/03/22 12:00
Change comment: There is no comment for this version
To version 12.1
edited by Tudor Neacsu
on 2024/06/21 09:41
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -No data delivered to backend system
1 +Runtime Overview Exit codes
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.etorken
1 +XWiki.TudorNeacsu
Content
... ... @@ -1,32 +1,36 @@
1 1  {{container}}{{container layoutStyle="columns"}}(((
2 -In this document, we will use the information from the actual root cause analysis to make a generic view that can be used if you run into the same or a similar problem in the future. Finally, the document will describe the situation, the problem, the analysis, and the result.
2 +In this microlearning, we will give insights into what is an exit code, the main exit codes returned by a container when it stops and how can that help a Support Engineer to conduct an RCA.
3 3  
4 4  Should you have any questions, please get in touch with [[academy@emagiz.com>>mailto:academy@emagiz.com]].
5 5  
6 -== 1. Situation ==
6 +== 1. Key concepts ==
7 7  
8 -No data is delivered to a Mendix application.
8 + In a previous [[microlearning>>https://docs.emagiz.com/bin/view/Main/eMagiz%20Academy/Microlearnings/Crash%20Course/Crash%20Course%20Platform/Runtime%20Overview||target="blank"]] we explained that a container can have multiple statuses. Among these, there is the status Exit which is returned by the container uppon stopping and comes together with a code. The exit code usually points out the reason why the container stopped. In the section below we go into more details for the most common exit codes that you could see in eMagiz.
9 9  
10 -== 2. Problem ==
10 +[[image:Main.Images.RCA-Knowledgebase.WebHome@rca-knowledgebase-runtime-overview-exit-codes.png]]
11 11  
12 -The problem in this case was expected to be related to the old build numbers of the model.
12 +== 2. Exit code values ==
13 13  
14 -== 3. Analysis ==
14 +* Exited with code **0**: The application inside the container completed its work successfully without any errors.
15 15  
16 -=== 3.1 Reproduction ===
16 +* Exited with code **1**: There was a general error in the application, which could be due to a variety of reasons like incorrect arguments or a failed dependency. For example when you are missing a property value.
17 17  
18 -N/A
18 +* Exited with code **125**: The docker run command was not executed successfully. This usually occurs when eMagiz fails to execute a certain command on that container, e.g. Start, Stop.
19 19  
20 -=== 3.2 Analysis ===
20 +* Exited with code **126**: The command inside the container was found but cannot be executed. This can be due to permission issues or if the command is not executable. This can happen especially when eMagiz is running on premises and the permissions are incorrectly configured.
21 21  
22 -The problem led us to investigate the health of the JMS and the eMagiz Mendix connector. The JMS was restarted due to the amount of 'client connection failed' warnings that were received. Due to the problem being a Mendix application which was not receiving data, the eMagiz Mendix connector was also restarted. Afterwards, everything worked fine again.
22 +* Exited with code **127**: The command was not found. This usually happens if a script is missing or the path is not set correctly.
23 23  
24 -== 4. Result ==
24 +* Exited with code **137**: The container was forcefully stopped. This happens when the container exceeds its memory resource limit (OOM).
25 25  
26 -The old build numbers used in the model are expected to have an influence on the performance of the eMagiz Mendix connector. We recommend to upgrade these build numbers or to migrate to the current-generation runtime.
26 +* Exited with code **139**: The application inside the container crashed due to a segmentation fault, which is usually caused by accessing memory that the process does not have permission to access.
27 +
28 +* Exited with code **143**: The container stopped gracefully terminated after receiving the operating system's SIGTERM signal, which instructs the container to do so. For example, when you command the container to stop via Deploy Architecture or when eMagiz stops the container, e.g. Stop Machine deployment step.
29 +
30 +* Exited with code **255**: Container exited, returning an exit code outside the acceptable range, meaning the cause of the error is not known.
27 27  
32 +
28 28  == 5. Suggested Additional Readings ==
29 -N/A
30 30  
31 31  
32 32  )))((({{toc/}}))){{/container}}{{/container}}