This error occurs when a CGI script exits before writing a complete set of HTTP response headers (not even an empty one). It can happen for a variety of reasons:
- The script may be dying before it writes any output. This can happen, for example, to perl scripts if they have a dependency that cannot be resolved.
- If there is a problem with the hashbang (#!) line of the script. Uploading the script from a Windows machine in binary mode can cause this, or the path to the CGI interpreter you are using could be incorrect, for example attempting to use #!/usr/bin/python instead of #!/usr/local/bin/python.
- A compiled application could be missing a shared library dependency. You can use ldd or try running the script from the ssh command line to check shared library dependencies.
- There could be a system problem preventing the execution of the script.
In all cases, the best thing to do is make sure your site's error log is enabled and see what it says about the problem. If the error output says that there is a system problem preventing execution of your script, or if there is no message in the error log at all, please submit a secure support request indicating the URL of the script you're having trouble with. In many cases, it will be easier to debug a problem if you can provide a simple example at a publicly available URL.