KB Article #177661

How to report an API Gateway freeze

Problem

-- You need to know what information to gather in order to debug a frozen API Gateway process.

Note: If an API Gateway process stops running, please refer to the KB on reporting a crash, instead.

Resolution

* For a freeze, it's important to gather evidence before killing the process. Support will generally want the following items:

1) Kill -3 & jstack output -

Note that kill -3 does not, in fact, kill the process. It will send the SIGQUIT signal to the process, which actually causes Java to print debugging information to the gateway process' trace file. You should run both jstack -F -m -l <pid> and kill -3 <pid> together on the gateway multiple times, each set a minute or so apart. Above, <pid> is the process ID of the stuck process. Note that the jstack utility is part of the JDK and does not ship with the gateway. You will have to obtain and install the JDK that matches your gateway's JRE to obtain this information. You can find the JRE version of your gateway by going to /apigateway/platform/jre/bin and running java -version

2) The last few trace files before the incident. Due to the output from #1 flooding the trace file, make sure that the activity from before the freeze is well-represented (e.g. at least a full trace file worth or more). If the freeze is reproducible, make sure to turn the trace level to DATA to gather additional information on the cause.

3) The FED file containing the configuration of the stuck instance. You can export this with Policy Studio (File | Save | Deployment Package).