Team Calendars for Confluence display Error 500 for Some Users
Symptoms
Some Confluence users cannot access Team Calendars for Confluence receiving an error 500.
The following appears in the Tomcat log (catalina log)
:
16-Jul-2012 15:56:41 com.sun.jersey.server.impl.application.WebApplicationImpl onException
SEVERE: Internal server error
java.lang.NullPointerException
at com.atlassian.confluence.setup.bandana.ConfluenceBandanaCacheKey.hashCode(ConfluenceBandanaCacheKey.java:53)
at java.util.HashMap.get(Unknown Source)
at com.atlassian.confluence.cache.CacheOperations.get(CacheOperations.java:23)
at com.atlassian.confluence.cache.DeferredOperationsCache.get(DeferredOperationsCache.java:44)
at com.atlassian.confluence.setup.bandana.ConfluenceCachingBandanaPersister.retrieve(ConfluenceCachingBandanaPersister.java:56)
at com.atlassian.bandana.DefaultBandanaManager.getValue(DefaultBandanaManager.java:32)
at com.atlassian.bandana.DefaultBandanaManager.getValue(DefaultBandanaManager.java:24)
at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)
at $Proxy146.getValue(Unknown Source)
at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:154)
at $Proxy146.getValue(Unknown Source)
at com.atlassian.confluence.extra.calendar3.calendarstore.AbstractCalendarDataStore.getSubCalendarStorageFormat(AbstractCalendarDataStore.java:216)
at com.atlassian.confluence.extra.calendar3.calendarstore.AbstractCalendarDataStore.getSubCalendar(AbstractCalendarDataStore.java:181)
at com.atlassian.confluence.extra.calendar3.calendarstore.CalendarDataStoreCachingDecorator.getSubCalendar(CalendarDataStoreCachingDecorator.java:116)
at com.atlassian.confluence.extra.calendar3.calendarstore.DelegatingCalendarDataStore.getSubCalendar(DelegatingCalendarDataStore.java:103)
at com.atlassian.confluence.extra.calendar3.DefaultCalendarManager.getSubCalendar(DefaultCalendarManager.java:174)
at com.atlassian.confluence.extra.calendar3.rest.CalendarResource.getSubCalendarsInternal(CalendarResource.java:170)
at com.atlassian.confluence.extra.calendar3.rest.CalendarResource.access$000(CalendarResource.java:91)
at com.atlassian.confluence.extra.calendar3.rest.CalendarResource$1.doInTransaction(CalendarResource.java:150)
at com.atlassian.confluence.extra.calendar3.rest.CalendarResource$1.doInTransaction(CalendarResource.java:147)
......
Diagnosis
When you enable DEBUG logging on com.atlassian.confluence.extra.calendar3
, you will find this line in the atlassian-confluence.log
:
2012-07-23 16:52:05,975 DEBUG [http-8082-16] [extra.calendar3.calendarstore.AbstractCalendarDataStore] getSubCalendarStorageFormat Getting sub-calendar null storage format from Bandana.
Cause
This is a known bug which is caused by when a user opens an email notification regarding a calendar and click on the link Add it now. Please check - TEAMCAL-758Getting issue details... STATUS for more details.
Resolution
Upgrade to a latest version (2.3.2 or later) of Team Calendars for Confluence.