Bamboo (agent or server) fails to start with "not enough permissions" error
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
When starting a Bamboo agent or server, it just keeps looping and JVM keeps retrying. Following error appears in the agent logs:
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
INFO | jvm 1 | 2013/04/08 11:14:48 | 2013-04-08 11:14:48,525 FATAL [Thread-2] [AgentBootstrap] Exiting due to fatal exception.
INFO | jvm 1 | 2013/04/08 11:14:48 | java.lang.reflect.InvocationTargetException
INFO | jvm 1 | 2013/04/08 11:14:48 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO | jvm 1 | 2013/04/08 11:14:48 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
INFO | jvm 1 | 2013/04/08 11:14:48 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
INFO | jvm 1 | 2013/04/08 11:14:48 | at java.lang.reflect.Method.invoke(Method.java:597)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.bamboo.agent.bootstrap.AgentRunner.run(AgentRunner.java:28)
INFO | jvm 1 | 2013/04/08 11:14:48 | at java.lang.Thread.run(Thread.java:680)
INFO | jvm 1 | 2013/04/08 11:14:48 | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'agentRegistrationBean' defined in class path resource [applicationContextRemoteAgentStartup.xml]: Invocation of init method failed; nested exception is com.atlassian.util.concurrent.LazyReference$InitializationException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.atlassian.bamboo.plugin.dotnet.nant.NantCapabilityDefaultsHelper': Instantiation of bean failed; nested exception is java.lang.InternalError: Can't connect to window server - not enough permissions.
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1170)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:122)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:88)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.bamboo.v2.build.agent.remote.RemoteAgent.initApplicationContext(RemoteAgent.java:176)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.bamboo.v2.build.agent.remote.RemoteAgent.start(RemoteAgent.java:53)
INFO | jvm 1 | 2013/04/08 11:14:48 | ... 6 more
INFO | jvm 1 | 2013/04/08 11:14:48 | Caused by: com.atlassian.util.concurrent.LazyReference$InitializationException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.atlassian.bamboo.plugin.dotnet.nant.NantCapabilityDefaultsHelper': Instantiation of bean failed; nested exception is java.lang.InternalError: Can't connect to window server - not enough permissions.
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:152)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:115)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.util.concurrent.ResettableLazyReference.get(ResettableLazyReference.java:89)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.bamboo.plugin.descriptor.TaskModuleDescriptorImpl.getCapabilityDefaultsHelper(TaskModuleDescriptorImpl.java:162)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.bamboo.v2.build.agent.capability.CapabilityDefaultsHelperImpl.getCapabilityDefaultsHelpers(CapabilityDefaultsHelperImpl.java:78)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.bamboo.v2.build.agent.capability.CapabilityDefaultsHelperImpl.addDefaultCapabilities(CapabilityDefaultsHelperImpl.java:39)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.bamboo.v2.build.agent.remote.AgentRegistrationBean.registerAgent(AgentRegistrationBean.java:36)
INFO | jvm 1 | 2013/04/08 11:14:48 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO | jvm 1 | 2013/04/08 11:14:48 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
INFO | jvm 1 | 2013/04/08 11:14:48 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
INFO | jvm 1 | 2013/04/08 11:14:48 | at java.lang.reflect.Method.invoke(Method.java:597)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1237)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1167)
INFO | jvm 1 | 2013/04/08 11:14:48 | ... 17 more
INFO | jvm 1 | 2013/04/08 11:14:48 | Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.atlassian.bamboo.plugin.dotnet.nant.NantCapabilityDefaultsHelper': Instantiation of bean failed; nested exception is java.lang.InternalError: Can't connect to window server - not enough permissions.
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:451)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:246)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.spring.container.SpringContainerContext.createCompleteComponent(SpringContainerContext.java:90)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.bamboo.plugin.descriptor.AbstractBambooModuleDescriptor.instantiateClass(AbstractBambooModuleDescriptor.java:108)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.bamboo.plugin.descriptor.TaskModuleDescriptorImpl$2.create(TaskModuleDescriptorImpl.java:75)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.bamboo.plugin.descriptor.TaskModuleDescriptorImpl$2.create(TaskModuleDescriptorImpl.java:68)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.util.concurrent.ResettableLazyReference$InternalReference.create(ResettableLazyReference.java:143)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:326)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:146)
INFO | jvm 1 | 2013/04/08 11:14:48 | ... 30 more
INFO | jvm 1 | 2013/04/08 11:14:48 | Caused by: java.lang.InternalError: Can't connect to window server - not enough permissions.
INFO | jvm 1 | 2013/04/08 11:14:48 | at java.lang.ClassLoader$NativeLibrary.load(Native Method)
INFO | jvm 1 | 2013/04/08 11:14:48 | at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1827)
INFO | jvm 1 | 2013/04/08 11:14:48 | at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1724)
INFO | jvm 1 | 2013/04/08 11:14:48 | at java.lang.Runtime.loadLibrary0(Runtime.java:823)
INFO | jvm 1 | 2013/04/08 11:14:48 | at java.lang.System.loadLibrary(System.java:1045)
INFO | jvm 1 | 2013/04/08 11:14:48 | at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
INFO | jvm 1 | 2013/04/08 11:14:48 | at java.security.AccessController.doPrivileged(Native Method)
INFO | jvm 1 | 2013/04/08 11:14:48 | at sun.awt.NativeLibLoader.loadLibraries(NativeLibLoader.java:38)
INFO | jvm 1 | 2013/04/08 11:14:48 | at sun.awt.DebugHelper.<clinit>(DebugHelper.java:29)
INFO | jvm 1 | 2013/04/08 11:14:48 | at java.awt.Component.<clinit>(Component.java:566)
INFO | jvm 1 | 2013/04/08 11:14:48 | at java.lang.Class.forName0(Native Method)
INFO | jvm 1 | 2013/04/08 11:14:48 | at java.lang.Class.forName(Class.java:171)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.sun.jna.Platform.<clinit>(Platform.java:64)
INFO | jvm 1 | 2013/04/08 11:14:48 | at com.atlassian.bamboo.plugin.dotnet.nant.NantCapabilityDefaultsHelper.<clinit>(NantCapabilityDefaultsHelper.java:20)
INFO | jvm 1 | 2013/04/08 11:14:48 | at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
INFO | jvm 1 | 2013/04/08 11:14:48 | at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
INFO | jvm 1 | 2013/04/08 11:14:48 | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
INFO | jvm 1 | 2013/04/08 11:14:48 | at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:752)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:717)
INFO | jvm 1 | 2013/04/08 11:14:48 | at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:386)
INFO | jvm 1 | 2013/04/08 11:14:48 | ... 38 more
ERROR | wrapper | 2013/04/08 11:14:48 | JVM exited unexpectedly.
....
Resolution for Bamboo agent
1. Edit the wrapper.conf on the agent located in <bamboo-agent-home>/conf and add -Djava.awt.headless=true parameter. It will look like: "wrapper.java.additional.3=-Djava.awt.headless=true".
1
2
3
4
# The Bamboo Agent home configuration file
wrapper.java.additional.1=-Dbamboo.home=/Users/bamboo/bamboo-agent-home
wrapper.java.additional.2=-Dbamboo.agent.ignoreServerCertName=false
wrapper.java.additional.3=-Djava.awt.headless=true
Resolution for Bamboo server
1. Shut down Bamboo
2. Edit the wrapper.conf located in <bamboo-installation-directory>/conf and add the -Djava.awt.headless=true parameter if it does not already exist. It will look like "wrapper.java.additional.3=-Djava.awt.headless=true":
1
2
3
wrapper.java.additional.2=-XX:MaxPermSize=256m
wrapper.java.additional.3=-Djava.awt.headless=true
wrapper.java.additional.4=-Djava.io.tmpdir=%WINDIR%/Temp
3. Start Bamboo
Was this helpful?