A 503 error means that the application started and that a URL request was routed to it, but there was a failure in the application code.
In other words, the application has a bug in it. If you're not seeing a stack trace in that generally means that the application is also swallowing the exception instead of reporting it, but is apparently manually setting the response code to 503.
I've learned the hard way to NEVER simply silently consume an exception. Even the useless ones that people do on database connections:
If an exception was worth throwing, it's worth reporting, unless it's an application-style exception such as a "record not found: where the exception is not actually an error.
An IDE is no substitute for an Intelligent Developer.