Troubleshooting

Helicon Zoo glues together bunch of very different technologies and applications, therefore it provides number of ways to inform customer of possible errors or problems.

IIS 500 error

If you are seing error like in the below image, your IIS is probably tuned to supress all error messages from backend applications:

Helicon Zoo 500 error page

To disable error suppression and see a real error text from backend put the following line into the the </system.webServer> section of web.config file of your web:

 <httpErrors errorMode="Detailed" />

Now you should be able to see more informative error. By default IIS supresses all errors sent to remote users and shows detailed error text for local requests.

Helicon Zoo 500 error page

This error happens when backend application failed to execute or failed to handle its error state gracefully. In terms of Helicon Zoo Module “backend application” means engine, i.e. Perl, Ruby, Node.js, etc. This error normally looks like this:

Helicon Zoo 500 error page

Here are the fields explained:

Windows error

This field shows last error state set by application. It does not necessarily indicate a real error source as some backend applications never set Windows error state.

Internal module error

This information may be useful for Helicon Tech support service.

STDERR

Probably the most informative part of the message. Many backend engines send various error messages to the console STDERR stream. Helicon Zoo collects these data and show last lines of log output here. Reviewing STDERR in most situations may provide useful information about the error:

STDERR expanded

Other fields indicate actual settings of environment and other request specific data that may help identify error cause.

Application error

Sometimes error is gracefully handled by backend application and error message is returned to the user as a normal HTTP response. In this situation Helicon Zoo is not involved into error handling process. If you see anything that does not look like “Helicon Zoo 500 error page” above, the error was returned by application itself. For example this is how Django application error message may look like:

Application error

The application specific errors are handled and investigated using application specific tools and Helicon Tech usually does not provide support for third-party applications that are executed with our environment. In this situation you may get better help if you contact corresponding application or engine community.

Helicon Zoo error logs

Another thing you can do to learn about the error is enabling logging in web.config by addidg the following line to <environmentVariables> secion:

<add name="ERROR_LOG_DIR" value="logs" />

The ‘value’ of the variable is a relative path to the logs directory. Write permissions should be enabled for this directory in order for Helicon Zoo to be able to write log files.
Here's how the error log file may looks:

Helicon Zoo error log

Contacting Helicon Tech support

Helicon Tech provides commercial support for our free products. You can reach support service here: http://support.helicontech.com/
Before submitting support request please do the following:

  • Upgrade Helicon Zoo Module installation to the most current version available.
  • If you have “Helicon Zoo 500 error” attach entire message to your support ticket.
  • If you have /logs directory with log files attach all these files to your ticket.

We definitely wish as few errors as possible but if you come across some, we believe that the hints in this article will help you out.