Bamboo cannot start - An invalid XML character
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
Symptoms
Bamboo fails to start and gives an error message that: An invalid XML character (Unicode: 0x13) was found in the element content of the document.
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
2012-02-28 09:56:20,537 INFO [main] [BambooContainer] Checking build HST-Core - Nightly Development Build - Run
[Fatal Error] :35:226: An invalid XML character (Unicode: 0x13) was found in the element content of the document.
2012-02-28 09:56:20,549 ERROR [main] [ConfigUtils] Error getting Build Configuration from '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>
<inheritRepository>true</inheritRepository>
<cleanWorkingDirectory>false</cleanWorkingDirectory>
<repositoryDefiningWorkingDirectory>-1</repositoryDefiningWorkingDirectory>
<buildTasks>
<taskDefinition>
<id>1</id>
<userDescription>Checkout Default Repository</userDescription>
<pluginKey>com.atlassian.bamboo.plugins.vcs:task.vcs.checkout</pluginKey>
<finalising>false</finalising>
<rootDirectoryType>INHERITED</rootDirectoryType>
<repositoryDefiningWorkingDir>-1</repositoryDefiningWorkingDir>
<config>
<item>
<key>selectedRepository_0</key>
<value>defaultRepository</value>
</item>
<item>
<key>checkoutDir_0</key>
<value/>
</item>
</config>
</taskDefinition>
<taskDefinition>
<id>2</id>
<userDescription/>
<pluginKey>com.atlassian.bamboo.plugins.scripttask:task.builder.command</pluginKey>
<finalising>false</finalising>
<rootDirectoryType>INHERITED</rootDirectoryType>
<repositoryDefiningWorkingDir>-1</repositoryDefiningWorkingDir>
<config>
<item>
<key>argument</key>
<value>bin/build_automation hst_core.HstCore --build-type=trunk --bamboo-buildKey=${bamboo.buildKey} --bamboo-buildNumber=${bamboo.buildNumber} --sandbox=/var/tmp --package-directory=/hst/groups/hst_core/packages d --release-directory=/hst/dev/applications</value>
</item>
<item>
<key>label</key>
<value>Python 2.5</value>
</item>
<item>
<key>workingSubDirectory</key>
<value/>
</item>
<item>
<key>environmentVariables</key>
<value/>
</item>
</config>
</taskDefinition>
</buildTasks>
<selectedBuildStrategy>manualOnly</selectedBuildStrategy>
</configuration>
'.
org.apache.commons.configuration.ConfigurationException: An invalid XML character (Unicode: 0x13) was found in the element content of the document.
at org.apache.commons.configuration.XMLConfiguration.load(XMLConfiguration.java:636)
at org.apache.commons.configuration.XMLConfiguration.load(XMLConfiguration.java:609)
at com.atlassian.bamboo.utils.ConfigUtils.getXmlConfigFromXmlString(ConfigUtils.java:222)
at com.atlassian.bamboo.ww2.actions.build.admin.create.BuildConfiguration.<init>(BuildConfiguration.java:39)
at com.atlassian.bamboo.build.DefaultBuildDefinitionManager.getBuildDefinition(DefaultBuildDefinitionManager.java:71)
at sun.reflect.GeneratedMethodAccessor187.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy48.getBuildDefinition(Unknown Source)
at com.atlassian.bamboo.build.CachedBuildDefinitionManagerImpl$1.apply(CachedBuildDefinitionManagerImpl.java:44)
at com.atlassian.bamboo.build.CachedBuildDefinitionManagerImpl$1.apply(CachedBuildDefinitionManagerImpl.java:38)
at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:155)
at com.google.common.collect.ComputingConcurrentHashMap$ComputingSegment.compute(ComputingConcurrentHashMap.java:116)
at com.google.common.collect.ComputingConcurrentHashMap.apply(ComputingConcurrentHashMap.java:67)
at com.google.common.collect.MapMaker$ComputingMapAdapter.get(MapMaker.java:623)
at com.atlassian.bamboo.build.CachedBuildDefinitionManagerImpl.getBuildDefinition(CachedBuildDefinitionManagerImpl.java:59)
at com.atlassian.bamboo.plan.AbstractPlan.getBuildDefinition(AbstractPlan.java:277)
at com.atlassian.bamboo.container.BambooContainer.reportTaskAndRepositoryProblems(BambooContainer.java:416)
at com.atlassian.bamboo.container.BambooContainer.reportBuildConfigurationProblems(BambooContainer.java:385)
at com.atlassian.bamboo.container.BambooContainer.start(BambooContainer.java:248)
at com.atlassian.bamboo.upgrade.UpgradeLauncher.upgradeAndStartBamboo(UpgradeLauncher.java:150)
at com.atlassian.bamboo.upgrade.UpgradeLauncher.contextInitialized(UpgradeLauncher.java:39)
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:633)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:228)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1160)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:576)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:93)
at org.eclipse.jetty.server.Server.doStart(Server.java:243)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
at com.atlassian.bamboo.server.Server.main(Server.java:75)
Caused by: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x13) was found in the element content of the document.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at org.apache.commons.configuration.XMLConfiguration.load(XMLConfiguration.java:628)
... 37 more
2012-02-28 09:56:20,555 FATAL [main] [BambooContainer] Cannot start bamboo
Cause
This can be a result of an automated process or a Copy/Paste of the content.
Resolution
Stop your Bamboo server.
Make sure that you have a backup of your Bamboo server before running any SQL query.
Find the exact row ID that Bamboo fails on from XML_DEFINITION_DATA column of build_definition table.
By using an XML validator check the XML content that has been saved in Bamboo (XML_DEFINITION_DATA column of build_definition table) that causes the problem.
There should be an invalid (invisible) character; please delete that character and use theme XML to update the Bamboo database:
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
update build_definition set XML_DEFINITION_DATA='<?xml version="1.0" encoding="UTF-8" standalone="no"?> <configuration> <inheritRepository>true</inheritRepository> <cleanWorkingDirectory>false</cleanWorkingDirectory> <repositoryDefiningWorkingDirectory>-1</repositoryDefiningWorkingDirectory> <buildTasks> <taskDefinition> <id>1</id> <userDescription>Checkout Default Repository</userDescription> <pluginKey>com.atlassian.bamboo.plugins.vcs:task.vcs.checkout</pluginKey> <finalising>false</finalising> <rootDirectoryType>INHERITED</rootDirectoryType> <repositoryDefiningWorkingDir>-1</repositoryDefiningWorkingDir> <config> <item> <key>selectedRepository_0</key> <value>defaultRepository</value> </item> <item> <key>checkoutDir_0</key> <value/> </item> </config> </taskDefinition> <taskDefinition> <id>2</id> <userDescription/> <pluginKey>com.atlassian.bamboo.plugins.scripttask:task.builder.command</pluginKey> <finalising>false</finalising> <rootDirectoryType>INHERITED</rootDirectoryType> <repositoryDefiningWorkingDir>-1</repositoryDefiningWorkingDir> <config> <item> <key>argument</key> <value>bin/build_automation hst_core.HstCore --build-type=trunk --bamboo-buildKey=${bamboo.buildKey} --bamboo-buildNumber=${bamboo.buildNumber} --sandbox=/var/tmp --package-directory=/hst/groups/hst_core/packages d --release-directory=/hst/dev/applications</value> </item> <item> <key>label</key> <value>Python 2.5</value> </item> <item> <key>workingSubDirectory</key> <value/> </item> <item> <key>environmentVariables</key> <value/> </item> </config> </taskDefinition> </buildTasks> <selectedBuildStrategy>manualOnly</selectedBuildStrategy> </configuration>' where build_definition_id=50921482;
The XML should be the same one that was causing the problem, but cleaned from invalid characters, and the build_definition_id (50921482) is the ID from step 3.
Start your Bamboo server, and ti should work.
In addition, there is this improvement request (BAM-11037) created to make sure that every XML content is being validated before being saved in Bamboo database.
Was this helpful?