Post upgrade checks failed

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

Problem

When upgrading to Fisheye/Crucible 4.2.1, the following exception is reported in the atlassian-fisheye-<date>.log file:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 2016-11-29 20:57:21,818 INFO [main ] BumpDbVersionUpgradeTask-bumpVersionNumberUp - Database upgrade from version 102 is successful 2016-11-29 20:57:21,871 ERROR [main ] DefaultUpgradeCheckManager-runPostUpgradeChecks - java.lang.IllegalStateException: Post upgrade checks failed at com.cenqua.crucible.hibernate.upgrade.checks.DefaultUpgradeCheckManager.runPostUpgradeChecks(DefaultUpgradeCheckManager.java:20) at com.cenqua.crucible.hibernate.DefaultDBControl.upgrade(DefaultDBControl.java:442) at com.cenqua.crucible.hibernate.DefaultDBControl.start(DefaultDBControl.java:268) at com.cenqua.crucible.hibernate.DefaultDBControl.start(DefaultDBControl.java:250) at com.cenqua.crucible.hibernate.DBControlFactoryImpl.<init>(DBControlFactoryImpl.java:67) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:125) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:270) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1115) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:706) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:762) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:775) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:767) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1252) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:710) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:494) at com.cenqua.fisheye.web.jetty.FishEyeWebApplicationContext.doStart(FishEyeWebApplicationContext.java:32) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:172) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95) at org.eclipse.jetty.server.Server.doStart(Server.java:280) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at com.cenqua.fisheye.web.WebServer.start(WebServer.java:332) at com.cenqua.fisheye.ctl.Run.mainImpl(Run.java:236) at com.cenqua.fisheye.ctl.Run.main(Run.java:55) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.cenqua.fisheye.FishEyeCtl.mainImpl(FishEyeCtl.java:101) at com.cenqua.fisheye.FishEyeCtl.main(FishEyeCtl.java:44) Suppressed: java.lang.IllegalStateException: config.xml/security/admins/system-admins/group elements contain unnormalised group names: [groupName] at com.cenqua.crucible.hibernate.upgrade.checks.AllGroupNamesInConfigXmlAreNormalisedPostUpgradeCheck.execute(AllGroupNamesInConfigXmlAreNormalisedPostUpgradeCheck.java:41) at com.cenqua.crucible.hibernate.upgrade.checks.DefaultUpgradeCheckManager.runPostUpgradeChecks(DefaultUpgradeCheckManager.java:24) ... 51 more

Diagnosis

Environment

  • Upgrading from Fisheye/Crucible 4.1.2

Diagnostic Steps

  • Check <FISHEYE_INST>/config.xml for the above reported group name groupName, for example:

    1 <system-admins><group>groupName</group></system-admins>

Cause

As per the Fisheye 4.0 group name normalization, all group names in Fisheye/Crucible should be converted to lowercase after an upgrade to 4.2.1. Though this has not been triggered automatically for groupName. It should have been converted to groupname as part of the upgrade task to normalize group names.

Solution

Workaround

  • Shut down Fisheye/Crucible

  • Manually rename the group from

    1 <system-admins><group>groupName</group></system-admins>

    to

1 <system-admins><group>groupname</group></system-admins>
  • Restart Fisheye/Crucible

Updated on April 2, 2025

Still need help?

The Atlassian Community is here for you.