%@ page import="com.atlassian.config.util.BootstrapUtils, com.atlassian.confluence.cluster.ClusterInformation, com.atlassian.confluence.cluster.ClusterManager, com.atlassian.confluence.jmx.RequestMetrics, com.atlassian.confluence.plugin.persistence.PluginData, com.atlassian.confluence.plugin.persistence.PluginDataWithoutBinary, com.atlassian.confluence.plugin.persistence.PluginDataDao, com.atlassian.confluence.status.SystemErrorInformationLogger, com.atlassian.confluence.status.service.SystemInformationService, com.atlassian.confluence.status.service.systeminfo.ConfluenceInfo, com.atlassian.confluence.status.service.systeminfo.DatabaseInfo" %> <%@ page import="com.atlassian.confluence.status.service.systeminfo.MemoryInfo"%> <%@ page import="com.atlassian.confluence.util.GeneralUtil"%> <%@ page import="com.atlassian.confluence.util.HtmlUtil"%> <%@ page import="com.atlassian.confluence.util.I18NSupport"%> <%@ page import="com.atlassian.confluence.util.PatternLayoutWithStackTrace"%> <%@ page import="com.atlassian.core.logging.DatedLoggingEvent"%> <%@ page import="com.atlassian.core.logging.ThreadLocalErrorCollection"%> <%@ page import="com.atlassian.plugin.Plugin"%> <%@ page import="com.atlassian.plugin.PluginInformation"%> <%@ page import="com.atlassian.seraph.auth.DefaultAuthenticator"%> <%@ page import="com.atlassian.spring.container.ContainerManager"%> <%@ page import="org.apache.commons.lang3.StringUtils" %> <%@ page import="org.apache.log4j.spi.LoggingEvent" %> <%@ page import="org.apache.velocity.exception.MethodInvocationException" %> <%@ page import="java.io.BufferedReader" %> <%@ page import="java.io.PrintWriter"%> <%@ page import="java.io.StringReader" %> <%@ page import="java.lang.reflect.InvocationTargetException" %> <%@ page import="java.security.Principal" %> <%@ page import="java.text.DateFormat" %> <%@ page import="java.util.Date" %> <%@ page import="java.util.Enumeration" %> <%@ page import="java.util.Iterator" %> <%@ page import="java.util.List" %> <%@ page import="java.util.Locale" %> <%@ page import="java.util.Map" %> <%@ page import="java.util.UUID" %> <%@ page isErrorPage="true" %> <% String context = request.getContextPath(); %> <% try { %>
A system error has occurred — our apologies!
For immediate troubleshooting, consult our ">knowledge base for a solution.
If you would like to receive support from Atlassian's support team, ask your Confluence administrator to create a support issue on ">Atlassian's support system with the following information:
Your Confluence administrator can use the support request form to create a support ticket which will include this information.
We will respond as promptly as possible.
Thank you!
<%= HtmlUtil.htmlEncode(line) %>
<% } else { Throwable throwable = exception; String causedBy = ""; while (throwable != null) { String at = throwable.getStackTrace().length > 0 ? throwable.getStackTrace()[0].toString() : "Unknown location"; %>
<%= causedBy %><%= HtmlUtil.htmlEncode(String.valueOf(throwable)) %>
at <%= HtmlUtil.htmlEncode(at) %>
<%= HtmlUtil.htmlEncode(ex) %><% } else { %>
<% StringBuffer sb = new StringBuffer(); PatternLayoutWithStackTrace.appendStackTrace(sb, exception); out.print(HtmlUtil.htmlEncode(sb.toString())); %><% } %>
<%= request.getHeader("Referer") != null ? HtmlUtil.htmlEncode(request.getHeader("Referer")) : "Unknown" %>
<% if ((sysInfoService != null) && sysInfoService.isShowInfoOn500()) {%>
<%
if (confluenceInfo != null) {
Map buildstats = GeneralUtil.convertBeanToMap(confluenceInfo);
// remove the properties that we don't want to display in the maps
buildstats.remove("enabledPlugins");
buildstats.remove("startTime");
buildstats.remove("globalSettings");
for (Iterator it = buildstats.entrySet().iterator(); it.hasNext();)
{
Map.Entry entry = (Map.Entry) it.next();
%>
<%= entry.getKey() %>: <%= entry.getValue() %>
<% }
} else { %>
No build information available.
<% } %>
Unique ID: <%= uniqueID.toString()%>
Application Server: <%= application.getServerInfo() %>
Servlet Version: <%= application.getMajorVersion() %>.<%= application.getMinorVersion() %>
<% if (dbInfo != null) { %>
Database Dialect: <%= dbInfo.getDialect() %>
Database Driver Name: <%= dbInfo.getDriverName() %>
<% } else { %>
No database information available.
<% } %>
<% if (memoryInfo != null) { %>
Maximum Heap: <%= memoryInfo.getMaxHeap().megabytes() %> MB
Allocated Heap: <%= memoryInfo.getAllocatedHeap().megabytes() %> MB
Used Memory: <%= memoryInfo.getUsedHeap().megabytes() %> MB
Unused Allocated Memory: <%= memoryInfo.getFreeAllocatedHeap().megabytes() %> MB
Available Memory: <%= memoryInfo.getAvailableHeap().megabytes() %> MB
<% } else { %>
No memory information available.
<% } %>
<% if (sysinfo != null) {
for (Iterator it = sysinfo.entrySet().iterator(); it.hasNext();)
{
Map.Entry entry = (Map.Entry) it.next();
%>
<%= entry.getKey() %>: <%= entry.getValue() %>
<% }
} else { %>
No system information available.
<% } %>
Not clustered.
<% } else { %> <% ClusterInformation clusterInformation = clusterManager.getClusterInformation(); %>
Name: <%= HtmlUtil.htmlEncode(clusterInformation.getName())%>
Description: <%= HtmlUtil.htmlEncode(clusterInformation.getDescription())%>
Members:
<%
for (Iterator it = clusterInformation.getMembers().iterator(); it.hasNext();)
{
%>
- <%= HtmlUtil.htmlEncode(String.valueOf(it.next())) %>
<% } %>
Error reporting cluster information: <%= HtmlUtil.htmlEncode(t.toString()) %>
<% } %> <% } %><%= username %>
<% } catch (Throwable t) { out.println("Error rendering logging information - uh oh."); t.printStackTrace(new PrintWriter(out)); } %> <% List events = ThreadLocalErrorCollection.getList(); if (events != null && !events.isEmpty()) { %><%= events.size() %> log statements generated by this request:
<% for (Iterator it = events.iterator(); it.hasNext();) { Object event = it.next(); if (event instanceof DatedLoggingEvent) { DatedLoggingEvent dle = (DatedLoggingEvent) event; LoggingEvent loggingEvent = dle.getEvent(); Date date = dle.getDate(); %><% t.printStackTrace(new PrintWriter(out)); %>