Changes for page Runtime Overview Exit codes
Last modified by Carlijn Kokkeler on 2024/09/17 15:13
From version 12.1
edited by Tudor Neacsu
on 2024/06/21 09:41
on 2024/06/21 09:41
Change comment:
There is no comment for this version
To version 6.2
edited by Tudor Neacsu
on 2024/06/20 12:38
on 2024/06/20 12:38
Change comment:
Update document after refactoring.
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,36 +1,33 @@ 1 1 {{container}}{{container layoutStyle="columns"}}((( 2 -In this microlearning, we willgiveinsightsintowhatis anexit code,themain exitcodesreturnedbyacontainerwhenitstopsandhow canthat helpa SupportEngineertoconductan RCA.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. 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. Key concepts==6 +== 1. Situation == 7 7 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 multiplestatuses.Among these, there is the status Exit which is returnedby thecontaineruppon stopping and comes together with a code.The exitcodeusuallypoints out the reason why thecontainer stopped. Inthe section below we go into moredetailsfor the most common exit codes thatyou couldsee in eMagiz.8 +No data is delivered to a backend system. 9 9 10 - [[image:Main.Images.RCA-Knowledgebase.WebHome@rca-knowledgebase-runtime-overview-exit-codes.png]]10 +== 2. Problem == 11 11 12 - ==2.Exit code values==12 +The problem in this case was that the backend system was not receiving any data. This was caused by an unstable H2 database. 13 13 14 - *Exitedwith code **0**: The applicationinside the container completed its work successfullywithout any errors.14 +== 3. Analysis == 15 15 16 - *Exited with code **1**:There was a general error in the application, which couldbe due to a variety of reasons like incorrectarguments or a failed dependency. For example whenyou are missing a property value.16 +=== 3.1 Reproduction === 17 17 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.18 +N/A 19 19 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 especiallywhen eMagiz isrunning on premisesand the permissions are incorrectly configured.20 +=== 3.2 Analysis === 21 21 22 - *Exitedwith code**127**:Thecommand was not found.Thisusually happensif a scriptmissingorthe pathisnotsetcorrectly.22 +The problem led us to investigate the queue statistics of the flow responsible for delivering the data. Here, it was seen that data was flowing throught the queue, but in a repetitive pattern. In the runtime statistics a very high CPU was observed. Consequently, the health of the H2 database was investigated. The H2 database was processing the messages repeatedly after the connector had undergone auto-healing. Therefore, it was not processing the new messages. 23 23 24 - *Exited with code **137**: The container was forcefully stopped.This happenswhen the container exceeds its memory resourcelimit(OOM).24 +== 4. Result == 25 25 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. 26 +The removal and re-addition of the H2 database caused the H2 database to return to normal behavior. Afterwards, the problem did not reoccur. The resetting of the H2 database should also solve the problem. This can be done by moving to Deploy -> Architecture and pressing 'Reset H2'. Do remember that resetting the H2 database or removing and readding it will result in a loss of all the data on the database. 31 31 32 - 33 33 == 5. Suggested Additional Readings == 29 +For more information on resetting a H2 Database, please check out the following microlearning: 30 +* [[Reset H2 Database>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.eMagiz Runtime Management.intermediate-runtime-management-reset-h2.WebHome||target="blank"]] 34 34 35 35 36 36 )))((({{toc/}}))){{/container}}{{/container}}