java.lang.StringIndexOutOfBoundsException: String index out of range: -1

Symptoms:

During Integrity Check with Dashobards included, a similar Unknown error is reported.

java.lang.StringIndexOutOfBoundsException: String index out of range: -1 com.atlassian.cache.CacheException: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at com.atlassian.cache.memory.DelegatingCache.get(DelegatingCache.java:217) at com.atlassian.cache.memory.DelegatingCache.get(DelegatingCache.java:168) at com.atlassian.jira.portal.CachingPortletConfigurationStore.getByPortalPage(CachingPortletConfigurationStore.java:69) at com.atlassian.jira.portal.PortletConfigurationManagerImpl.getByPortalPage(PortletConfigurationManagerImpl.java:21) at com.botronsoft.jira.rollout.impl.convert.dashboard.DashboardConverter.convertGadgets(DashboardConverter.java:212) at com.botronsoft.jira.rollout.impl.convert.dashboard.DashboardConverter.doConvert(DashboardConverter.java:73) at com.botronsoft.jira.rollout.jobs.IntegrityCheckProgressInterceptor.invoke(IntegrityCheckProgressInterceptor.java:83) at com.botronsoft.jira.rollout.impl.integrity.DuplicateObjectInterceptor.invoke(DuplicateObjectInterceptor.java:48) at com.botronsoft.jira.rollout.impl.integrity.ConversionInterceptor.invoke(ConversionInterceptor.java:41) at com.botronsoft.jira.rollout.impl.convert.dashboard.DashboardConverter.doConvert(DashboardConverter.java:43) at com.botronsoft.jira.rollout.impl.convert.AbstractObjectConverter.convert(AbstractObjectConverter.java:22) at com.botronsoft.jira.rollout.impl.configuration.EMFModelObjectResolverImpl.convert(EMFModelObjectResolverImpl.java:31) at com.botronsoft.jira.rollout.impl.configuration.AbstractEMFModelObjectResolverImpl.getModelObject(AbstractEMFModelObjectResolverImpl.java:422) at com.botronsoft.jira.rollout.impl.configuration.AbstractConfigurationExportStrategy.exportAllObjects(AbstractConfigurationExportStrategy.java:197) at com.botronsoft.jira.rollout.impl.configuration.FullConfigurationExportStrategy.doExportAdditionalConfiguration(FullConfigurationExportStrategy.java:38) at com.botronsoft.jira.rollout.impl.configuration.AbstractConfigurationExportStrategy.exportConfiguration(AbstractConfigurationExportStrategy.java:70) at com.botronsoft.jira.rollout.impl.JiraConfigurationServiceImpl.performIntegrityCheck(JiraConfigurationServiceImpl.java:708)

Cause:

The root cause is that there is a corrupted dashboard gadget. The dashboards's name and owner can be found in the Integrity Check result: 

For Example: ,"message":"Error while checking dashboard <a href=\"http://jira:8080/secure/Dashboard.jspa?selectPageId=10000\" target=\"_blank\">*Dashboard name (owner name)</a>

Resolution:

To resolve this either edit the dashboard by removing/editing the problematic gadget, or delete the dashboard (if it’s not needed)