[frs-354] Providing Log Sets for Support

During a support case with FusionReactor Support (support@fusion-reactor.com), you might be asked to provide diagnostic information.

FusionReactor Logs

How you proceed depends on which Log Engine is in use in FusionReactor. You can see this by visiting Logging > Settings > Log Engine Settings and checking the Log Engine parameter.

Use Centralized Archive and Rotation

The most recent log set can found in the FR log archive. This is stored in /FusionReactor/instance/your_instance_name/archive/YYYYMMDD/. These will be named using a unique ID, and are paired as a zip file and a corresponding properties file.

To select which zip file(s) to send, look at the created file time and simply send the zip file(s) that cover the requested time period.

Use Traditional Per-Log Rotation

The most recent logs can be found in /FusionReactor/instance/your_instance_name/log by default. If you have changed the log folder (in Logging > Settings > Log Engine Settings > Log Directory), then they can be found in there.

Any lockfiles (*.lck) can be ignored. The requested log set should be zipped and sent.

JEE Engine Output Logs

Your JEE engine should be logging (at least) the stderr and stdout streams, as well as other logs of its own. On ColdFusion 9, for example, these logs are in /ColdFusion/logs. ColdFusion 10+ stores them (for the default instance) in /ColdFusion/cfusion/logs. Tomcat stores its logs in /Tomcat/logs.

These logs are also text files that can be compressed and attached to mail.

Thread Dumps

Thread dumps provide a snapshot of what the Java engine is currently executing and can be very useful for diagnostics. They are a textual representation of what the Java Virtual Machine is currently doing: what it's running and what it's waiting for.

These can be generated in several ways.

Using FusionReactor

  • Go to Resources > Threads
  • Click Stack Trace All
  • Click Plain and then Select All. Use your browsers Edit > Copy command to paste this information into a file, which can be sent to support.

Using Signals

If you are on a Unix system (e.g. Linux) or other operating system which provides POSIX interprocess signalling, you can use the kill command to send SIGQUIT to the Java process. This will cause it to dump a thread to the {[stdout}} console or log, which can be mailed to support. You'll first need to obtain the process ID (PID) of the Java process, using ps -ef, top, jcmd or jps. Once obtained, you can use the command kill -3 <PID> to send SIGQUIT to the process. The dump will appear.

Using Java Tools

Use the jps command to list all processes running Java Virtual Machines. Select the process ID (PID) of the process for which a dump is to be obtained. Use the command jstack -l <PID> to generate a thread dump which can be mailed.

Heap Dump (HPROF)

An HPROF memory dump is an image of the entire memory region used by the Java Virtual Machine.

Warning!

These files compress well but can still be quite large. Only perform this step if directed to be support.

These files contain a copy of the working memory used by the Java Virtual Machine. Support uses special tools to navigate these dumps to inspect and analyze any memory errors arising from bugs in the product.

Generating an HPROF

Use jps or jcmd to obtain the PID of the process to be dumped. Use jmap -dump:file=dump.hprof <PID> to create dump.hprof. Compress this file using a zip, gzip or bzip2 tool (we can read most compressed formats). You will have received separate instructions on where and how to upload this file to support.

Issue Details

Type: Technote
Issue Number: FRS-354
Components:
Environment:
Resolution: Fixed
Last Updated: 17/Nov/15 10:06 AM
Affects Version:
Fixed Version: 5.2.7
Server:
Platform:
Related Issues:

Comments are closed.