A 500 internal server error is generic, for when a more specific message is not available.
The 500 internal server error is often encountered in place of a more specific error message because the code could not complete far enough along to provide a more useful error.
The reasons for encountering this error are vast, causing it to be a difficult error to resolve. Some suspects include invalid syntax, such as mismatched parenthesis
() or curly braces
.htaccess file, PHP memory limit, bad/conflicting plugin.
If you suddenly encounter such an error while developing a theme or plugin, try to go back to a revision that was working and determine what has changed in the code that may cause such a fatal error. It may be beneficial to deactivate all plugins one by one to find the culprit, or even replace core install files.