a 500 is what generally happens when you're trying to get a cgi script to work and apache just ain't playing nice. Damn near impossible to troubleshoot unless you have access to the server logs.

It's what's usually returned, for lack of a better explanation, when the script tries to do something but can't.