Builds fail due to JMS message listener failed with no converter available
プラットフォームについて: Data Center のみ - この記事は、Data Center プラットフォームのアトラシアン製品にのみ適用されます。
この KB は Data Center バージョンの製品用に作成されています。Data Center 固有ではない機能の Data Center KB は、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。
*Fisheye および Crucible は除く
要約
Build plans fail after upgrading to Java 11/Java 17 with the following error message:
WARN [remoteEventRebroadcasterMessageListenerContainer-1] [AbstractMessageListenerContainer] Execution of JMS message listener failed, and no ErrorHandler has been set.
com.thoughtworks.xstream.converters.ConversionException: No converter available
---- Debugging information ----
message : No converter available
環境
Observed after upgrading Bamboo to 9.4 or newer versions.
診断
Build plans are unable to run and trigger the following error in the <bamboo-agent-home>/atlassian-bamboo-agent.log
file:
WARN [remoteEventRebroadcasterMessageListenerContainer-1] [AbstractMessageListenerContainer] Execution of JMS message listener failed, and no ErrorHandler has been set.
com.thoughtworks.xstream.converters.ConversionException: No converter available
---- Debugging information ----
message : No converter available
type : com.atlassian.bamboo.event.ServerFingerprintBroadcastEventV2
converter : com.atlassian.bamboo.serialization.xstream.StrippingConverter
message[1] : Could not initialize class net.sf.cglib.proxy.Enhancer
converter[1] : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
message[2] : Unable to make field private static final long java.util.EventObject.serialVersionUID accessible: module java.base does not "opens java.util" to unnamed module @4eb6d1d0
version : not available
-------------------------------
at com.thoughtworks.xstream.core.DefaultConverterLookup.lookupConverterForType(DefaultConverterLookup.java:88) ~[xstream-1.4.20.jar:1.4.20]
原因
Performance enhancements have been observed across Java versions 8, 11, and 17, although some classes now require additional parameters to function optimally. If the agent is not upgraded or manually updated as per the Bamboo remote agent installation guide, the properties outlined in the Solution section within the wrapper.conf file of the agent operating on Java 11 or Java 17 will not be updated and will result in the build plan being unable to execute. This will trigger the error detailed in the Diagnosis section.
ソリューション
When upgrading Bamboo from versions 8.0–9.3 to version 9.4 or later either download a new remote agent JAR from your upgraded Bamboo and reinstall the wrapper or update the wrapper configuration manually: Bamboo remote agent installation guide. This ensures that agents running on Java 11 or Java 17 can perform the necessary conversions effectively.
An workaround to solve this error is through the steps below:
- Stop the original agent.
- Open the wrapper configuration file
<BAMBOO_AGENT_HOME>/conf/wrapper.conf
. In the
wrapper.conf
file, replace the values for the following properties (or add them if they are not there):wrapper.java.version.min=11 wrapper.java.version.max=17 wrapper.java.version.fallback=11 wrapper.java.additional.4=--add-opens=java.base/ java.util=ALL-UNNAMED wrapper.java.additional.5=--add-opens=java.base/ java.lang=ALL-UNNAMED wrapper.java.additional.6=--add-opens=java.base/ sun.net.www.protocol.http=ALL-UNNAMED wrapper.java.additional.7=--add-opens=java.base/ sun.net.www.protocol.https=ALL-UNNAMED
- Start the agent.