It is quite easy to get portlets into a bad shape.
E.g. Deleting customfields for 2dStats Portlet
We should put a nice big high level try/catch block in - com.atlassian.jira.web.portlet.bean.PortletRenderer.renderPortlet or com.atlassian.jira.portal.PortletImpl.getViewHtml that at least logs:
An error was thrown while try to render portlet: 1234
This would make debugging of support cases much, much easier.
We can either rethrow the error or print a nice message:
We were unable to render this portlet due to an internal error. Please contact your JIRA Administrator