Bamboo fails to start with "More than one fragment with the name [spring_web] was found" after upgrade with Windows installer

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

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.

*Fisheye および Crucible は除く

    

要約

After attempting to upgrade Bamboo using the Windows installer, the process tops and nothing is written to the $BAMBOO_HOME\logs\atlassian-bamboo.log file. An error: "More than one fragment with the name [spring_web] was found."  is logged to the  $BAMBOO_INSTALL\logs\catalina* files

環境

  • Windows using the installer MSI

診断

Inspecting the $BAMBOO_INSTALL\logs\catalina*  files show the below error:

03-Jan-2022 15:13:48.761 SEVERE [Catalina-startStop-1] org.apache.catalina.core.ContainerBase.startInternal A child container failed during start
	java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
		at java.util.concurrent.FutureTask.report(FutureTask.java:122)
...
	Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
		at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
		... 6 more
	Caused by: java.lang.IllegalArgumentException: More than one fragment with the name [spring_web] was found. This is not legal with relative ordering. See section 8.2.2 2c of the Servlet specification for details. Consider using absolute ordering.
		at org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2203)
..
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		... 6 more

原因

When executing a rolling upgrade of Bamboo using the windows installer to the same installation folder as the previous installation, old files can fail to be cleaned up causing duplicate libraries of different versions to be present on the classpath.

ソリューション

This method involves removing all Bamboo installation files related files from $BAMBOO_INSTALL and starting from a fresh directory. If you are unclear on the difference between your Bamboo install and Bamboo home directory, it may be beneficial to read the documentation as it's very important that the Bamboo home directory is not removed:

  1. Please ensure you backup any configuration files within the installation folder such as $BAMBOO_INSTALL\conf\server.xml or $BAMBOO_INSTALL\bin\setenv.bat that may have customizations applied.
  2. Uninstall the Bamboo installation files/binaries.
    • (warning) Be sure to keep your $BAMBOO_HOME directory as it contains state / your data which is needed for an upgrade.
  3. Ensure there are no binary files left within $BAMBOO_INSTALL 
  4. Reinstall Bamboo binaries using the installer.

Alternatively, you could reinstall to a completely separate directory rather than re-using the old one.

最終更新日: 2022 年 2 月 10 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.