Home > Fluid Dynamics Search Engine > Help > 1094

Search page works, but Admin page returns "500 Internal Error"

In rare cases, normal requests to the search page (search.pl or search.cgi) will work successfully, but requests to the admin page (search.pl?Mode=Admin or search.cgi?Mode=Admin) will fail with an internal server error".

The author has investigated this problem on about a dozen separate systems. In all cases, the problem was due to the web hosting company enforcing excessively strict CGI resource limits. (The FDSE Mode=Admin requests involve loading a large code library, so those requests use more CPU and memory than normal requests.)

Ask your web hosting company whether they enforce CGI resource limits, and if they do, ask them to increase the limits by a factor of 10 or so. Doing that will still protect them from runaway processes while allowing you to get your work done. Setting CGI resource limits is typically done with the setrlimits system call, the Apache directives RLimitCPU and RLimitMEM, the PERL_RLIMITS environment variable, or the Apache::SizeLimit variables. You might want to include those terms when talking to support so that they know what you mean.

FDSE uses an eval wrapper around all of its code, and so any coding errors (like $foo = 1/0) will always result in a nicely-formatted bug report form. The only way that loading a library could kill the entire script is for the Perl interpreter itself to crash or to be killed due to exceeding the resource limits.

For an complete list of your options in dealing with this problem, see the section "How to handle frequent killed processes" at the bottom of help file Dealing with server timeouts and killed processes. Not all sections of that help file apply to this problem; only the suggestions on how to deal with frequent killed processes.

    "Search page works, but Admin page returns "500 Internal Error""