¿Tienes activo el reporte de errores? Deberías.
¿Tienes algo de información del log de errores? Deberías.
Un error 500 siempre es por cuestiones del servidor, y como a simple vista no se puede adivinar la causa entonces conviene siempre activar dicho reporte de errores cuando se está desarrollando.
Creo que es algo que se te ha olvidado, no lo pases por alto.
Obvio, esa no es la solución, pero nos brinda información útil para llegar a la solución.