Files
School/Anul 3/Semestrul 1/Proiect Colectiv/StoryPointEstimator/data/bamboo.csv
T
2025-02-06 20:33:26 +02:00

486 KiB

1issuekeytitledescriptionstorypoint
2BAM-65Allows CVS repo to timeout and report on locking issuesSometimes, when you perform a CVS action you get something like {noformat} cvs update: [01:38:32] waiting for mchai's lock in /cvsroot/atlassian/maven2test/bamboo {noformat} so Bamboo would probably just hang and become not so happy. We should allow Bamboo to timeout, or conditionally stop and tell the user how to dix the problem3
3BAM-932allow a build to be placed at the head of the build queue... (or edit the queue order)NULL2
4BAM-3476Result not saved when checkout failsHappened yesterday on our hosted bamboo: https://gdansk.bamboo2.atlassian.com/browse/INT-TST Bamboo was upgraded from 2.0.5 to 2.15 I had build log messages like: {noformat} 29-Jan-2009 03:12:23 Build INT-TST-1067 started building on agent Default Agent 29-Jan-2009 03:12:23 Updating source code to revision: 26986 29-Jan-2009 03:12:23 Source found at '/opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST'. Updating source... 29-Jan-2009 03:12:24 /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST/src/test/java/com/atlassian/theplugin/idea 29-Jan-2009 03:12:24 /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST/src/test/java/com/atlassian/theplugin 29-Jan-2009 03:12:24 /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST/src/test/java/com/atlassian 29-Jan-2009 03:12:24 /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST/src/test/java/com 29-Jan-2009 03:12:24 /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST/src/test/java 29-Jan-2009 03:12:24 /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST/src/test 29-Jan-2009 03:12:24 /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST/src/main/java/com/atlassian/theplugin/idea/jira 29-Jan-2009 03:12:24 /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST/src/main/java/com/atlassian/theplugin/idea/crucible/tree 29-Jan-2009 03:12:24 U /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST/src/main/java/com/atlassian/theplugin/idea/crucible/editor/OpenDiffToolAction.java 29-Jan-2009 03:12:24 U /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST/src/main/java/com/atlassian/theplugin/idea/crucible/editor/CrucibleEditorFactoryListener.java 29-Jan-2009 03:12:25 Error occurred while executing the build for INT-TST-1067 : Unable to retrieve source code to '26986' for 'INT-TST' 29-Jan-2009 03:15:23 Change detection found 11 changes 29-Jan-2009 03:15:23 Build INT-TST-1068 started building on agent Default Agent {noformat} {noformat} 29-Jan-2009 03:30:13 Build INT-TST2-1 started building on agent Default Agent 29-Jan-2009 03:30:13 Updating source code to latest 29-Jan-2009 03:30:13 Working directory '/opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2' is empty. Checking out SVN URL 'https://studio.atlassian.com/svn/PL/trunk/atlassian-intellij-connector' 29-Jan-2009 03:30:15 U /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/LICENSE 29-Jan-2009 03:30:15 U /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/atlassian-idea-plugin.ipr 29-Jan-2009 03:30:15 A /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/doc 29-Jan-2009 03:30:16 Error occurred while executing the build for INT-TST2-1 : Failed to checkout source code to revision 'HEAD' for https://studio.atlassian.com/svn/PL/trunk/atlassian-intellij-connector 29-Jan-2009 03:34:06 Manual build triggered by wseliga 29-Jan-2009 03:34:06 Build INT-TST2-2 started building on agent Default Agent 29-Jan-2009 03:34:06 Updating source code to latest 29-Jan-2009 03:34:06 Source found at '/opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2'. Updating source... 29-Jan-2009 03:34:09 D /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/doc 29-Jan-2009 03:34:09 A /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/src 29-Jan-2009 03:34:09 A /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/src/test 29-Jan-2009 03:34:09 A /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/src/test/java 29-Jan-2009 03:34:09 A /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/src/test/java/docs 29-Jan-2009 03:34:09 A /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/src/test/java/com 29-Jan-2009 03:34:09 A /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/src/test/java/com/atlassian 29-Jan-2009 03:34:09 A /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/src/test/java/com/atlassian/theplugin 29-Jan-2009 03:34:09 A /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/src/test/java/com/atlassian/theplugin/bamboo 29-Jan-2009 03:34:09 A /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/src/test/java/com/atlassian/theplugin/bamboo/api 29-Jan-2009 03:34:09 A /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/src/test/java/com/atlassian/theplugin/idea 29-Jan-2009 03:34:09 U /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/src/test/java/com/atlassian/theplugin/idea/GenericServerConfigurationFormTest.java 29-Jan-2009 03:34:09 A /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-TST2/src/test/java/com/atlassian/theplugin/idea/bamboo 29-Jan-2009 03:34:10 Error occurred while executing the build for INT-TST2-2 : Unable to retrieve source code to 'null' for 'INT-TST2 {noformat} or {noformat} U /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-CS/src/main/java/com/atlassian/theplugin/idea/crucible/CrucibleRevisionsNumber.java 29-Jan-2009 03:37:10 U /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-CS/src/main/java/com/atlassian/theplugin/idea/crucible/tree/ReviewItemTreePanel.java 29-Jan-2009 03:37:10 /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-CS/src/main/java/com/atlassian/theplugin/idea/crucible/tree 29-Jan-2009 03:37:10 U /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-CS/src/main/java/com/atlassian/theplugin/idea/crucible/CrucibleCreatePostCommitReviewForm.java 29-Jan-2009 03:37:10 D /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-CS/src/main/java/com/atlassian/theplugin/idea/crucible/editor/EditorDiffActionImpl.java 29-Jan-2009 03:37:10 D /opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-CS/src/main/java/com/atlassian/theplugin/idea/crucible/editor/EditorUpdateDiffActionImpl.java 29-Jan-2009 03:37:11 Error occurred while executing the build for INT-CS-1177 : Unable to retrieve source code to '26987' for 'INT-CS' 29-Jan-2009 03:38:20 Purging the checked out code from "/opt/j2ee/domains/bamboo2.atlassian.com/gdansk/webapps/data/bamboo-2.0.2-attempt/xml-data/build-dir/INT-CS" 29-Jan-2009 03:38:30 Manual build triggered by wseliga 29-Jan-2009 03:38:30 Build INT-CS-1178 started building on agent Default Agent 29-Jan-2009 03:38:30 Updating source code to revision: 26987 {noformat} However executing svn co from command line on exactly the same host where Bamboo was installed (with the same credentials even) worked fine. There were two problems: * Bamboo did bump up build number and this build failed, but nowhere it was really shown. I.e. on dashboard (and via remote API) I still got last build as successful. And although my build number (in above logs) was now greater than 1000, Bamboo claimed on dashboard and via API that the last build is e.g. 500 (which happened to be the last one before these problems started) * Cleaning working dir or full checkout did not help * I solved this problem by full clean and using anonymous SVN access or my private account. Only then Bamboo finally showed new build on dashboard (with number > 1000) and its real status. I suspect the problem may be also somehow connected to our SVN server which could have applied some security policies to avoid DOS attacks from Bamboo (Bamboo every 3 minutes - above 500 hundred times) was trying to checkout from svn the sources without success. 2
5BAM-3612Talkback from elastic agent to bamboo server to include EBS volume mount resultsWhen an elastic instance/agent is configured to mount a ebs volume containing a snapshot during startup the progress/success/fail should be fed back to bamboo server for display. the log in /tmp/setupEbsSnapshot.log could be used to process progress and results.2
6BAM-3616Users can see the maven module (groupid, artifactid, version) against each plan.* Should respect the sub-working directory. Only look for poms under the sub-working directory * Only read top level pom for modules * Pom is read only when building. * This is only read only * Each plan may have multiple artifacts5
7BAM-3620PostBuildProcessor plugin to kick off the Maven pom.xml parsingConsider running on remote agents. Can functional test the PostBuilderProcessor plugin behavior. 2
8BAM-3621Get Bamboo functional tests passing in the cloudNULL5
9BAM-3626Allow gadget server plugin to be incorporated into Bamboo.Does not include OAuth, nor SAL Read this for more details: http://extranet.atlassian.com/display/BAMBOO/Plugins+2+Estimate 5
10BAM-3631Implement SAL part 1The goal was Goal to get 100% compatible with the SAL compatibility kit however we are only tackling a subset of SAL implementation. We should figure how much of the compatibility kit we are targeting. NOTE - I changed this from 8 storypoints to 5 given that we are not tackling all of SAL. 5
11BAM-3633Implement SAL part 2This is the remaining work for SAL. See BAM-3631 for part 1.8
12BAM-3634Alert users of builds which can not be built by any agentsBamboo should alert the user if a Plan can not be built for a period of time. This should be set by default and overridden or removed by the user if necessary. This will avoid the following: !http://img.skitch.com/20090310-fk3547se8py75u3pr1g2g4mfux.jpg!1
13BAM-3676Reliably Reproduce "BAM-3244 Fix hanging agents"NULL8
14BAM-3679Patch ActiveMQ to fix the code problem to fix hanging agent problemrelies on BAM-3676. this is the minimal patch that we could ship to customers. this does NOT imply creating a activeMQ branch that Atlassian maintain, etc, etc.3
15BAM-3681Reproduce BAM-3643 - Extreme CPU spike on BEACWe have little idea what this could be and have not had much success repro'ing it.12
16BAM-3683BAM-3495 Fixing borked statusNULL8
17BAM-3685Support bundled plugins in BambooNULL5
18BAM-3693Add the ability to sleep before collecting artifacts to a bamboo agentWhen the build ends, bamboo sweeps up the artifacts. I'd like a system property on the agent which could introducce a small sleep. This would be to allow the build to settle down and save all its artifacts before the agent comes along to collect them.2
19BAM-3695Bamboo Specfic Functional Tests for SAL IntefacesAll the CTK testing plugin does is generic testing that the interfaces return something. We need to write some Bamboo specific tests which ensure Bamboo is actually doing the right thing underneath those SAL calls. 3
20BAM-3718Implement SAL Interfaces Part 3Implement the interfaces which didn't make it into the last milestone. See this page for details on which items missed out http://extranet.atlassian.com/display/BAMBOO/Bamboo+SAL+Compatability+-+Work+In+Progress5
21BAM-3724Spike - Deploy gadget server into Bamboo with a Hello world gadget to prove itEstimates to include infrastructure Assuming plugins 2 is done depends on implement SAL pt 2 No Authentication mechanism yet See where this can be consumed. Not sure if Ref App can consume. Timebox this spike to 1 person iteration 12
22BAM-3728BAM-3674 (Regression) - Incorrect display of faiing since testInvestigation required Keep Sam Berlin Happy To be done on stable branch for 2.2.2 5
23BAM-3731BAM-3717 (Regression) - :: in test names throws errorNeed to escape properly To be done on stable branch for 2.2.2 2
24BAM-3733Implement Bundled Plugins Part 2Delivery mechanism for the Gadget server. Try plugin that is known to work (SAL) 1
25BAM-3735REST Module type plugin pointDrop in the plugin 2
26BAM-3737REST endpoint for build status gadgetRequires mockups done 3
27BAM-3740Gadget - User can authenticate through a gadgetThis means manual username/password must be inputted. Should use basic auth Not OAuth (will be obselete with OAuth) 3
28BAM-3742Gadget - User can see the status of favourite plans interactions are links back to the server only Edwin to get UI teams to give some mock ups 5
29BAM-3745Gadget - User can see the status of the recent 5 builds of favourite plans in the existing status gadgetJust the display. REST should provide info Need mockup for this - story assume that mockup is there already 3
30BAM-3748Gadget - User can select which plans they want to watchSelection based on read permissions of the authenticated user Can pick between individual plans or their favourite plans Whilst selecting, the favourited should still be indicated (up top) Storage of configuraiton on the gadge consumer 5
31BAM-3766Upgrade default AMI OS to newer version of Fedora Linux - see reduced scope of this issueFor the current default AMI (ami-3c3dda55 in case of 2.2.1) there are many updates pending and it isn't wise to do it on each instance startup - see: {noformat} [root@domU-12-31-39-03-75-B2 bamboo-ebs]# yum update Loading "fastestmirror" plugin Loading mirror speeds from cached hostfile * fedora: archive.fedoraproject.org * updates: archive.fedoraproject.org Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package fedora-release.noarch 0:8-6.transition set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Updating: fedora-release noarch 8-6.transition updates 31 k Transaction Summary ============================================================================= Install 0 Package(s) Update 1 Package(s) Remove 0 Package(s) Total download size: 31 k Is this ok [y/N]: y Downloading Packages: (1/1): fedora-release-8-6 100% |=========================| 31 kB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Updating : fedora-release ######################### [1/2] Cleanup : fedora-release ######################### [2/2] Updated: fedora-release.noarch 0:8-6.transition Complete! [root@domU-12-31-39-03-75-B2 bamboo-ebs]# yum update Loading "fastestmirror" plugin Loading mirror speeds from cached hostfile * updates-newkey: archive.fedoraproject.org * fedora: archive.fedoraproject.org * updates: archive.fedoraproject.org updates-newkey 100% |=========================| 2.3 kB 00:00 primary.sqlite.bz2 100% |=========================| 3.7 MB 00:07 Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package ntp.i386 0:4.2.4p4-1.fc8 set to be updated ---> Package vim-enhanced.i386 2:7.1.245-1.fc8 set to be updated ---> Package openldap.i386 0:2.3.39-4.fc8 set to be updated ---> Package fuse-devel.i386 0:2.7.4-1.fc8 set to be updated ---> Package bind-utils.i386 32:9.5.0-29.P2.fc8 set to be updated ---> Package python-libs.i386 0:2.5.1-26.fc8.2 set to be updated ---> Package pcre.i386 0:7.3-4.fc8 set to be updated ---> Package yum.noarch 0:3.2.20-5.fc8 set to be updated --> Processing Dependency: pygpgme for package: yum ---> Package ruby.i386 0:1.8.6.287-2.fc8 set to be updated ---> Package logwatch.noarch 0:7.3.6-22.fc8 set to be updated ---> Package kernel-xen.i686 0:2.6.21.7-5.fc8 set to be installed ---> Package util-linux-ng.i386 0:2.13.1-2.fc8 set to be updated ---> Package vim-minimal.i386 2:7.1.245-1.fc8 set to be updated ---> Package vixie-cron.i386 4:4.2-9.fc8 set to be updated ---> Package alsa-lib.i386 0:1.0.16-3.fc8 set to be updated ---> Package iptables.i386 0:1.4.1.1-2.fc8 set to be updated ---> Package libxml2.i386 0:2.7.2-2.fc8 set to be updated ---> Package libpng.i386 2:1.2.33-1.fc8 set to be updated ---> Package nss.i386 0:3.12.2.0-1.1.fc8 set to be updated ---> Package paps-libs.i386 0:0.6.8-8.fc8 set to be updated ---> Package libacl.i386 0:2.2.39-14.fc8 set to be updated ---> Package openobex.i386 0:1.3-12.fc8 set to be updated ---> Package libnfnetlink.i386 0:0.0.39-3.fc8 set to be updated ---> Package acl.i386 0:2.2.39-14.fc8 set to be updated ---> Package microcode_ctl.i386 1:1.17-1.39.fc8 set to be updated ---> Package hal-libs.i386 0:0.5.10-5.fc8 set to be updated ---> Package pygobject2.i386 0:2.14.2-1.fc8 set to be updated ---> Package rsync.i386 0:2.6.9-5.fc8 set to be updated ---> Package ruby-irb.i386 0:1.8.6.287-2.fc8 set to be updated ---> Package bluez-libs.i386 0:3.35-1.fc8 set to be updated ---> Package bind-libs.i386 32:9.5.0-29.P2.fc8 set to be updated ---> Package system-config-network-tui.noarch 0:1.5.10-1.fc8 set to be updated ---> Package beecrypt.i386 0:4.1.2-17.fc8 set to be updated ---> Package gtk2.i386 0:2.12.8-2.fc8 set to be updated ---> Package fuse-libs.i386 0:2.7.4-1.fc8 set to be updated ---> Package libedit.i386 0:2.11-1.20080712cvs.fc8 set to be updated ---> Package ed.i386 0:1.1-1.fc8 set to be updated ---> Package NetworkManager-glib.i386 1:0.7.0-0.12.svn4326.fc8 set to be updated --> Processing Dependency: NetworkManager = 1:0.7.0-0.12.svn4326.fc8 for package: NetworkManager-glib ---> Package db4.i386 0:4.6.21-3.fc8 set to be updated ---> Package dhcpv6-client.i386 0:0.10-52.fc8 set to be updated ---> Package freetype.i386 0:2.3.5-5.fc8 set to be updated ---> Package python-urlgrabber.noarch 0:3.0.0-9.fc8 set to be updated ---> Package coreutils.i386 0:6.9-19.fc8 set to be updated ---> Package e2fsprogs.i386 0:1.40.4-3.fc8 set to be updated ---> Package psmisc.i386 0:22.6-2.1.fc8 set to be updated ---> Package libsysfs.i386 0:2.1.0-4.fc8 set to be updated ---> Package audit-libs.i386 0:1.7.4-1.fc8 set to be updated ---> Package libglade2.i386 0:2.6.2-4.fc8 set to be updated ---> Package quota.i386 1:3.14-2.fc8 set to be updated ---> Package cups-libs.i386 1:1.3.9-2.fc8 set to be updated ---> Package perl-libs.i386 4:5.8.8-41.fc8 set to be updated ---> Package fedora-gnome-theme.noarch 0:8.0.0-2.fc8 set to be updated ---> Package libdhcp6client.i386 0:0.10-52.fc8 set to be updated ---> Package iptables-ipv6.i386 0:1.4.1.1-2.fc8 set to be updated ---> Package libtiff.i386 0:3.8.2-11.fc8 set to be updated ---> Package autofs.i386 1:5.0.2-31 set to be updated ---> Package ypbind.i386 3:1.20.4-4.fc8 set to be updated ---> Package anacron.i386 0:2.3-58.fc8 set to be updated ---> Package control-center-filesystem.i386 1:2.20.3-3.fc8 set to be updated ---> Package nfs-utils.i386 1:1.1.1-2.fc8 set to be updated ---> Package smartmontools.i386 1:5.38-1.fc8 set to be updated ---> Package wget.i386 0:1.11.1-1.fc8 set to be updated ---> Package pm-utils.i386 0:0.99.4-19.fc8 set to be updated ---> Package sudo.i386 0:1.6.9p4-6.fc8 set to be updated ---> Package popt.i386 0:1.13-4.fc8 set to be updated ---> Package shadow-utils.i386 2:4.0.18.1-22.fc8 set to be updated ---> Package dbus-glib.i386 0:0.73-8.fc8 set to be updated ---> Package traceroute.i386 3:2.0.12-1.fc8 set to be updated ---> Package kernel-headers.i386 0:2.6.26.8-57.fc8 set to be updated ---> Package ruby-rdoc.i386 0:1.8.6.287-2.fc8 set to be updated ---> Package info.i386 0:4.11-5.fc8 set to be updated ---> Package pam_krb5.i386 0:2.2.18-2.fc8 set to be updated ---> Package bluez-utils.i386 0:3.35-5.fc8 set to be updated ---> Package curl.i386 0:7.18.2-7.fc8 set to be updated --> Processing Dependency: libssh2.so.1 for package: curl ---> Package gnupg.i386 0:1.4.7-10.fc8 set to be updated ---> Package hal.i386 0:0.5.10-5.fc8 set to be updated ---> Package file-libs.i386 0:4.21-6.fc8 set to be updated ---> Package bzip2-libs.i386 0:1.0.4-13.fc8 set to be updated ---> Package rubygems.noarch 0:1.2.0-2.fc8 set to be updated ---> Package perl.i386 4:5.8.8-41.fc8 set to be updated ---> Package PolicyKit.i386 0:0.6-2.fc8 set to be updated ---> Package aspell.i386 12:0.60.5-4.fc8 set to be updated ---> Package e2fsprogs-libs.i386 0:1.40.4-3.fc8 set to be updated ---> Package ruby-libs.i386 0:1.8.6.287-2.fc8 set to be updated ---> Package shared-mime-info.i386 0:0.23-2.fc8 set to be updated ---> Package yum-fastestmirror.noarch 0:1.1.17-1.fc8 set to be updated ---> Package ntfs-3g.i386 2:1.5012-4.fc8 set to be updated ---> Package iproute.i386 0:2.6.26-2.fc8 set to be updated ---> Package stunnel.i386 0:4.24-0.fc8 set to be updated ---> Package fuse.i386 0:2.7.4-1.fc8 set to be updated ---> Package elfutils-libelf.i386 0:0.137-3.fc8 set to be updated ---> Package libxcb.i386 0:1.1-1.1.fc8 set to be updated ---> Package wpa_supplicant.i386 1:0.5.10-5.fc8 set to be updated ---> Package libxslt.i386 0:1.1.24-2.fc8 set to be updated ---> Package libgnomecanvas.i386 0:2.20.1-3.fc8 set to be updated ---> Package tzdata.noarch 0:2008i-1.fc8 set to be updated ---> Package fuse-sshfs.i386 0:2.2-1.fc8 set to be updated ---> Package gnutls.i386 0:1.6.3-5.fc8 set to be updated ---> Package pciutils.i386 0:2.2.9-2.fc8 set to be updated ---> Package glib2.i386 0:2.14.6-2.fc8 set to be updated ---> Package nss-tools.i386 0:3.12.2.0-1.1.fc8 set to be updated ---> Package mlocate.i386 0:0.21-1.fc8 set to be updated ---> Package bzip2.i386 0:1.0.4-13.fc8 set to be updated ---> Package fuse-encfs.i386 0:1.5-3.fc8 set to be updated --> Processing Dependency: libboost_serialization-mt.so.3 for package: fuse-encfs --> Processing Dependency: libboost_filesystem-mt.so.3 for package: fuse-encfs ---> Package hal-info.noarch 0:20080607-2.fc8 set to be updated ---> Package cups.i386 1:1.3.9-2.fc8 set to be updated ---> Package eject.i386 0:2.1.5-8.fc8 set to be updated ---> Package make.i386 1:3.81-11.fc8 set to be updated ---> Package nspr.i386 0:4.7.3-1.fc8 set to be updated ---> Package vim-common.i386 2:7.1.245-1.fc8 set to be updated ---> Package file.i386 0:4.21-6.fc8 set to be updated ---> Package paps.i386 0:0.6.8-8.fc8 set to be updated ---> Package python.i386 0:2.5.1-26.fc8.2 set to be updated --> Running transaction check ---> Package libssh2.i386 0:0.18-5.fc8 set to be updated ---> Package NetworkManager.i386 1:0.7.0-0.12.svn4326.fc8 set to be updated --> Processing Dependency: ppp >= 2.2.4 for package: NetworkManager --> Processing Dependency: dnsmasq for package: NetworkManager --> Processing Dependency: avahi-autoipd for package: NetworkManager ---> Package pygpgme.i386 0:0.1-6.fc8 set to be updated --> Processing Dependency: libgpgme.so.11(GPGME_1.0) for package: pygpgme --> Processing Dependency: libgpgme.so.11 for package: pygpgme ---> Package boost.i386 0:1.34.1-7.fc8 set to be updated --> Processing Dependency: libicuuc.so.38 for package: boost --> Processing Dependency: libicui18n.so.38 for package: boost --> Running transaction check ---> Package gpgme.i386 0:1.1.5-4.fc8 set to be updated --> Processing Dependency: gnupg2 for package: gpgme --> Processing Dependency: libpth.so.20 for package: gpgme ---> Package avahi-autoipd.i386 0:0.6.21-8.fc8 set to be updated ---> Package libicu.i386 0:3.8-6.fc8 set to be updated ---> Package ppp.i386 0:2.4.4-2 set to be updated ---> Package dnsmasq.i386 0:2.40-1.fc8 set to be updated --> Running transaction check ---> Package gnupg2.i386 0:2.0.9-2.fc8 set to be updated --> Processing Dependency: libksba.so.8(KSBA_0.9) for package: gnupg2 --> Processing Dependency: dirmngr for package: gnupg2 --> Processing Dependency: libksba.so.8 for package: gnupg2 --> Processing Dependency: pinentry for package: gnupg2 ---> Package pth.i386 0:2.0.7-3 set to be updated --> Running transaction check ---> Package dirmngr.i386 0:1.0.0-6.fc8 set to be updated ---> Package libksba.i386 0:1.0.2-3.fc8 set to be updated ---> Package pinentry.i386 0:0.7.4-1.fc8 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: NetworkManager-glib i386 1:0.7.0-0.12.svn4326.fc8 updates-newkey 167 k replacing NetworkManager.i386 1:0.7.0-0.6.7.svn3235.fc8 kernel-xen i686 2.6.21.7-5.fc8 updates-newkey 17 M Updating: PolicyKit i386 0.6-2.fc8 updates-newkey 76 k acl i386 2.2.39-14.fc8 updates-newkey 69 k alsa-lib i386 1.0.16-3.fc8 updates-newkey 402 k anacron i386 2.3-58.fc8 updates-newkey 39 k aspell i386 12:0.60.5-4.fc8 updates-newkey 969 k audit-libs i386 1.7.4-1.fc8 updates-newkey 73 k autofs i386 1:5.0.2-31 updates-newkey 865 k beecrypt i386 4.1.2-17.fc8 updates-newkey 144 k bind-libs i386 32:9.5.0-29.P2.fc8 updates-newkey 951 k bind-utils i386 32:9.5.0-29.P2.fc8 updates-newkey 187 k bluez-libs i386 3.35-1.fc8 updates-newkey 59 k bluez-utils i386 3.35-5.fc8 updates-newkey 469 k bzip2 i386 1.0.4-13.fc8 updates-newkey 49 k bzip2-libs i386 1.0.4-13.fc8 updates-newkey 37 k control-center-filesystem i386 1:2.20.3-3.fc8 updates-newkey 34 k coreutils i386 6.9-19.fc8 updates-newkey 3.3 M cups i386 1:1.3.9-2.fc8 updates-newkey 3.5 M cups-libs i386 1:1.3.9-2.fc8 updates-newkey 197 k curl i386 7.18.2-7.fc8 updates-newkey 293 k db4 i386 4.6.21-3.fc8 updates-newkey 587 k dbus-glib i386 0.73-8.fc8 updates-newkey 160 k dhcpv6-client i386 0.10-52.fc8 updates-newkey 85 k e2fsprogs i386 1.40.4-3.fc8 updates-newkey 610 k e2fsprogs-libs i386 1.40.4-3.fc8 updates-newkey 138 k ed i386 1.1-1.fc8 updates-newkey 71 k eject i386 2.1.5-8.fc8 updates-newkey 51 k elfutils-libelf i386 0.137-3.fc8 updates-newkey 58 k fedora-gnome-theme noarch 8.0.0-2.fc8 updates-newkey 10 k file i386 4.21-6.fc8 updates-newkey 29 k file-libs i386 4.21-6.fc8 updates-newkey 309 k freetype i386 2.3.5-5.fc8 updates-newkey 331 k fuse i386 2.7.4-1.fc8 updates-newkey 83 k fuse-devel i386 2.7.4-1.fc8 updates-newkey 27 k fuse-encfs i386 1.5-3.fc8 updates-newkey 373 k fuse-libs i386 2.7.4-1.fc8 updates-newkey 71 k fuse-sshfs i386 2.2-1.fc8 updates-newkey 49 k glib2 i386 2.14.6-2.fc8 updates-newkey 850 k gnupg i386 1.4.7-10.fc8 updates-newkey 1.9 M gnutls i386 1.6.3-5.fc8 updates-newkey 397 k gtk2 i386 2.12.8-2.fc8 updates-newkey 6.8 M hal i386 0.5.10-5.fc8 updates-newkey 461 k hal-info noarch 20080607-2.fc8 updates-newkey 118 k hal-libs i386 0.5.10-5.fc8 updates-newkey 61 k info i386 4.11-5.fc8 updates-newkey 166 k iproute i386 2.6.26-2.fc8 updates-newkey 843 k iptables i386 1.4.1.1-2.fc8 updates-newkey 309 k iptables-ipv6 i386 1.4.1.1-2.fc8 updates-newkey 192 k kernel-headers i386 2.6.26.8-57.fc8 updates-newkey 753 k libacl i386 2.2.39-14.fc8 updates-newkey 20 k libdhcp6client i386 0.10-52.fc8 updates-newkey 79 k libedit i386 2.11-1.20080712cvs.fc8 updates-newkey 79 k libglade2 i386 2.6.2-4.fc8 updates-newkey 64 k libgnomecanvas i386 2.20.1-3.fc8 updates-newkey 228 k libnfnetlink i386 0.0.39-3.fc8 updates-newkey 23 k libpng i386 2:1.2.33-1.fc8 updates-newkey 249 k libsysfs i386 2.1.0-4.fc8 updates-newkey 47 k libtiff i386 3.8.2-11.fc8 updates-newkey 307 k libxcb i386 1.1-1.1.fc8 updates-newkey 124 k libxml2 i386 2.7.2-2.fc8 updates-newkey 828 k libxslt i386 1.1.24-2.fc8 updates-newkey 526 k logwatch noarch 7.3.6-22.fc8 updates-newkey 319 k make i386 1:3.81-11.fc8 updates-newkey 477 k microcode_ctl i386 1:1.17-1.39.fc8 updates-newkey 437 k mlocate i386 0.21-1.fc8 updates-newkey 75 k nfs-utils i386 1:1.1.1-2.fc8 updates-newkey 281 k nspr i386 4.7.3-1.fc8 updates-newkey 119 k nss i386 3.12.2.0-1.1.fc8 updates-newkey 1.2 M nss-tools i386 3.12.2.0-1.1.fc8 updates-newkey 1.2 M ntfs-3g i386 2:1.5012-4.fc8 updates-newkey 192 k ntp i386 4.2.4p4-1.fc8 updates-newkey 1.4 M openldap i386 2.3.39-4.fc8 updates-newkey 294 k openobex i386 1.3-12.fc8 updates-newkey 37 k pam_krb5 i386 2.2.18-2.fc8 updates-newkey 128 k paps i386 0.6.8-8.fc8 updates-newkey 32 k paps-libs i386 0.6.8-8.fc8 updates-newkey 23 k pciutils i386 2.2.9-2.fc8 updates-newkey 93 k pcre i386 7.3-4.fc8 updates-newkey 137 k perl i386 4:5.8.8-41.fc8 updates-newkey 12 M perl-libs i386 4:5.8.8-41.fc8 updates-newkey 570 k pm-utils i386 0.99.4-19.fc8 updates-newkey 44 k popt i386 1.13-4.fc8 updates-newkey 39 k psmisc i386 22.6-2.1.fc8 updates-newkey 72 k pygobject2 i386 2.14.2-1.fc8 updates-newkey 104 k python i386 2.5.1-26.fc8.2 updates-newkey 4.8 M python-libs i386 2.5.1-26.fc8.2 updates-newkey 568 k python-urlgrabber noarch 3.0.0-9.fc8 updates-newkey 112 k quota i386 1:3.14-2.fc8 updates-newkey 357 k rsync i386 2.6.9-5.fc8 updates-newkey 232 k ruby i386 1.8.6.287-2.fc8 updates-newkey 525 k ruby-irb i386 1.8.6.287-2.fc8 updates-newkey 285 k ruby-libs i386 1.8.6.287-2.fc8 updates-newkey 1.7 M ruby-rdoc i386 1.8.6.287-2.fc8 updates-newkey 353 k rubygems noarch 1.2.0-2.fc8 updates-newkey 598 k shadow-utils i386 2:4.0.18.1-22.fc8 updates-newkey 1.1 M shared-mime-info i386 0.23-2.fc8 updates-newkey 166 k smartmontools i386 1:5.38-1.fc8 updates-newkey 323 k stunnel i386 4.24-0.fc8 updates-newkey 125 k sudo i386 1.6.9p4-6.fc8 updates-newkey 235 k system-config-network-tui noarch 1.5.10-1.fc8 updates-newkey 1.8 M traceroute i386 3:2.0.12-1.fc8 updates-newkey 50 k tzdata noarch 2008i-1.fc8 updates-newkey 756 k util-linux-ng i386 2.13.1-2.fc8 updates-newkey 2.0 M vim-common i386 2:7.1.245-1.fc8 updates-newkey 6.6 M vim-enhanced i386 2:7.1.245-1.fc8 updates-newkey 862 k vim-minimal i386 2:7.1.245-1.fc8 updates-newkey 346 k vixie-cron i386 4:4.2...1
32BAM-3801Gadget - User can view a chart of recent percentage of builds successfulSelect plans Grouped by time period, configurable. Can filter by time period (Last 7 days, Last 30 days, Last 90 days, Last 25 builds, Show all builds) 3
33BAM-3804Prevent a build from running if its ancestors are in queue or runningE.g. B depends on A if B is triggered whilst A building, B trigger is ignored. This will mean that further checkins against B won't run. Have to be optional. Must only block if the parent is the same revision as the child that is about to build, otherwise, the child might never build. 3
34BAM-3805User can configure dependency blockingApplicable per child plan User can configure whether dependency children are blocked from building when ancestors are running.2
35BAM-3806Check ancestors of a build when it is triggered and prevent building if changes found (in ancestors) Ancestors are kicked offE.g. B triggered, whilst A is not building. Check A, if changes found in A, build A, don't build B. What if A is a manual and dependent builds only? or a schedule build? Ignore the trigger for now. Later optimizations needed. 12
36BAM-3807Detect infinte cycles in dependent builds.Should not allow users to input cyclic dependency configurations If customers have already done cyclic dependencies, we don't do anything in the upgrade task. We show an error when we try to show the tree. 2
37BAM-3808User can see in text its ancestors and children for the build resultSee all parents See all children 5
38BAM-3809Get a gadget to authenticate end to end via OauthTakes away the need to manually input username/password 5
39BAM-3864Enable user configuraiton of OAuth in Bamboo.NULL5
40BAM-3871Gadget - chart of queued timeNULL2
41BAM-3890Notfication when a build has been in the queue for x minutesSimilar to a build hung notification but for builds in the queue3
42BAM-3905"Test failing since" doesn't properly consider builds without test resultsh3. Case A Consider a series of builds: BUILD-1 Test X passed BUILD-2 Test X failed BUILD-3 Build failure, no test results BUILD-4 Test X failed BUILD-5 Test X failed In the results of BUILD-4 and BUILD-5, Bamboo reports that test X has been failing since BUILD-4. From this, developers incorrectly infer that the test passed in BUILD-3 and the change that caused this failure was introduced in BUILD-4. In this case, it would be better to report that the test has been failing since BUILD-2. h3. Case B There's another interesting case that needs to be considered: BUILD-6 Test X passed BUILD-7 Build failure, no test results BUILD-8 Build failure, no test results BUILD-9 Test X failed Here, the failure of test X could have been introduced in BUILD-7, BUILD-8 or BUILD-9. In this case, perhaps it's best to report that Test X has been failing since BUILD-7?3
43BAM-3912Bandana import/exportNULL3
44BAM-3917Fix i18n for gadgetsNULL5
45BAM-3918Provide feedback in UI about builds being blocked (build dependencies)NULL3
46BAM-3922Tests for RESTNULL3
47BAM-3923Selenium tests (with Hamish)NULL3
48BAM-3961Bucket - Gadget issuesNULL8
49BAM-3981Dependency blocking for polling buildsNULL2
50BAM-4000Configure agent capabilities for each Elastic ConfigurationNULL5
51BAM-4003Allow "at least" and "maximum #" of agent on scheduleNULL2
52BAM-4030Make it possible (via instructions) for a customer to 'Bamboo enable' an AMIAs per Krystian's comments - http://jira.atlassian.com/browse/BAM-3766?focusedCommentId=160191&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_160191 we want to make it possible for a customer to follow instructions/install software so that an instances of an AMI can be spawned by Bamboo server and have elastic agents start up on them. This is will get us out of the endless cycle of upgrading the default AMI.5
53BAM-4037Add support for EC2 Availability ZonesSee here for what we are talking about - http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1347 Availability zone support is a pre-requisite for [Reserved Instance|http://aws.amazon.com/ec2/faqs/#What_is_a_Reserved_Instance] support. We should have a default availability zone (for the Bamboo install) and be able to specify the avail zone per Elastic Configuration.5
54BAM-4088Rename ElasticAgentSchedule to ElasticInstanceScheduleAlso rework associated UI text1
55BAM-4341Roundtrip error w/ input validation during EC2 instance startupRound trip errors occur on the EC2/instance screen when an invalid number of instances are requested1
56BAM-4360Ensure that all commands when mounting EBS volumes handle failure recursivelyEBS volume creation, attachment & mounting is still depending on various variable timing from Amazon (especially when multiple volumes are stared simultaneously). We should ensure that we cater for failure and perform retries for all commands.2
57BAM-4367Please make a Maven 2.1.0 builder available on the EC2 imageConfluence need Maven 2.1.0 specifically to build confluence.2
58BAM-4378Set the "Last Modified" header for artifacts, so browsers can cache static resourcesSince most (all?) build artifacts are static, and probably never change once they are created, Bamboo should set the "Last Modified" header when serving any artifact. The timestamp from the file stored on disk could be used, or if that is unavailable - the time stamp of when the build finished? !http://img.skitch.com/20090819-me3phuunma1um3acd6jpdddkxt.jpg! Large artifacts such as the JSON needed for Clover's new Tree Map could greatly benefit from browsers doing the needful caching.1
59BAM-4386The "no more than" instance schedule seems to shut down more instances than it shouldHaving a schedule configured as "no more than" e.g. "no more than 4" seems to kill all available instances, since it seems that it looks if the instance is on list (even if already scheduled to be shut down - agent stopped, but the instance is still on the list) instead of checking if given instance to be shut down has agent present or not.1
60BAM-4416Failed EBS volume creaion should start as disabledIf startup of EBS volume fails for an instance, the Agent should start as disabled. 2
61BAM-4418Rename "Bamboo Builds" tab in JIRA Bamboo plugin to be "Builds"NULL1
62BAM-4424Allow a clover license to be entered via the Bamboo admin (ie a global license). License can be overridden at the plan config level* on the build config screen if a "global" license exists then we display a message indicating that a license is already configured. * on the build config screen if a "global" license exists AND the license is valid then we display a message indicating that a license is valid. * on the build config screen if a "global" license exists AND the license is invalid then we display a message indicating that a license is NOT valid * on the build config screen if NO "global" license exists then a text entry field should be available and a message indicating that a license is required should be displayed. * a text entry field should be available on the build config screen to allow the license to be overridden at the plan level. * If _any_ license is defined at a plan level, it takes precedence * Check interaction with clover.license in the settings.xml* Validation of lic. is optional nice to have iff extras supports decoding. 3
63BAM-4484Add path to clover gadget to the list of gadgets availableNULL1
64BAM-4497Update Dependencies to match jira's (again)once jira has finalised its own dependencies... To ensure gadgets actually work we will probably need to ensure that our oauth, atlasian-plugins and atlassian-gadgets libraries are updated to the same version as jira 4.0 and then double check that all the gadgets work.2
65BAM-4503ship version 2.1.15 of nant builder plugin with bamboo 2.3.xChanges in the plugin api for bamboo 2.3x have broken the nant builder plugin http://developer.atlassian.com/jira/browse/NANT-24 A new version of the plugin is [available|http://confluence.atlassian.com/download/attachments/47448218/nant_builder-2.1.15.jar?version=1&modificationDate=1251978264907]1
66BAM-4534Spike: Concurrent chains runningNULL20
67BAM-4535Quick and dirty way to add a plan to a stage in a chainSuggestion here is to have a "chain and stage" selector just on the plan edit page. No need to hide anything on the plan edit page.3
68BAM-4536Spike: Extract common behaviour from Plan and ChainNULL20
69BAM-4537Quick and dirty list of chainsNULL2
70BAM-4574Package http://datejs.googlecode.com/files/date.js for gadgetsThe gadgets should not use http://datejs.googlecode.com/files/date.js directly1
71BAM-4576Faster Setup: Minimize screens for setup wizard - express vs custom installsNULL5
72BAM-4579Faster Setup: Immediately login as admin user after setup wizardNULL1
73BAM-4580Faster Setup: Make it obvious where to go next after loginNULL3
74BAM-4581Faster Setup: Remove/Reword supportability wording of HSQLDBNULL1
75BAM-4583External DB: Bundle database driversNULL3
76BAM-4593WIP Creation: Allow Save after builders entryNULL5
77BAM-4594WIP Creation: Option to not build immediately after plan createNULL2
78BAM-4605Faster Wizard: Setting up Builders/JDKs inlineNULL3
79BAM-4627Inline adding of IMNULL2
80BAM-4628Faster Wizard: Inline create mail severNULL2
81BAM-4645Faster Setup: Visual indication for long running tasks in Setup WizardNULL3
82BAM-4664Re-enable the maven tab to see if it still works on single module projects.NULL2
83BAM-4665Show the snapshot dependencies at the top of the maven tab, ie update the maven dependency parser so that it can just provide snapshot dependencies.NULL2
84BAM-4666introduce a "generated" type of dependency (as opposed to a manually created).NULL8
85BAM-4667generated dependencies are created after builds complete based on maven dependency info.NULL8
86BAM-4673Check and make the maven tab work on multi module projects.NULL5
87BAM-4690Clean up chain level Repo informationNULL5
88BAM-4704Installer not setting bamboo homeafter installing bamboo using the 2.5 M2 windows installer bamboo does not start because bamboo.home is not set. I checked bamboo-init.properties and it has not been updated at all. See install4j logs1
89BAM-4718Provide persistence to abstract "artifacts/particles" consumed and produced by plan.NULL2
90BAM-4724Allow user to specify location of pom fileNULL2
91BAM-4725Spiking read pom before build occurs using maven 3 embedder - svn onlyNULL8
92BAM-4729Unchecking use maven dependencies option should actually clear maven depedencies data. Confirmation for this should happen.NULL3
93BAM-4731Miscellaneous UI uglinessRemembering which tab you're on for configuraiton Tooltips broken Styling for tabs for build configuration Dropdown build menu is too narrow. Build Configuration tabs no longer check if there is data not saved before navigating away from the tab.3
94BAM-4732View a build that didn't run because of a failed prior stage in the chainNULL2
95BAM-4734Clicking the run page should go to the live results page.NULL1
96BAM-4735Redirect to last result of the chain if no chains currently runningNULL1
97BAM-4736Build blocking for chain dependenciesNULL2
98BAM-4737Automatically turn on build blocking when turning on maven dependencies with warningNULL2
99BAM-4780Spike backend support up to 100 remote agentsAcceptance criteria: * 100 remote agents can concurrently connect to one server. * The 100 remote agents include both remote and elastic agents. * 100 builds can concurrently run20
100BAM-4790Make mail server template more compactNULL1
101BAM-4791update page inline rather than reload after adding builder/jdk/mail/imNULL5
102BAM-4793User can specify a pom.xml for plans to be created fromNULL3
103BAM-4794Resolve concurrent chains issue with hackNULL3
104BAM-4795Bamboo can parse the pom.xml plan detailsNULL5
105BAM-4806Upgrade to AUI 2.0.3AUI 2.0 has changes that are not currently compatible with Bamboo's js, especially the restrictions they have imposed where the selector $ is no longer allowed This is needed for 2009-11 Upgrade Pack.2
106BAM-4841Dependency block should block on parents as wellNULL5
107BAM-4845Styling for tabs for build configurationNULL5
108BAM-4849Maven dependency on by default(?)NULL1
109BAM-4850Maven dependency tab clean upNULL3
110BAM-4857Show REST & Gadgets URLs from within the UI* REST URL should appear where we enable the Remote API part of the description) * Add new section with page "List of Gadget URLs" & OAuth * Minimal req. URLS & descriptions, other stuff would be cool 3
111BAM-4869Add a function to remove OAuth tokens in BambooPlease add a function to remove OAuth tokens from Bamboo. This is already implemented in JIRA, if that's a helpful reference. http://confluence.atlassian.com/display/JIRA/Configuring+OAuth+Consumers#ConfiguringOAuthConsumers-RemovinganOAuthconsumer 5
112BAM-4871REST: Incorrect representation of JSON dataJSON data which is returned from the builds rest api service is incorrect. Please see screenshots. Example: https://bamboo.extranet.atlassian.com/rest/api/latest/build/CRUC.json?expand=builds.build3
113BAM-4905Plan requirements are not updated after builder JDK has been updated.An update in a plan's builder spec is not reflected in the plan's requirements. For example after changing the JDK from 1.5 to 1.6 in the builder spec the requirements tab will still show JDK 1.5 2
114BAM-4922Removing build results from a menu should have a confirmation screen* Deleting from list page currently uses JS popup * Prefer JS popup but fine to add confirmation screen (just be consistent with each other) * Should work with the class="confirmationRequired" * Fix wording o be conssitent1
115BAM-4923The contact administrators link should not be available is the setup footerNULL1
116BAM-4924When editing plans "Done" button in artifacts doesn't work* Should go to view version of the artifacts screen2
117BAM-4925Artifact "Clover Report (System)" is added even if the Clover is not enabledNULL1
118BAM-4932Problem when importing a plan from Maven for a second time* Not sure if both plans were the same URL. {noformat} 2009-11-29 18:45:41,330 INFO [1085098145@qtp-1013059835-7] [AccessLogFilter] admin http://xxxxgold.local:8085/bamboo/admin/importMavenPlanCreatePlan.action 64565kb 2009-11-29 18:45:41,363 WARN [1085098145@qtp-1013059835-7] [JDBCExceptionReporter] SQL Error: -104, SQLState: 23000 2009-11-29 18:45:41,364 ERROR [1085098145@qtp-1013059835-7] [JDBCExceptionReporter] Violation of unique constraint $$: duplicate value(s) for column(s) $$: SYS_CT_108 in statement [insert into BUILD_DEFINITION (BUILD_ID, CREATED_DATE, UPDATED_DATE, XML_DEFINITION_DATA, BUILD_DEFINITION_TYPE, BUILD_DEFINITION_ID) values (?, ?, ?, ?, 'BUILD', ?)] 2009-11-29 18:45:41,364 ERROR [1085098145@qtp-1013059835-7] [SessionImpl] Could not synchronize database state with session 2009-11-29 18:45:41,364 WARN [1085098145@qtp-1013059835-7] [HibernateObjectDao] Problems getting build by key net.sf.hibernate.exception.GenericJDBCException: could not insert: [com.atlassian.bamboo.build.DefaultBuildDefinitionForBuild#819203] net.sf.hibernate.exception.ErrorCodeConverter.handledNonSpecificException(ErrorCodeConverter.java:90) net.sf.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:79) net.sf.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29) net.sf.hibernate.persister.AbstractEntityPersister.convert(AbstractEntityPersister.java:1331) net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:472) net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:436) net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInsertion.java:37) net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2449) net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2435) net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2392) net.sf.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:1821) net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:3652) net.sf.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:238) net.sf.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:385) com.atlassian.bamboo.build.BuildHibernateDao.getBuildByKey(BuildHibernateDao.java:40) sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy7.getBuildByKey(Unknown Source) com.atlassian.bamboo.build.HibernateBuildManager.getBuildByKey(HibernateBuildManager.java:77) com.atlassian.bamboo.build.HibernateBuildManager.createBuild(HibernateBuildManager.java:248) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) com.atlassian.bamboo.security.acegi.intercept.aopalliance.AuthorityOverrideMethodSecurityInterceptor.invoke(AuthorityOverrideMethodSecurityInterceptor.java:30) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) com.atlassian.bamboo.security.acegi.intercept.aopalliance.AuthorityOverrideMethodSecurityInterceptor.invoke(AuthorityOverrideMethodSecurityInterceptor.java:30) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy13.createBuild(Unknown Source) com.atlassian.bamboo.build.creation.BuildPlanCreationServiceImpl.createBuild(BuildPlanCreationServiceImpl.java:235) com.atlassian.bamboo.build.creation.BuildPlanCreationServiceImpl.createBuild(BuildPlanCreationServiceImpl.java:207) com.atlassian.bamboo.ww2.actions.admin.ImportMavenPlanCreatePlanAction.doExecute(ImportMavenPlanCreatePlanAction.java:120) com.atlassian.bamboo.ww2.BambooActionSupport.execute(BambooActionSupport.java:705) ... Caused by: java.sql.SQLException: Violation of unique constraint $$: duplicate value(s) for column(s) $$: SYS_CT_108 in statement [insert into BUILD_DEFINITION (BUILD_ID, CREATED_DATE, UPDATED_DATE, XML_DEFINITION_DATA, BUILD_DEFINITION_TYPE, BUILD_DEFINITION_ID) values (?, ?, ?, ?, 'BUILD', ?)] org.hsqldb.jdbc.Util.throwError(Unknown Source) org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source) com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105) net.sf.hibernate.impl.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:22) net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:462) ... 178 more java.lang.IllegalArgumentException: object cannot be null org.springframework.util.Assert.notNull(Assert.java:112) com.atlassian.bamboo.security.acegi.acls.HibernateObjectIdentityImpl.(HibernateObjectIdentityImpl.java:58) com.atlassian.bamboo.build.HibernateBuildManager.createBuild(HibernateBuildManager.java:249) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) com.atlassian.bamboo.security.acegi.intercept.aopalliance.AuthorityOverrideMethodSecurityInterceptor.invoke(AuthorityOverrideMethodSecurityInterceptor.java:30) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) com.atlassian.bamboo.security.acegi.intercept.aopalliance.AuthorityOverrideMethodSecurityInterceptor.invoke(AuthorityOverrideMethodSecurityInterceptor.java:30) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy13.createBuild(Unknown Source) com.atlassian.bamboo.build.creation.BuildPlanCreationServiceImpl.createBuild(BuildPlanCreationServiceImpl.java:235) com.atlassian.bamboo.build.creation.BuildPlanCreationServiceImpl.createBuild(BuildPlanCreationServiceImpl.java:207) com.atlassian.bamboo.ww2.actions.admin.ImportMavenPlanCreatePlanAction.doExecute(ImportMavenPlanCreatePlanAction.java:120) {noformat} 3
119BAM-4933System property to enable the "unsupported database" option in setup{{-Dbamboo.enable.unsupported.db=true}} or something like that. * Only affects UI on setup wizard * Need to add to upgrade guide for people doing import export3
120BAM-4935Import from Maven should redirect the user to the builder configuration in edit mode and prevent the initial build* Should not build immediately (current way is to Disable plan) * Redirect to Builder config. section in Edit mode * (Some risk with tabs recently broken) * Q: re how to set tab from param ** Should be a param that sets the cookied & the selectedTab3
121BAM-4937Upgrade to AUI 1.2.5 to resolve dialog size issues in ie7See https://studio.atlassian.com/browse/AJS-202 Under IE7 the buttons pane will over-run the size of the dialog (affects add JDK / add Builder) * Need to test in all supported browsers. * Inline JDK, Builder, Mail, IM * Ping Anton for VM3
122BAM-4939OAuth Consumer tab should not be visibleTest in all supported browsers !http://img.skitch.com/20091201-xsixujr2hfjfhpq8dkc86dwhq8.png!2
123BAM-4940Make "Enable Plan" link more prominent on the config screen* Above (or below if that looks better) * Use your judgement & trial it out! 2
124BAM-4941Link to Maven plan import from the first page of the create plan wizard* Don't bother with the dashboard1
125BAM-4942should append pom.xml if not specified* Check repo if the SVN URL is a file or a directory first {{svn info}} and then append pom.xml if directory * Does SVN kit have APIs to do SVN info? ** Oui oui, but SVN does have it, but never done in Bamboo3
126BAM-4943Retest all new gadget work in Test IE7 IE8 Safari* Make sure we test all gadgets in JIRA & Connie * In all supported browsers * No IE64
127BAM-5008Build process not shutting down EC2 instancesNULL3
128BAM-5057Changing from a JDK Label that's been deleted will not remove old Requirement# Create a plan with a JDK # Go to admin section and remove the JDK # Edit the plan, changing the JDK # The old JDK should be removed but it's not !http://img.skitch.com/20091211-m297tdrx9j28n3hisgjttgftfm.png! 2
129BAM-5070Test the tagger pluginhttp://confluence.atlassian.com/display/BAMEXT/Bamboo+Tagger+plugin 2
130BAM-5076Ensure Clover gadget is workingNothing's changed in the gadget itself, just the config screen... We'll hold the Poles to it :) 2
131BAM-5102Write developer docs for backend plan creationNULL2
132BAM-5124StopBuildManager with abandon result does not abandon resultStopBuildManager with abandon result does not abandon result in 3.0. In 2.0 it just stopped the result from being persisted but that now happens at the start of the build.5
133BAM-5127Improve the Bamboo startup scriptThere are several things wrong with the bamboo.sh startup script: 1) an option to specify which user to run Bamboo under 2) The startup script takes no care of CWD. Depending on which directory you're in the startup behaves differently. 3) if Bamboo stops abruptly or startup fails, it leaves a bamboo.pid file and this file causes future startup attempts to fail. 4) make use of the JAVA_HOME in bamboo.sh script, Bamboo defaults to the java executable in the System Path - we ask users to set JAVA_HOME, but we never use it in the script 5) Parameterize each of the startup option in RUN_CMD variable or read the options from wrapper.conf file. 2
134BAM-5135SASL support with bundled svnkitThe version of svnkit we bundle with bamboo doesn't have SASL support: {noformat}[amyers@erdinger:svnkit]$ jar tf svnkit-1.3.0.5847.jar | grep Sasl [amyers@erdinger:svnkit]$ {noformat} If I download it from the website it does (this is a newer version, but apparently older ones have it too): {noformat} [amyers@erdinger:svnkit-1.3.2.6267]$ jar tf svnkit.jar | grep Sasl org/tmatesoft/svn/core/internal/io/svn/sasl/SVNSaslAuthenticator$SVNCallbackHandler.class org/tmatesoft/svn/core/internal/io/svn/sasl/SVNSaslAuthenticator.class org/tmatesoft/svn/core/internal/io/svn/sasl/SaslInputStream.class org/tmatesoft/svn/core/internal/io/svn/sasl/SaslOutputStream.class [amyers@erdinger:svnkit-1.3.2.6267]$ {noformat} Is there any technical reason we don't bundle the support for SASL authentication? 2
135BAM-5140Importing without restart runs all upgrade tasks, if run after initial install.* All upgrades are run rather than just the ones that are needed. * This is only a problem if run after the initial install (where the upgrade task collections in UpgradeManagerImpl are already prepopulated with all upgrade tasks.) This is fixed/avoided by: * Do not do the import without restart. * Stop and start Bamboo before the import. * If it gets into a screwed state, delete your bamboo home and start again (don't accidentally delete the import!).3
136BAM-5142Upgrade atlassian template renderer to 1.0.5Needed by an upgrade pack1
137BAM-5143Exception in macro buildResultI've gotten this exception several times now: 2009-12-31 10:36:49,916 INFO [1300187729@qtp-380183900-10] [AccessLogFilter] bteh http://bteh.sydney.atlassian.com:8085/bamboo/api/rest/getLatestUserBuilds.action?auth=OmdvT9Cj0M 115615kb 2009-12-31 10:36:49,963 INFO [1300187729@qtp-380183900-10] [AccessLogFilter] bteh http://bteh.sydney.atlassian.com:8085/bamboo/api/rest/getLatestBuildResults.action?auth=OmdvT9Cj0M&buildKey=TEST-DEF 112273kb 2009-12-31 10:36:49,982 INFO [1300187729@qtp-380183900-10] [AccessLogFilter] bteh http://bteh.sydney.atlassian.com:8085/bamboo/api/rest/getLatestBuildResults.action?auth=OmdvT9Cj0M&buildKey=TEST-DEF2 111418kb 2009-12-31 10:36:50,013 INFO [1300187729@qtp-380183900-10] [AccessLogFilter] bteh http://bteh.sydney.atlassian.com:8085/bamboo/api/rest/getLatestBuildResults.action?auth=OmdvT9Cj0M&buildKey=TEST-DEF3 110540kb 2009-12-31 10:36:50,117 INFO [1300187729@qtp-380183900-10] [AccessLogFilter] bteh http://bteh.sydney.atlassian.com:8085/bamboo/api/rest/getRecentlyCompletedBuildResultsForBuild.action?auth=OmdvT9Cj0M&buildKey=TEST-DEF3 109878kb 2009-12-31 10:26:52,088 ERROR [543021934@qtp-380183900-0] [runtime] Error executing macro: buildResult required parameter: buildSummary is not specified. The problematic instruction: ---------- ==> macro buildResult [on line 1, column 1 in api/rest/macros.ftl] in user-directive api.buildResult [on line 4, column 9 in api/rest/recentlyCompletedBuildResultsForBuild.ftl] ---------- Java backtrace for programmers: ---------- freemarker.template.TemplateException: Error executing macro: buildResult required parameter: buildSummary is not specified. freemarker.core.Macro$Context.sanityCheck(Macro.java:207) freemarker.core.Macro$Context.runMacro(Macro.java:165) freemarker.core.Environment.visit(Environment.java:602) freemarker.core.UnifiedCall.accept(UnifiedCall.java:106) freemarker.core.Environment.visit(Environment.java:209) freemarker.core.MixedContent.accept(MixedContent.java:92) freemarker.core.Environment.visit(Environment.java:209) freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167) freemarker.core.Environment.visit(Environment.java:416) freemarker.core.IteratorBlock.accept(IteratorBlock.java:102) freemarker.core.Environment.visit(Environment.java:209) freemarker.core.MixedContent.accept(MixedContent.java:92) freemarker.core.Environment.visit(Environment.java:209) freemarker.core.Environment.process(Environment.java:189) freemarker.template.Template.process(Template.java:237) com.opensymphony.webwork.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:214) com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:143) com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:313) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:208) com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175) com.atlassian.bamboo.ww2.interceptors.BambooWorkflowInterceptor.doIntercept(BambooWorkflowInterceptor.java:33) com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:116) com.atlassian.bamboo.ww2.interceptors.BambooValidationInterceptor.doIntercept(BambooValidationInterceptor.java:33) com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:174) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptor.intercept(WebworkSecurityInterceptor.java:55) com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptorProxy.intercept(WebworkSecurityInterceptorProxy.java:30) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.PaginationAwareInterceptor.intercept(PaginationAwareInterceptor.java:68) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.StatisticsAwareInterceptor.intercept(StatisticsAwareInterceptor.java:41) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.ResultsListAwareInterceptor.intercept(ResultsListAwareInterceptor.java:48) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.TestCaseAwareInterceptor.intercept(TestCaseAwareInterceptor.java:44) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.BuildResultsSummaryAwareInteceptor.intercept(BuildResultsSummaryAwareInteceptor.java:66) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.BuildAwareInterceptor.intercept(BuildAwareInterceptor.java:47) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.RemoteApiExceptionInterceptor.intercept(RemoteApiExceptionInterceptor.java:21) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.RemoteApiLoginInterceptor.intercept(RemoteApiLoginInterceptor.java:57) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116) com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:274) com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.bamboo.filter.AccessLogFilter.doFilter(AccessLogFilter.java:61) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) com.atlassian.bamboo.filter.SeraphLoginFilter.doFilter(SeraphLoginFilter.java:61) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) com.atlassian.bamboo.filter.BambooAcegiProxyFilter.doFilter(BambooAcegiProxyFilter.java:25) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.bamboo.filter.LicenseFilter.doFilter(LicenseFilter.java:73) com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:72) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:206) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:133) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:69) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170) com.atlassian.spring.filter.FlushingSpringSessionInViewFilter.doFilterInternal(FlushingSpringSessionInViewFilter.java:29) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.planetj.servlet.filter.compression.CompressingFilter.handleDoFilter(CompressingFilter.java:203) com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:174) com.atlassian.bamboo.filter.CompressingFilter.doFilter(CompressingFilter.java:65) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.bamboo.filter.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:26) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:378) org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) org.mortbay.jetty.Server.handle(Server.java:324) org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535) org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865) org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)2
138BAM-5153Running a chain from the actions menu runs the chain twiceNULL3
139BAM-5172CVS deletes working copy when using tag/branch and ampersand modules after initial buildWhen using cvs ampersand modules on a tag/branch bamboo checks out the _initial_ working copy just fine. For subsequent builds bamboo *deletes* all files in the working copy when updating. https://support.atlassian.com/browse/BSP-2452 5
140BAM-5182Agent upload of artifacts fails to set Content-Length in HTTP/1.1 (on lighthttpd or nginx) Bamboo Agent upload of artifacts fails to set Content-Length:, causes problems when using a proxy that implements strict HTTP/1.1 Our preferred reverse proxy solution is Lighttpd. However, use of Lighttpd resulted in failure of Bamboo Agents to upload artifacts to the Bamboo Server. Upon investigation, we discovered the following error in the Lighttpd error logs: 2010-01-08 13:50:26: (request.c.1115) POST-request, but content-length missing -> 411 HTTP/1.1 - http://www.ietf.org/rfc/rfc2616.txt - Section 4.4: ... For compatibility with HTTP/1.0 applications, HTTP/1.1 requests containing a message-body MUST include a valid Content-Length header field unless the server is known to be HTTP/1.1 compliant. If a request contains a message-body and a Content-Length is not given, the server SHOULD respond with 400 (bad request) if it cannot determine the length of the message, or with 411 (length required) if it wishes to insist on receiving a valid Content-Length. And below in section 10.4.12: 10.4.12 411 Length Required The server refuses to accept the request without a defined Content- Length. The client MAY repeat the request if it adds a valid Content-Length header field containing the length of the message-body in the request message. And further below in section : 14.13 Content-Length The Content-Length entity-header field indicates the size of the entity-body, in decimal number of OCTETs, sent to the recipient or, in the case of the HEAD method, the size of the entity-body that would have been sent had the request been a GET. Content-Length = "Content-Length" ":" 1*DIGIT An example is Content-Length: 3495 Applications SHOULD use this field to indicate the transfer-length of the message-body, unless this is prohibited by the rules in section 4.4. Any Content-Length greater than or equal to zero is a valid value. Section 4.4 describes how to determine the length of a message-body if a Content-Length is not given. Note that the meaning of this field is significantly different from the corresponding definition in MIME, where it is an optional field used within the "message/external-body" content-type. In HTTP, it SHOULD be sent whenever the message's length can be determined prior to being transferred, unless this is prohibited by the rules in section 4.4. According to my research, both Microsoft IIS and Lighttpd are strict on this. I have confirmed that Lighttpd does not have a configuration option to disable this level of strictness. Apache, however, is lax about enforcing this rule. As a result, Apache works and Lighttpd fails. Please correct the Bamboo Agent upload of artifacts to specify a Content-Length according to the specification defined above so we can switch back to Lighttpd.2
141BAM-5184Can't create Plan from POM if the only Builder detected was the Elastic AgentTo reproduce, make sure that the "Maven 2" Builder has only the Elastic Agent Builder in its list (Bamboo Console >> Administration >> Builders). Therefore, Bamboo has not detected any local or remote Maven installation. When trying to create the Plan from a POM, after detecting the Repository and Providing the ProjectName and ProjectKey, the following stacktrace is displayed: Version: 2.5 Build: 1711 Build Date: 29 Dec 2009 system.error.request.information: * Request URL: http://localhost:8085/admin/importMavenPlanCreatePlan.action * Scheme: http * Server: localhost * Port: 8085 * URI: /admin/importMavenPlanCreatePlan.action * Context Path: * Servlet Path: /admin/importMavenPlanCreatePlan.action * Path Info: * Query String: Stack Trace: com.atlassian.bamboo.build.PlanCreationException: No Maven 2 builder found, should not occur com.atlassian.bamboo.ww2.actions.admin.ImportMavenPlanCreatePlanAction.createBuilder(ImportMavenPlanCreatePlanAction.java:184) com.atlassian.bamboo.ww2.actions.admin.ImportMavenPlanCreatePlanAction.doExecute(ImportMavenPlanCreatePlanAction.java:123) com.atlassian.bamboo.ww2.BambooActionSupport.execute(BambooActionSupport.java:705) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:592) com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358) com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192) com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175) com.atlassian.bamboo.ww2.interceptors.BambooWorkflowInterceptor.doIntercept(BambooWorkflowInterceptor.java:33) com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:116) com.atlassian.bamboo.ww2.interceptors.BambooValidationInterceptor.doIntercept(BambooValidationInterceptor.java:33) com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.JSONValidationInterceptor.intercept(JSONValidationInterceptor.java:78) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:174) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.GlobalAdminInterceptor.intercept(GlobalAdminInterceptor.java:21) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptor.intercept(WebworkSecurityInterceptor.java:55) com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptorProxy.intercept(WebworkSecurityInterceptorProxy.java:30) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.PaginationAwareInterceptor.intercept(PaginationAwareInterceptor.java:68) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.StatisticsAwareInterceptor.intercept(StatisticsAwareInterceptor.java:41) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.ResultsListAwareInterceptor.intercept(ResultsListAwareInterceptor.java:48) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.TestCaseAwareInterceptor.intercept(TestCaseAwareInterceptor.java:44) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.BuildResultsSummaryAwareInteceptor.intercept(BuildResultsSummaryAwareInteceptor.java:66) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.BuildAwareInterceptor.intercept(BuildAwareInterceptor.java:47) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.BuildConfigurationInterceptor.intercept(BuildConfigurationInterceptor.java:52) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.BuildConfigurationFromSessionInterceptor.intercept(BuildConfigurationFromSessionInterceptor.java:50) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116) com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:274) com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.bamboo.filter.AccessLogFilter.doFilter(AccessLogFilter.java:61) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) com.atlassian.bamboo.filter.SeraphLoginFilter.doFilter(SeraphLoginFilter.java:61) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) com.atlassian.bamboo.filter.BambooAcegiProxyFilter.doFilter(BambooAcegiProxyFilter.java:25) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.bamboo.filter.LicenseFilter.doFilter(LicenseFilter.java:73) com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:72) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:204) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:138) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:69) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170) com.atlassian.spring.filter.FlushingSpringSessionInViewFilter.doFilterInternal(FlushingSpringSessionInViewFilter.java:29) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.planetj.servlet.filter.compression.CompressingFilter.handleDoFilter(CompressingFilter.java:203) com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:193) com.atlassian.bamboo.filter.CompressingFilter.doFilter(CompressingFilter.java:65) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.bamboo.filter.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:26) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:378) org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) org.mortbay.jetty.Server.handle(Server.java:324) org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535) org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880) org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747) org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)3
142BAM-5187Update Builders and Jdk's to allow for > 25 agentsThis view JDKs and view builders page needs rewriting. A mock up can be found here: https://extranet.atlassian.com/display/BAMBOO/Supporting+more+than+25+remote+agents We are trying to condense this information. There is a bug on this page which also needs to be fixed, see screenshot: http://skitch.com/brydiemccoy/n8fbq/jdks-atlassian-bamboo Investigate surrounding/similar pages and identify if any other work needs doing.5
143BAM-5189${system.bamboo.agent.home} should be defined for all agents, not just remote ones${system.bamboo.agent.home} needs to be defined for all agents, otherwise it makes running pre and post build scripts break.2
144BAM-5192Ability to delete build working directory after a suceessful buildAdd a checkbox to delete the builds working directory after the build to control the amount of disk space in use It would be excellent if this https://extranet.atlassian.com/display/IT/2010/01/11/Pre+and+Post+scripts+on+BEAC+agents+to+clean+up+builds was incorporated into the product at a per plan level5
145BAM-5197Bamboo Rest calls cannot find resources directly after installI started a brand new Bamboo Home (2.5). After running the setup wizard in Bamboo and running a few builds, I added a new plan status gadget to jira (4.0) and got the error below (see screen shot also). The error could also be seen when hitting the straight rest urls: http://localhost:8085/bamboo/rest/api/latest/build/SVN/DEF?expand=builds[0%3A9].build&max-results=10 I then stopped and started Bamboo and the resources were found happily and everything worked. Notifications are not affected (runs through similar code) just the REST calls. --------------- 2010-01-12 13:51:45,070 INFO [10084294@qtp-11642082-31] [AccessLogFilter] admin http://172.20.7.225:8085/bamboo/rest/api/latest/build/SVN/DEF2.json?expand=builds%5B0%3A9%5D.build&max-results=10&nocache=1263264704955 174430kb 2010-01-12 13:51:45,132 ERROR [9682830@qtp-11642082-30] [BambooFreemarkerManager] Error resolving template java.io.FileNotFoundException: Template freemarker-lib/ui.ftl not found. freemarker.template.Configuration.getTemplate(Configuration.java:489) freemarker.core.Environment.getTemplateForInclusion(Environment.java:1464) freemarker.core.Environment.getTemplateForImporting(Environment.java:1518) freemarker.core.Environment.importLib(Environment.java:1503) freemarker.template.Configuration.doAutoImportsAndIncludes(Configuration.java:843) freemarker.core.Configurable.doAutoImportsAndIncludes(Configurable.java:835) freemarker.core.Configurable.doAutoImportsAndIncludes(Configurable.java:835) freemarker.core.Environment.process(Environment.java:188) freemarker.template.Template.process(Template.java:237) com.atlassian.bamboo.ww2.BambooFreemarkerManager.renderPageWithNoContext(BambooFreemarkerManager.java:419) com.atlassian.bamboo.ww2.BambooFreemarkerManager.renderPage(BambooFreemarkerManager.java:260) com.atlassian.bamboo.ww2.BambooFreemarkerManager.renderPage(BambooFreemarkerManager.java:236) com.atlassian.bamboo.ww2.BambooFreemarkerManager.render(BambooFreemarkerManager.java:305) com.atlassian.bamboo.v2.build.trigger.DefaultTriggerReasonRenderer.getShortDescriptionHtml(DefaultTriggerReasonRenderer.java:40) com.atlassian.bamboo.resultsummary.AbstractBuildResultsSummary.getReasonSummary(AbstractBuildResultsSummary.java:135) com.atlassian.bamboo.plugins.rest.model.build.AbstractRestBuild.expand(AbstractRestBuild.java:145) com.atlassian.bamboo.plugins.rest.model.build.RestBuild.expand(RestBuild.java:68) com.atlassian.bamboo.plugins.rest.model.build.RestBuildExpander.expandInternal(RestBuildExpander.java:14) com.atlassian.bamboo.plugins.rest.model.build.RestBuildExpander.expandInternal(RestBuildExpander.java:8) com.atlassian.plugins.rest.common.expand.AbstractRecursiveEntityExpander.expand(AbstractRecursiveEntityExpander.java:9) com.atlassian.plugins.rest.common.expand.resolver.CollectionEntityExpanderResolver$ListExpander.expand(CollectionEntityExpanderResolver.java:65) com.atlassian.plugins.rest.common.expand.resolver.CollectionEntityExpanderResolver$ListExpander.expand(CollectionEntityExpanderResolver.java:56) com.atlassian.plugins.rest.common.expand.EntityCrawler.expandFields(EntityCrawler.java:94) com.atlassian.plugins.rest.common.expand.EntityCrawler.crawl(EntityCrawler.java:35) com.atlassian.plugins.rest.common.expand.resolver.ListWrapperEntityExpanderResolver$ListWrapperEntityExpander.expand(ListWrapperEntityExpanderResolver.java:58) com.atlassian.plugins.rest.common.expand.resolver.ListWrapperEntityExpanderResolver$ListWrapperEntityExpander.expand(ListWrapperEntityExpanderResolver.java:32) com.atlassian.plugins.rest.common.expand.EntityCrawler.expandFields(EntityCrawler.java:94) com.atlassian.plugins.rest.common.expand.EntityCrawler.crawl(EntityCrawler.java:35) com.atlassian.plugins.rest.common.expand.jersey.ExpandResponseFilter.filter(ExpandResponseFilter.java:39) com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:675) com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:612) com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:603) com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:309) com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425) com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:198) com.sun.jersey.spi.container.servlet.ServletContainer.doFilter(ServletContainer.java:689) com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:112) 3
146BAM-5213Editing user and setting Source Repository Alias causes null pointer exceptionassigning a repository alias to an external (ldap) user throws NPE 2010-01-14 14:41:36,093 ERROR [4844447@qtp-6659511-0] [FiveOhOh] 500 Exception was thrown. java.lang.NullPointerException java.util.AbstractCollection.addAll(AbstractCollection.java:316) com.atlassian.bamboo.ww2.actions.admin.user.ConfigureUser.execute(ConfigureUser.java:88) com.atlassian.bamboo.ww2.actions.admin.user.ConfigureUser.doUpdateExternalUser(ConfigureUser.java:153) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:592) 3
147BAM-5218When downsizing a license plans users are directed to delete on the _old_ server When a user has to downsize bamboo instance the use is directed to a delete plans screen. The link points to the bamboo server the last export was made from. Plans on the _previous_ server are deleted _not_ on the current. The previous server may still be active and eligible to run unlimited plans. On that screen a neon warning should be displayed and the base url should be questioned (if not the same as the current hostname/ip address)3
148BAM-5230CVS module field doesn't store changes when cloning an existing build planFirst: create a build plan using CVS as source repository and specify a module to be used. Second: create another build plan and select "Clone an existing build plan?" then select the other plan. Click "Next >>" and change the CVS module to be used. Click "Next >>" until the new plan can be saved and tries to do it's initial build... you will notice that it uses the CVS module specified in the initial build plan instead of the new one specified. Workaround: Abort the initial build and change the module again in the new plan's configuration... afterwards the module is set correctly.2
149BAM-5244Cannot undo Maven POM dependency managementWe have 200+ Maven plans configured on one Bamboo instance and some of them are nightly plans with a once-a-day trigger. On upgrading to 2.5 I set all plans to use the Maven2 dependency management. The problem is that I don't want regular CI plans to trigger nightly plans(as they are resource intensive). When I remove POM dependency management from the nightly builds, it doesn't stop them from being triggered by regular CI plans. I have no choice now but to take the Maven 2 dep management off all plans. Oh well, it was nice while it lasted. So - any way to stop the Maven 2 dependencies from crossing from plans of one build strategy (polling) to plans of another (single daily build)?3
150BAM-5261Fix up UI for builders/jdks admin pagesNULL3
151BAM-5263Return URL should be restricted to current serverNULL3
152BAM-5277Session timeout and refreshing of Latest Status bar causes decorated login screen to appear inside page rather than taking up whole pageAttached is a screenshot of what happens when your session has timed out and you go back then forward - appears after about 5-10 seconds3
153BAM-5281JIRA Bamboo Plugin creates deadlock in JIRA and Bamboo applications when starting them up in the same Tomcat serverSteps to reproduce: # Deploy JIRA 4.0.1 WAR into Tomcat 5.5.26 # Deploy Bamboo 2.5.1 WAR into same Tomcat # Configure everything normally # Start up JIRA. Default configuration. Create TST project. # Start up Bamboo. Express Installation. # In JIRA, configure a Bamboo Server for the Bamboo app # Shutdown Tomcat # Restart Tomcat Bamboo gets this far: {quote} 2010-02-04 16:06:03,522 INFO [main] [BambooSmackClient] No IM server specified. Bambo Smack client not initiated. 2010-02-04 16:06:03,573 INFO [main] [BambooContainer] Registered Event Listener: completedBuildNotificationEventListener 2010-02-04 16:06:03,591 INFO [main] [BambooContainer] Registered Event Listener: afterXFailedNotificationListener 2010-02-04 16:06:03,597 INFO [main] [BambooContainer] Registered Event Listener: buildCommentedNotificationListener 2010-02-04 16:06:03,601 INFO [main] [BambooContainer] Registered Event Listener: buildHungNotificationListener 2010-02-04 16:06:03,605 INFO [main] [BambooContainer] Registered Event Listener: buildQueueTimeoutNotificationListener 2010-02-04 16:06:03,608 INFO [main] [BambooContainer] Registered Event Listener: legacyNotificationEventListener 2010-02-04 16:06:03,612 INFO [main] [BambooContainer] Registered Event Listener: buildErrorNotificationListener 2010-02-04 16:06:03,616 INFO [main] [BambooContainer] Registered Event Listener: buildMissingCapableAgentNotificationListener 2010-02-04 16:06:03,620 INFO [main] [BambooContainer] Registered Event Listener: serverStartedEventListener 2010-02-04 16:06:03,620 INFO [main] [BambooContainer] Initialising builds... 2010-02-04 16:06:03,630 INFO [main] [BambooContainer] Checking build repository configurations... 2010-02-04 16:06:03,634 INFO [main] [BambooContainer] Bamboo version 2.5.1 initialised OK 2010-02-04 16:06:03,634 INFO [main] [BambooContainer] Using bamboo.home: /Users/mtokar/support/JSP-51856/bamboohome 2010-02-04 16:06:03,636 INFO [main] [AccessLogFilter] AccessLogFilter initialized. Format is: <user> <url> <starting memory free (kb)> +- <difference in free mem (kb)> <query time (ms)> 2010-02-04 16:06:03,642 INFO [main] [[/bamboo]] org.tuckey.web.filters.urlrewrite.utils.Log ERROR: logLevelConf: null 2010-02-04 16:06:03,665 INFO [main] [[/bamboo]] org.tuckey.web.filters.urlrewrite.UrlRewriteFilter INFO: loaded (conf ok) 2010-02-04 16:06:03,748 INFO [main] [[/bamboo]] [CompressingFilter/1.4] CompressingFilter has initialized {quote} JIRA initialisation gets this far: {quote} Database configuration OK ___ Database Configuration _______ Loading entityengine.xml from : file:/Users/mtokar/support/JSP-51856/apache-tomcat-5.5.26/webapps/jira/WEB-INF/classes/entityengine.xml Entity model data source name : defaultDS Entity model field type name : hsql Entity model schema name : PUBLIC Database Version : HSQL Database Engine - 1.8.0 Database Driver : HSQL Database Engine Driver - 1.8.0 Database URL : jdbc:hsqldb:/Users/mtokar/support/JSP-51856/atlassian-jira-enterprise-4.0.1/database/jiradb Database JNDI address : java:comp/env/jdbc/JiraDS {quote} Tomcat logs show that Tomcat has hung after the plugins system has been initialised: {quote} 4/02/2010 16:06:17 com.atlassian.plugin.osgi.factory.UnrecognizedModuleDescriptorServiceTrackerCustomizer addingService INFO: Turned plugin module com.atlassian.streams.streams-jira-plugin:streamsActivityProvider into module com.atlassian.streams.streams-jira-plugin:streamsActivityProvider (null) 4/02/2010 16:06:26 com.atlassian.plugin.loaders.ScanningPluginLoader loadAllPlugins INFO: No plugins found to be deployed 4/02/2010 16:06:26 com.atlassian.plugin.manager.DefaultPluginManager init INFO: Plugin system started in 0:00:19.183 {quote} Neither JIRA or Bamboo webapps can be accessed through the browser. Thread dump of Tomcat shows the following stack trace: {quote} Thread t@81667: (state = IN_NATIVE) - java.net.SocketInputStream.socketRead0(java.io.FileDescriptor, byte[], int, int, int) @bci=0 (Interpreted frame) - java.net.SocketInputStream.read(byte[], int, int) @bci=84, line=129 (Interpreted frame) - java.io.BufferedInputStream.fill() @bci=175, line=218 (Compiled frame) - java.io.BufferedInputStream.read() @bci=12, line=235 (Compiled frame) - org.apache.commons.httpclient.HttpParser.readRawLine(java.io.InputStream) @bci=36, line=77 (Interpreted frame) - org.apache.commons.httpclient.HttpParser.readLine(java.io.InputStream, java.lang.String) @bci=11, line=105 (Interpreted frame) - org.apache.commons.httpclient.HttpConnection.readLine(java.lang.String) @bci=19, line=1115 (Interpreted frame) - org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(java.lang.String) @bci=12, line=1373 (Interpreted frame) - org.apache.commons.httpclient.HttpMethodBase.readStatusLine(org.apache.commons.httpclient.HttpState, org.apache.commons.httpclient.HttpConnection) @bci=36, line=1832 (Interpreted frame) - org.apache.commons.httpclient.HttpMethodBase.readResponse(org.apache.commons.httpclient.HttpState, org.apache.commons.httpclient.HttpConnection) @bci=16, line=1590 (Interpreted frame) - org.apache.commons.httpclient.HttpMethodBase.execute(org.apache.commons.httpclient.HttpState, org.apache.commons.httpclient.HttpConnection) @bci=68, line=995 (Interpreted frame) - org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(org.apache.commons.httpclient.HttpMethod) @bci=138, line=397 (Interpreted frame) - org.apache.commons.httpclient.HttpMethodDirector.executeMethod(org.apache.commons.httpclient.HttpMethod) @bci=291, line=170 (Interpreted frame) - org.apache.commons.httpclient.HttpClient.executeMethod(org.apache.commons.httpclient.HostConfiguration, org.apache.commons.httpclient.HttpMethod, org.apache.commons.httpclient.HttpState) @bci=115, line=396 (Interpreted frame) - org.apache.commons.httpclient.HttpClient.executeMethod(org.apache.commons.httpclient.HttpMethod) @bci=14, line=324 (Interpreted frame) - com.atlassian.jira.plugin.ext.bamboo.BambooServerManagerImpl.isGadgetAvailable(java.net.URI) @bci=17, line=413 (Interpreted frame) - com.atlassian.jira.plugin.ext.bamboo.BambooServerManagerImpl.addGadgetsForServer(com.atlassian.jira.plugin.ext.bamboo.service.BambooServer) @bci=63, line=376 (Interpreted frame) - com.atlassian.jira.plugin.ext.bamboo.BambooServerManagerImpl.start() @bci=36, line=117 (Interpreted frame) - com.atlassian.sal.jira.lifecycle.JiraLifecycleManager.notifyOnStart() @bci=99, line=83 (Interpreted frame) - com.atlassian.sal.core.lifecycle.DefaultLifecycleManager.start() @bci=15, line=50 (Interpreted frame) - com.atlassian.sal.jira.lifecycle.JiraLifecycleManager.onJiraStart(com.atlassian.jira.extension.JiraStartedEvent) @bci=9, line=60 (Interpreted frame) {quote} So what we have is a deadlock. Bamboo is somewhat started up but not responding to HTTP requests. JIRA has started its plugins, and in the starting of the JIRA Bamboo Plugin, some code tries to eagerly instantiate something in {{BambooServerManagerImpl.java}}: {code} protected boolean isGadgetAvailable(URI uri) { HeadMethod method = new HeadMethod(uri.toString()); try { httpClient.executeMethod(method); return method.getStatusCode() < HTTP_STATUS_CODE_ERRORS; } catch(IOException e) { return false; } finally { method.releaseConnection(); } } {code} i.e. JIRA is waiting on Bamboo to respond. This should be fixed so that the attempted HTTP connection at least has a sensible timeout (60seconds?) before it gives up and moves along. That, or instantiate things not on the startup of a plugin but at a different point in the lifecycle.5
154BAM-5287Name change from Build to Plan security aware broke nant plugin2010-02-04 13:40:32,839 ERROR [main] [DefaultPluginManager] There was an error loading the descriptor 'View NCover Result' of plugin 'com.atlassian.bamboo.plugin.builder.nant'. Disabling. java.lang.NoClassDefFoundError: com/atlassian/bamboo/ww2/aware/permissions/BuildReadSecurityAware java.lang.ClassLoader.defineClass1(Native Method) java.lang.ClassLoader.defineClass(ClassLoader.java:620) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1629) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:850) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1299) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181) com.opensymphony.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:96) com.opensymphony.xwork.ObjectFactory.getClassInstance(ObjectFactory.java:88) com.opensymphony.xwork.spring.SpringObjectFactory.getClassInstance(SpringObjectFactory.java:177) com.opensymphony.xwork.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:117) com.opensymphony.xwork.ObjectFactory.buildAction(ObjectFactory.java:101) com.atlassian.bamboo.plugin.xwork.PluginAwareObjectFactory.buildAction(PluginAwareObjectFactory.java:34) com.atlassian.bamboo.plugin.xwork.XWorkModuleDescriptor.addAction(XWorkModuleDescriptor.java:282) com.atlassian.bamboo.plugin.xwork.XWorkModuleDescriptor.getPackages(XWorkModuleDescriptor.java:115) com.atlassian.bamboo.plugin.xwork.XWorkModuleDescriptor.getPackages(XWorkModuleDescriptor.java:500) com.atlassian.bamboo.plugin.xwork.XWorkModuleDescriptor.init(XWorkModuleDescriptor.java:479) com.opensymphony.xwork.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:159) com.atlassian.bamboo.plugin.xwork.XWorkModuleDescriptor.enabled(XWorkModuleDescriptor.java:65) com.atlassian.plugin.manager.DefaultPluginManager.notifyModuleEnabled(DefaultPluginManager.java:1168) com.atlassian.plugin.manager.DefaultPluginManager.enablePluginModules(DefaultPluginManager.java:988) com.atlassian.plugin.manager.DefaultPluginManager.addPlugins(DefaultPluginManager.java:558) com.atlassian.plugin.manager.DefaultPluginManager.init(DefaultPluginManager.java:153) com.atlassian.bamboo.container.BambooContainer.init(BambooContainer.java:181) com.atlassian.bamboo.container.BambooContainer.initialise(BambooContainer.java:148) com.atlassian.bamboo.upgrade.UpgradeLauncher.initialiseBambooContainer(UpgradeLauncher.java:140) com.atlassian.bamboo.upgrade.UpgradeLauncher.upgradeAndStartBamboo(UpgradeLauncher.java:86) com.atlassian.bamboo.upgrade.UpgradeLauncher.contextInitialized(UpgradeLauncher.java:32) org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3669) org.apache.catalina.core.StandardContext.start(StandardContext.java:4104) org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759) org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739) org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524) org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:894) org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:857) org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475) org.apache.catalina.startup.HostConfig.start(HostConfig.java:1102) org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020) org.apache.catalina.core.StandardHost.start(StandardHost.java:718) org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012) org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442) org.apache.catalina.core.StandardService.start(StandardService.java:450) org.apache.catalina.core.StandardServer.start(StandardServer.java:683) org.apache.catalina.startup.Catalina.start(Catalina.java:537) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271) org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)1
155BAM-5296Differences in the implementation of a BuildResultsSummary cause labels to be duplicated on the 'Related builds by date' tab of the Jira Bamboo PluginSee BuildResultsSummaryDocument vs BuildResultsSummaryImpl for getLabelNames()3
156BAM-5317Delete multiple agents simultaneouslyThe lab manager plugin pollutes the agent space will thousands of agents that do no deregister properly. This ruins performance as the ui is affected by the product of plans * agent capabilities. Please implement a way to delete inactive agents.5
157BAM-5328Large number of exceptions being thrown on JBACssh atlassian20.private nice tail -F /service/j2ee_jira.bamboo.atlassian.com/log/main/current Sample: @400000004b74ceb62c1587b4 2010-02-11 21:44:44,737 ERROR [TP-Processor29] [runtime] @400000004b74ceb62c159754 @400000004b74ceb62c159b3c Error executing macro: displayReorderQueueActions @400000004b74ceb62c159f24 required parameter: returnUrl is not specified. @400000004b74ceb62c15a30c The problematic instruction: @400000004b74ceb62c15a6f4 ---------- @400000004b74ceb62c15aadc ==> macro displayReorderQueueActions [on line 3, column 1 in fragments/showBuildQueue.ftl] @400000004b74ceb62c15b2ac in user-directive displayReorderQueueActions [on line 166, column 33 in fragments/showBuildQueue.ftl] @400000004b74ceb62c1652d4 ---------- @400000004b74ceb62c1652d4 @400000004b74ceb62c1656bc Java backtrace for programmers: @400000004b74ceb62c165aa4 ---------- @400000004b74ceb62c165e8c freemarker.template.TemplateException: Error executing macro: displayReorderQueueActions @400000004b74ceb62c16665c required parameter: returnUrl is not specified. @400000004b74ceb62c166a44 freemarker.core.Macro$Context.sanityCheck(Macro.java:207) @400000004b74ceb62c167dcc freemarker.core.Macro$Context.runMacro(Macro.java:165) @400000004b74ceb62c16859c freemarker.core.Environment.visit(Environment.java:602) @400000004b74ceb62c168984 freemarker.core.UnifiedCall.accept(UnifiedCall.java:106) @400000004b74ceb62c168d6c freemarker.core.Environment.visit(Environment.java:209) @400000004b74ceb62c169154 freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79) @400000004b74ceb62c16a4dc freemarker.core.Environment.visit(Environment.java:209) @400000004b74ceb62c16a8c4 freemarker.core.MixedContent.accept(MixedContent.java:92) @400000004b74ceb62c16d3bc freemarker.core.Environment.visit(Environment.java:209) @400000004b74ceb62c16d7a4 freemarker.core.IfBlock.accept(IfBlock.java:82) @400000004b74ceb62c16df74 freemarker.core.Environment.visit(Environment.java:209) @400000004b74ceb62c16e35c freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167) @400000004b74ceb62c16e744 freemarker.core.Environment.visit(Environment.java:416) @400000004b74ceb62c16facc freemarker.core.IteratorBlock.accept(IteratorBlock.java:102) @400000004b74ceb62c16feb4 freemarker.core.Environment.visit(Environment.java:209) @400000004b74ceb62c170684 freemarker.core.IfBlock.accept(IfBlock.java:82) @400000004b74ceb62c170a6c freemarker.core.Environment.visit(Environment.java:209) @400000004b74ceb62c170e54 freemarker.core.MixedContent.accept(MixedContent.java:92) @400000004b74ceb62c1721dc freemarker.core.Environment.visit(Environment.java:209) @400000004b74ceb62c1725c4 freemarker.core.Environment.process(Environment.java:189) @400000004b74ceb62c1729ac freemarker.template.Template.process(Template.java:237) @400000004b74ceb62c17317c com.opensymphony.webwork.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:214) @400000004b74ceb62c173564 com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:143) @400000004b74ceb62c180c3c com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:313) @400000004b74ceb62c18140c com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:208) @400000004b74ceb62c181bdc com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175) @400000004b74ceb62c1823ac com.atlassian.bamboo.ww2.interceptors.BambooWorkflowInterceptor.doIntercept(BambooWorkflowInterceptor.java:33) @400000004b74ceb62c183734 com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) @400000004b74ceb62c183f04 com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c1842ec com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:116) @400000004b74ceb62c185a5c com.atlassian.bamboo.ww2.interceptors.BambooValidationInterceptor.doIntercept(BambooValidationInterceptor.java:33) @400000004b74ceb62c18622c com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) @400000004b74ceb62c1869fc com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c188d24 com.atlassian.bamboo.ww2.interceptors.JSONValidationInterceptor.intercept(JSONValidationInterceptor.java:78) @400000004b74ceb62c1894f4 com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c189cc4 com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) @400000004b74ceb62c18a0ac com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c18bc04 com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) @400000004b74ceb62c18c3d4 com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c18c7bc com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) @400000004b74ceb62c18cf8c com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c18e314 com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:174) @400000004b74ceb62c18eae4 com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c18eecc com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) @400000004b74ceb62c1915dc com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c191dac com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) @400000004b74ceb62c192194 com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c192964 com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) @400000004b74ceb62c1940d4 com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c1944bc com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151) @400000004b74ceb62c194c8c com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c195074 com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) @400000004b74ceb62c196bcc com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c196fb4 com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptor.intercept(WebworkSecurityInterceptor.java:55) @400000004b74ceb62c197784 com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptorProxy.intercept(WebworkSecurityInterceptorProxy.java:30) @400000004b74ceb62c19e4e4 com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c19ecb4 com.atlassian.bamboo.ww2.interceptors.PaginationAwareInterceptor.intercept(PaginationAwareInterceptor.java:68) @400000004b74ceb62c19f09c com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c1a0fdc com.atlassian.bamboo.ww2.interceptors.StatisticsAwareInterceptor.intercept(StatisticsAwareInterceptor.java:41) @400000004b74ceb62c1a17ac com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c1a1b94 com.atlassian.bamboo.ww2.interceptors.ResultsListAwareInterceptor.intercept(ResultsListAwareInterceptor.java:48) @400000004b74ceb62c1a3304 com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c1a36ec com.atlassian.bamboo.ww2.interceptors.TestCaseAwareInterceptor.intercept(TestCaseAwareInterceptor.java:44) @400000004b74ceb62c1a3ebc com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c1a61e4 com.atlassian.bamboo.ww2.interceptors.BuildResultsSummaryAwareInteceptor.intercept(BuildResultsSummaryAwareInteceptor.java:66) @400000004b74ceb62c1a69b4 com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c1a6d9c com.atlassian.bamboo.ww2.interceptors.BuildAwareInterceptor.intercept(BuildAwareInterceptor.java:47) @400000004b74ceb62c1a8124 com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c1a88f4 com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) @400000004b74ceb62c1a8cdc com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c1a94ac com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) @400000004b74ceb62c1ab004 com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c1ab3ec com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) @400000004b74ceb62c1abbbc com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c1ac38c com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186) @400000004b74ceb62c1aee84 com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) @400000004b74ceb62c1af654 com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116) @400000004b74ceb62c1afe24 com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:274) @400000004b74ceb62c1b020c com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202) @400000004b74ceb62c1b214c org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1b2534 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1b2d04 com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) @400000004b74ceb62c1b34d4 com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) @400000004b74ceb62c1b4c44 com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) @400000004b74ceb62c1b5414 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1b7f0c org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1b86dc com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) @400000004b74ceb62c1b8ac4 com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) @400000004b74ceb62c1b9294 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1bf824 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1bfff4 com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88) @400000004b74ceb62c1c07c4 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1c0bac org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1c1f34 com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) @400000004b74ceb62c1c2704 com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) @400000004b74ceb62c1c4a2c com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) @400000004b74ceb62c1c51fc org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1c59cc org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1c6d54 com.atlassian.bamboo.filter.AccessLogFilter.doFilter(AccessLogFilter.java:76) @400000004b74ceb62c1c7524 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1c790c org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1c80dc org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) @400000004b74ceb62c1c9464 org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) @400000004b74ceb62c1c9c34 org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) @400000004b74ceb62c1ca01c com.atlassian.bamboo.filter.SeraphLoginFilter.doFilter(SeraphLoginFilter.java:61) @400000004b74ceb62c1cc344 org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) @400000004b74ceb62c1cc72c org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) @400000004b74ceb62c1ccefc org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) @400000004b74ceb62c1cd6cc com.atlassian.bamboo.filter.BambooAcegiProxyFilter.doFilter(BambooAcegiProxyFilter.java:25) @400000004b74ceb62c1ce66c org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1cee3c org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1cf60c com.atlassian.bamboo.filter.LicenseFilter.doFilter(LicenseFilter.java:73) @400000004b74ceb62c1cf9f4 com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) @400000004b74ceb62c1d0d7c org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1d154c org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1d1934 com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:72) @400000004b74ceb62c1d4044 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1d442c org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1d4bfc com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:204) @400000004b74ceb62c1d4fe4 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1da9bc org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1db18c com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:138) @400000004b74ceb62c1db574 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1dbd44 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1dd0cc com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) @400000004b74ceb62c1dd89c com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) @400000004b74ceb62c1de06c com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:69) @400000004b74ceb62c1e0394 com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) @400000004b74ceb62c1e0b64 com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) @400000004b74ceb62c1e1334 com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) @400000004b74ceb62c1e26bc com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) @400000004b74ceb62c1e2e8c org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1e3274 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1e45fc org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170) @400000004b74ceb62c1e4dcc com.atlassian.spring.filter.FlushingSpringSessionInViewFilter.doFilterInternal(FlushingSpringSessionInViewFilter.java:29) @400000004b74ceb62c1e559c org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) @400000004b74ceb62c1e7cac org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1e8094 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1e8864 com.planetj.servlet.filter.compression.CompressingFilter.handleDoFilter(CompressingFilter.java:203) @400000004b74ceb62c1e9034 com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:193) @400000004b74ceb62c1e9fd4 com.atlassian.bamboo.filter.CompressingFilter.doFilter(CompressingFilter.java:65) @400000004b74ceb62c1ea7a4 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1eaf74 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1eb35c com.atlassian.bamboo.filter.NonCachingHeaderFilter.doFilter(NonCachingHeaderFilter.java:22) @400000004b74ceb62c1ec6e4 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1eceb4 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1ed684 com.atlassian.bamboo.filter.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:26) @400000004b74ceb62c1ef5c4 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1efd94 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1f0564 com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) @400000004b74ceb62c1f094c com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) @400000004b74ceb62c1f5384 com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) @400000004b74ceb62c1f5b54 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1f6324 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @400000004b74ceb62c1f76ac org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) @400000004b74ceb62c1f7e7c org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) @400000004b74ceb62c1fa1a4 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) @400000004b74ceb62c1fa974 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) @40...1
158BAM-5358Persist some calculated data for ArtifactLinkFrom: https://atlaseye.atlassian.com/cru/CR-BAM-997#c17472 Chai: Is there any reason why we wouldn't simply store the calculated values? One of the things was that size was not calculated for directories in fear that it was going to be too expensive (which it can be if artifacts are big). Thoughts? Krystian: If we decide to persist the url then we shall remember to update it once the buildKey will get changed (build move) which in my opinion adds complexity. We can however store a path with some kind of token to be replaced by planKey while property is being read ("/browse/%s/artifacts/build-123/whatever") If you want to persist artifact size as well, then we might calculate directory size (as it would be done once). Chai: Yeah for URL we could just store the calculated suffix (ie the thing that requires us to browse for an index.html etc) and leave out the prefix (that can just be apended, it's not expensive) + we should store the full size for the directory, though it'd be good to do some testing to see if how much more time it adds (say for a Clover report over JIRA is a good test)2
159BAM-5376Dynamic EC2 agents Related to BAM-33448
160BAM-5425Adding correct AWS account credentials gives a stack trace if the account does not have an EC2 subscriptionIt should instead give a regular error message informing the user of the problem. The stack trace is: {noformat} A communication error occurred while trying to validate the AWS account credentials. com.atlassian.aws.AWSException: Failed to determine validity of AWS credentials. com.atlassian.aws.AWSAccountImpl.validate(AWSAccountImpl.java:79) com.atlassian.bamboo.agent.elastic.server.ElasticInstanceManagerImpl.validateAwsCredentials(ElasticInstanceManagerImpl.java:167) com.atlassian.bamboo.ww2.actions.admin.elastic.ConfigureElasticCloudAction.testAWSCredentials(ConfigureElasticCloudAction.java:215) com.atlassian.bamboo.ww2.actions.admin.elastic.ConfigureElasticCloudAction.validate(ConfigureElasticCloudAction.java:129) com.atlassian.bamboo.ww2.actions.admin.elastic.ConfigureElasticCloudAction.doSave(ConfigureElasticCloudAction.java:167) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:592) com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358) com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192) com.atlassian.bamboo.ww2.interceptors.BambooWorkflowInterceptor.doIntercept(BambooWorkflowInterceptor.java:30) com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.BambooValidationInterceptor.doIntercept(BambooValidationInterceptor.java:30) com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.JSONValidationInterceptor.intercept(JSONValidationInterceptor.java:83) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:174) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptor.intercept(WebworkSecurityInterceptor.java:63) com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptorProxy.intercept(WebworkSecurityInterceptorProxy.java:30) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.PaginationAwareInterceptor.intercept(PaginationAwareInterceptor.java:68) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.StatisticsAwareInterceptor.intercept(StatisticsAwareInterceptor.java:41) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.ResultsListAwareInterceptor.intercept(ResultsListAwareInterceptor.java:48) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.TestCaseAwareInterceptor.intercept(TestCaseAwareInterceptor.java:44) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.BuildResultsSummaryAwareInteceptor.intercept(BuildResultsSummaryAwareInteceptor.java:66) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.BuildAwareInterceptor.intercept(BuildAwareInterceptor.java:47) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116) com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:274) com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.bamboo.filter.AccessLogFilter.doFilter(AccessLogFilter.java:61) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) com.atlassian.bamboo.filter.SeraphLoginFilter.doFilter(SeraphLoginFilter.java:61) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) com.atlassian.bamboo.filter.BambooAcegiProxyFilter.doFilter(BambooAcegiProxyFilter.java:25) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.bamboo.filter.LicenseFilter.doFilter(LicenseFilter.java:73) com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:72) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:204) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:138) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:100) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:69) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170) com.atlassian.spring.filter.FlushingSpringSessionInViewFilter.doFilterInternal(FlushingSpringSessionInViewFilter.java:29) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.bamboo.filter.CompressingFilter.doFilter(CompressingFilter.java:69) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.bamboo.filter.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:26) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:444) org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:472) org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286) java.lang.Thread.run(Thread.java:595) Caused by: com.xerox.amazonws.ec2.EC2Exception: Client error : You are not subscribed to this service. Please go to <span class="nobr"><a href="http://aws.amazon.com">http://aws.amazon.com<sup><img class="rendericon" src="/images/icons/linkext7.gif" height="7" width="7" align="absmiddle" alt="" border="0"/></sup></a></span> to subscribe. com.xerox.amazonws.ec2.Jec2.makeRequestInt(Jec2.java:1680) com.xerox.amazonws.ec2.Jec2.describeAvailabilityZones(Jec2.java:1284) com.atlassian.aws.AWSAccountImpl.validate(AWSAccountImpl.java:69) ... 151 more {noformat} This bug was actually found on Studio 2.1 which is running Bamboo 2.5-m5 (long story).2
161BAM-5431REST API missing / in url for build log artifact Problem is only with the *Build Log*, normal artifacts have the correct URL. https://bamboo.community.atlassian.com/rest/api/latest/build/CONFTRIGGER-TRUNK?expand=builds[0].build.artifacts Note missing / before *download*: {code:xml} <artifact> <name>Build log</name> <link rel="self" href="http://bamboo.community.atlassian.comdownload/CONFTRIGGER-TRUNK/buildSummary_logs/CONFTRIGGER-TRUNK-1553.log"/> </artifact> {code}2
162BAM-5433Elastic Images for Windows 2003 with IE7 and IE8 for SeleniumIt would be excellent to have EC2 Images with IE7 and IE8 for Selenium testing. A few concerns: * Build system changes * Security on the Windows hosts ** Need some way to RDP to the host without the ec2 images having the same user/pass * Windows 2003 Server security needs to be tuned to Windows XP level (Selenium will break if the Security Zones are not configured correctly) * Windows software updates * Should we install Firefox 2/3 and Google Chrome?5
163BAM-5442Expire build logsNULL3
164BAM-5456CAPABILITY and NOTIFICATIONS table access with Empty values causes (Oracle) Deadlock in larger instancesFrequent deadlocks are reported by (Oracle) DB when accessing the capability table. Databases wait to actually write (flush) data until someone wants to read it. The hibernate session is being flushed and for some reason the capability object is marked as dirty. Hibernate issues an update to persist the capability. Not usually a big deal but with a large number of plans and the fact that this is invoked from an event, we could have events that try to lock competing resources. 3
165BAM-5510Broken link to the dashboard on the /error/error.actionIn case there're no errors the /error/error.action contains following: {code} There are no errors accessing Bamboo at present. Return to <a href="//bamboo">dashboard</a>. {code}1
166BAM-5519Ensure all reports work with new test infrastructureReports = those on the reports page. * Some of the reports relied on the test count information being available on the buildresult * The tests report relied on the test data being indexed. Now it is not. * We should index the testsummary object Reports that use it * Test report In the build data table, it may need test summary 3
167BAM-5569'view' a plan config tab and click 'edit' - you land on a tab that you've last edited (and not the one you just viewed)annoying cookie crumble here. If I view a config tab and click edit - where do I want to land? -- exactly you got it - I want to edit the tab that I just viewed and not some random tab that I might have edited in the past. 3
168BAM-5644Upgrade task fails on MS SQL Server due to deadlockUpgrade task 1825 reports deadlock and fails. It works correctly only if run as single thread.8
169BAM-5645Deadlocks reported during change detection on MS SQL ServerObserved on installation created from J2BAC export.13
170BAM-5651Brute force protectionLogin access needs to present a captcha5
171BAM-5674invalid backup cron expression leads to NPE when trying to edit.there is no remedy other than manually editing <bamboo-home>/xml-data/configuration/administration.xml If an invalid cron expression is detected the edit screen should be accessible with the default cron expression. 1
172BAM-5675JCaptcha throwing occasional exception on OS X{noformat} 2010-04-22 12:02:26,281 ERROR [1173503085@qtp-1259610518-2] [FiveOhOh:46] 500 Exception was thrown. com.octo.captcha.CaptchaException: word is too tall: try to use less letters, smaller font or bigger background: text bounds = {text=stoden java.awt.geom.Rectangle2D$Float[x=0.0,y=-32.871094,w=19.22461,h=40.04297] ascent=32.871094 descent=7.171875 leading=0.0 java.awt.geom.Rectangle2D$Float[x=39.22461,y=-29.357,w=7.9051514,h=38.409] ascent=29.357 descent=9.052 leading=0.0 java.awt.geom.Rectangle2D$Float[x=67.12976,y=-21.811523,w=15.0,h=30.703125] ascent=21.811523 descent=8.891602 leading=0.0 java.awt.geom.Rectangle2D$Float[x=102.12976,y=-25.410645,w=20.157715,h=33.0] ascent=25.410645 descent=7.5893555 leading=0.0 java.awt.geom.Rectangle2D$Float[x=142.28748,y=-60.0,w=16.399902,h=108.08] ascent=60.0 descent=48.08 leading=0.0 java.awt.geom.Rectangle2D$Float[x=178.68738,y=-60.0,w=20.879883,h=108.08] ascent=60.0 descent=48.08 leading=0.0 } with fonts {java.awt.Font[family=PMingLiU,name=PMingLiU,style=plain,size=32] java.awt.Font[family=Dialog,name=BrushScriptMT,style=bold,size=34] java.awt.Font[family=Bodoni SvtyTwo OS ITC TT,name=BodoniSvtyTwoOSITCTT-BookIt,style=italic,size=31] java.awt.Font[family=New Peninim MT,name=NewPeninimMT-Bold,style=bolditalic,size=30] java.awt.Font[family=Helvetica,name=Helvetica-Bold,style=bolditalic,size=33] java.awt.Font[family=Zapfino,name=Zapfino,style=bolditalic,size=32] } versus image width = 200, height = 100 com.octo.captcha.image.gimpy.GimpyFactory.getImageCaptcha(GimpyFactory.java:79) com.octo.captcha.engine.image.ListImageCaptchaEngine.getNextImageCaptcha(ListImageCaptchaEngine.java:128) com.octo.captcha.engine.image.ImageCaptchaEngine.getNextCaptcha(ImageCaptchaEngine.java:52) com.octo.captcha.service.AbstractCaptchaService.generateAndStoreCaptcha(AbstractCaptchaService.java:148) com.octo.captcha.service.AbstractManageableCaptchaService.generateCountTimeStampAndStoreCaptcha(AbstractManageableCaptchaService.java:340) com.octo.captcha.service.AbstractManageableCaptchaService.generateAndStoreCaptcha(AbstractManageableCaptchaService.java:329) com.octo.captcha.service.AbstractCaptchaService.getChallengeForID(AbstractCaptchaService.java:74) com.octo.captcha.service.image.AbstractManageableImageCaptchaService.getImageChallengeForID(AbstractManageableImageCaptchaService.java:62) com.atlassian.bamboo.servlet.BambooCaptchaServlet.doGet(BambooCaptchaServlet.java:38) {noformat} http://jcaptcha.octo.com/jira/browse/FWK-581
173BAM-5701Column AUTHOR_NAME in AUTHOR table should be uniqueNULL3
174BAM-5713Link is escaped on Elastic Bamboo Configuration scrrensee screenshot (link to the enable remote agents page inside the error box is escaped)1
175BAM-5778After installing Bamboo (on Windows), Bamboo automatically detects and assigns the JRE executables of a JDK installation rather than the JDK executables.When you install a JDK on windows, it usually installs a JDK and JRE component to the following paths: * {{C:\Java\jdk1.6.0_10}} * {{C:\Java\jre6}} When Bamboo automatically detects the presence of local JDKs (after having installed a JDK and Bamboo on Windows), Bamboo appears to assign these locally detected JDKs the path to the JRE executables of the JDK installation (for example, {{C:\Java\jre6}}), rather than the path to the JDK executables instead (i.e. {{C:\Java\jdk1.6.0_10}}). I'm not sure if this happens on other operating systems. 1
176BAM-5833Labmanager should remove agents properlyFrom https://studio.atlassian.com/browse/LABMAN-265
177BAM-5860Incorrect state shown on remote agent pageAfter a remote agent is stopped the state shown in the page cycles between Disabled (correct) and "will be disabled when the build finishes" (incorrect as agent process is long dead) 1
178BAM-5862Support MSSQL with Unicode[Confluence supports MSSQL Unicode|http://confluence.atlassian.com/display/DOC/Known+Issues+For+SQL+Server#KnownIssuesForSQLServer-UnicodeCharactersNotSupportedByDefault] Bamboo should do as well. Include net/sf/hibernate/dialect/SQLServerIntlDialect.java (we can steal it from confluence) I have verified that it works. 3
179BAM-5870SaveBuildTask & LocalBuildProcessor should be run as a single tranasactional callSaveBuildTask needs some refactoring: 1. It should not be a task, instead, it should be a service. 2. At least database access for BRS and test classes should be made in a single transaction. 3. Consider moving updateBuildSummaryFromBuildResults from BRSManager to the newly created service.5
180BAM-5943Elastic bamboo agent (bamboo-agent-home) uses small 10G root partition of elastic instance.the elastic agent home is located in the small (10G) root partition of the el instance. the rest of the disk space is available on /mnt which is not used at all!!! bamboo-agent-home should be linked to use /mnt/bamboo/bamboo-agent-home for bamboo data /home/bamboo _could_ be linked to /mnt/bamboo/. for agent logs etc. but this is not urgent, This issue occurs if no ebs volumes are used. 1
181BAM-6010Create reusable progress bar componentNULL3
182BAM-6017Hibernate Exception when hitting dashboard2010-06-10 11:08:45,082 ERROR [304703545@qtp-46675819-10] [LazyInitializer] Exception initializing proxy net.sf.hibernate.HibernateException: Could not initialize proxy - the owning Session was closed net.sf.hibernate.proxy.LazyInitializer.initialize(LazyInitializer.java:47) net.sf.hibernate.proxy.LazyInitializer.initializeWrapExceptions(LazyInitializer.java:60) net.sf.hibernate.proxy.LazyInitializer.getImplementation(LazyInitializer.java:164) net.sf.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:108) com.atlassian.bamboo.project.DefaultProject$$EnhancerByCGLIB$$ed17e412.getKey(<generated>) com.atlassian.bamboo.project.ProjectStatusHelperImpl.<init>(ProjectStatusHelperImpl.java:39) com.atlassian.bamboo.webwork.StarterAction.getProjectStatusHelper(StarterAction.java:146) sun.reflect.GeneratedMethodAccessor358.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:778) ognl.OgnlRuntime.getMethodValue(OgnlRuntime.java:1297) ognl.ObjectPropertyAccessor.getPossibleProperty(ObjectPropertyAccessor.java:60) ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:147) com.opensymphony.xwork.util.OgnlValueStack$ObjectAccessor.getProperty(OgnlValueStack.java:57) ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1940) com.opensymphony.xwork.util.CompoundRootAccessor.getProperty(CompoundRootAccessor.java:334) ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1940) ognl.ASTProperty.getValueBody(ASTProperty.java:114) ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212) ognl.SimpleNode.getValue(SimpleNode.java:258) ognl.Ognl.getValue(Ognl.java:494) ognl.Ognl.getValue(Ognl.java:458) com.opensymphony.xwork.util.OgnlUtil.getValue(OgnlUtil.java:287) com.opensymphony.xwork.util.OgnlValueStack.findValue(OgnlValueStack.java:224) com.opensymphony.webwork.views.freemarker.ScopesHashModel.get(ScopesHashModel.java:51) freemarker.core.Environment.getGlobalVariable(Environment.java:1063) freemarker.core.Environment.getVariable(Environment.java:1049) freemarker.core.Identifier._getAsTemplateModel(Identifier.java:70) freemarker.core.Expression.getAsTemplateModel(Expression.java:89) freemarker.core.Dot._getAsTemplateModel(Dot.java:74) freemarker.core.Expression.getAsTemplateModel(Expression.java:89) freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:86) freemarker.core.Expression.getAsTemplateModel(Expression.java:89) freemarker.core.Expression.getStringValue(Expression.java:93) freemarker.core.DollarVariable.accept(DollarVariable.java:76) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.MixedContent.accept(MixedContent.java:92) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.IfBlock.accept(IfBlock.java:82) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.MixedContent.accept(MixedContent.java:92) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.IfBlock.accept(IfBlock.java:82) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.MixedContent.accept(MixedContent.java:92) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167) freemarker.core.Environment.visit(Environment.java:417) freemarker.core.IteratorBlock.accept(IteratorBlock.java:102) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.MixedContent.accept(MixedContent.java:92) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.Macro$Context.runMacro(Macro.java:172) freemarker.core.Environment.visit(Environment.java:603) freemarker.core.UnifiedCall.accept(UnifiedCall.java:106) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.MixedContent.accept(MixedContent.java:92) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.Environment.process(Environment.java:190) freemarker.template.Template.process(Template.java:237) com.opensymphony.webwork.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:214) com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:143) com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:313) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:208) com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175) com.atlassian.bamboo.ww2.interceptors.BambooWorkflowInterceptor.doIntercept(BambooWorkflowInterceptor.java:33) com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:116) com.atlassian.bamboo.ww2.interceptors.BambooValidationInterceptor.doIntercept(BambooValidationInterceptor.java:33) com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.JSONValidationInterceptor.intercept(JSONValidationInterceptor.java:78) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:174) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptor.intercept(WebworkSecurityInterceptor.java:55) com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptorProxy.intercept(WebworkSecurityInterceptorProxy.java:30) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.PaginationAwareInterceptor.intercept(PaginationAwareInterceptor.java:84) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.StatisticsAwareInterceptor.intercept(StatisticsAwareInterceptor.java:41) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.ResultsListAwareInterceptor.intercept(ResultsListAwareInterceptor.java:49) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.BuildResultsSummaryAwareInteceptor.intercept(BuildResultsSummaryAwareInteceptor.java:66) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.ChainAwareInterceptor.intercept(ChainAwareInterceptor.java:93) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.BuildAwareInterceptor.intercept(BuildAwareInterceptor.java:46) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.PlanAwareInterceptor.intercept(PlanAwareInterceptor.java:53) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116) com.opensymphony.webwork.components.ActionComponent.executeAction(ActionComponent.java:229) com.opensymphony.webwork.components.ActionComponent.end(ActionComponent.java:127) com.opensymphony.webwork.views.freemarker.tags.CallbackWriter.afterBody(CallbackWriter.java:65) freemarker.core.Environment.visit(Environment.java:301) freemarker.core.UnifiedCall.accept(UnifiedCall.java:130) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.MixedContent.accept(MixedContent.java:92) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.Environment.process(Environment.java:190) freemarker.template.Template.process(Template.java:237) com.opensymphony.webwork.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:214) com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:143) com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:313) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:208) com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175) com.atlassian.bamboo.ww2.interceptors.BambooWorkflowInterceptor.doIntercept(BambooWorkflowInterceptor.java:33) com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:116) com.atlassian.bamboo.ww2.interceptors.BambooValidationInterceptor.doIntercept(BambooValidationInterceptor.java:33) com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.JSONValidationInterceptor.intercept(JSONValidationInterceptor.java:78) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:174) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptor.intercept(WebworkSecurityInterceptor.java:55) com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptorProxy.intercept(WebworkSecurityInterceptorProxy.java:30) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.PaginationAwareInterceptor.intercept(PaginationAwareInterceptor.java:84) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.StatisticsAwareInterceptor.intercept(StatisticsAwareInterceptor.java:41) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.ResultsListAwareInterceptor.intercept(ResultsListAwareInterceptor.java:49) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.BuildResultsSummaryAwareInteceptor.intercept(BuildResultsSummaryAwareInteceptor.java:66) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.ChainAwareInterceptor.intercept(ChainAwareInterceptor.java:93) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.BuildAwareInterceptor.intercept(BuildAwareInterceptor.java:46) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.PlanAwareInterceptor.intercept(PlanAwareInterceptor.java:53) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116) com.opensymphony.webwork.components.ActionComponent.executeAction(ActionComponent.java:229) com.opensymphony.webwork.components.ActionComponent.end(ActionComponent.java:127) com.opensymphony.webwork.views.freemarker.tags.CallbackWriter.afterBody(CallbackWriter.java:65) freemarker.core.Environment.visit(Environment.java:301) freemarker.core.UnifiedCall.accept(UnifiedCall.java:130) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.IfBlock.accept(IfBlock.java:82) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.MixedContent.accept(MixedContent.java:92) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.IfBlock.accept(IfBlock.java:82) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.IfBlock.accept(IfBlock.java:82) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.MixedContent.accept(MixedContent.java:92) freemarker.core.Environment.visit(Environment.java:210) freemarker.core.Environment.process(Environment.java:190) freemarker.template.Template.process(Template.java:237) com.opensymphony.webwork.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:214) com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:143) com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:313) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:208) com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175) com.atlassian.bamboo.ww2.interceptors.BambooWorkflowInterceptor.doIntercept(BambooWorkflowInterceptor.java:33) com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:116) com.atlassian.bamboo.ww2.interceptors.BambooValidationInterceptor.doIntercept(BambooValidationInterceptor.java:33) com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.atlassian.bamboo.ww2.interceptors.JSONValidationInterceptor.intercept(JSONValidationInterceptor.java:78) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:174) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) com.opensymphony.xwork.DefaultActionI...3
183BAM-6018Implicit 'Build Requirements' from 'Builders' are not removed when changing 'Builders', causes builds to not executeWhen creating/copying a plan, there are implicit build requirements derived from the selected builder. These requirements can not be managed by the user, but are added and deleted on their behalf by Bamboo when selecting a builder. In 2.6 build 1901 - 27 May 10, when one changed the builder for a plan; the old builder requirement is not removed from the plan: !Build Requirements.png! This causes the build to no be able to schedule on desired agents, leaving it in the build queue. Once saved, the requirements can not be removed; cloning the build plan doesn't work around this issue. This will only affect plans that change builders.2
184BAM-6038Label of test cases are incorrectNULL2
185BAM-6087Fail producer job if required chain artifacts do not get produced https://extranet.atlassian.com/display/BAMBOO/Copy+in+place+artifact+subscriptions2
186BAM-6119"Block build if parent plans have unbuilt changes" doesn't block when parent builds are queuedI have multiple component builds set up in bamboo, with the actual dependencies indicated in the build dependencies for those builds. Set with a blocking strategy of "Block build if parent plans have unbuilt changes" - but I don't think this affects the issue. Because of the graph of dependencies, and the current methodology of triggering builds in bamboo, the components at the end of the dependency tree can get build multiple times for the same root reason/submission. Consider the builds: || Build || Parent Plans || | parent | | | child-A | parent | | grandchild-B | parent \\ child-A | If a change is submitted to parent source, then on a successful build, both child-A and grandchild-B builds are queued. Once child-A successfully builds, grandchild-B is queued. Grandchild-b gets built twice (with non-deterministic results on the first build since it uses the current parent results and the previous child-A results).2
187BAM-6122phpunit --log-xml option deprecated in phpunit 3.4.3+When configuring the PhpUnit Builder, under the option: "Log test execution to XML file Relative path to file where PHPUnit will store log test execution in XML format (option --log-xml)." fails in PhpUnit 3.4.3+ since --log-xml is now deprecated option in PhpUnit. Message: The --log-xml option is deprecated, please use --log-junit instead Therefore the only way to successfully build with PhpUnit 3.4.3+ is to have "Log test execution to XML file" disabled.2
188BAM-6133custom.svn.lastchange.revision.number is omitted in build result metadata when reprository advanced option 'quiet period' is enabledreproduce: enable quiet period in plan (advanced repository options) trigger build via commit or manual.1
189BAM-6140PHPUnit builder fails by default on WindowsI installed Babmoo 2.6.1. It found PHPUnit and added PHPUnit builder correctly without any user action. However when I created and started a plan using the PHPUnit builder it fails with following error: {code} Failed to execute build: Cannot run program "C:\Program Files (x86)\PHP\phpunit" (in directory "C:\Users\Jacek Jaroczynski\bamboo-home\xml-data\build-dir\TEST-TEST"): CreateProcess error=193, %1 is not a valid Win32 application {code} The solution was to explicitly configure PHPUnit builder to point at *phpunit.bat* instead of *phpunit*1
190BAM-6144Amazon EC2 commands do not timeout {noformat} QuartzScheduler_Worker-2 [RUNNABLE, IN_NATIVE] CPU time: 0:12 java.net.SocketInputStream.read(byte[], int, int) com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputStream, byte[], int, int) com.sun.net.ssl.internal.ssl.InputRecord.readV3Record(InputStream, OutputStream) com.sun.net.ssl.internal.ssl.InputRecord.read(InputStream, OutputStream) com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(InputRecord, boolean) com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(InputRecord) com.sun.net.ssl.internal.ssl.AppInputStream.read(byte[], int, int) org.apache.commons.httpclient.HttpClient.executeMethod(HttpMethod) com.xerox.amazonws.common.AWSQueryConnection.makeRequest(HttpMethodBase, String, Map, Class) com.xerox.amazonws.ec2.Jec2.makeRequestInt(HttpMethodBase, String, Map, Class) com.xerox.amazonws.ec2.Jec2.describeSecurityGroups(List) com.atlassian.aws.AWSAccountImpl.getEC2SecurityGroups() com.atlassian.bamboo.agent.elastic.server.ElasticFunctionalityFacadeImpl.ensureSecurityGroupExists(AWSAccount) com.atlassian.bamboo.agent.elastic.server.ElasticFunctionalityFacadeImpl.startupAgents(Collection) com.atlassian.bamboo.agent.elastic.schedule.ElasticInstancesMonitorJob.execute(JobExecutionContext) org.quartz.core.JobRunShell.run() com.atlassian.bamboo.quartz.SystemAuthorizedThreadPool$1.run() org.quartz.simpl.SimpleThreadPool$WorkerThread.run() {noformat} this can lead to some fairly serious thread starvation issues like http://skitch.com/markchai/dknaw/bootstrap-yourkit-java-profiler-8.0.243
191BAM-6215Maven Import doesn't work if the Maven builder isn't labelled 'Maven 2'Bamboo doesn't seem to pick up the Maven builder if its using a non-default label, it complains about {{Bamboo is currently not configured to build Maven 2 projects. Proceed to builder configuration before importing Maven plan. }} 2
192BAM-6216Cannot import Maven POM from repositories requiring authenticationWhen I try to import a Maven POM from my CVS repository I get the error "Cannot connect to CVS root: Wrong Password." (see attachment) However the password specified is exactly the same than the one I specify in another plan to retrieve files from my CVS, and in this case it can connect succesfully to the CVS server. Furthermore the error generates the following stacktrace in bamboo.log : INFO | jvm 1 | 2010/07/09 15:13:11 | 2010-07-09 15:13:11,079 INFO [1619340@qtp-6161922-7] [AccessLogFilter] system http://vbsbuiltin.ivb.victor-buck.com:8085/admin/importMavenPlanExecutePomCheckout.action 136127kb INFO | jvm 1 | 2010/07/09 15:13:11 | 2010-07-09 15:13:11,094 INFO [1619340@qtp-6161922-7] [PlanAwareInterceptor] /admin/importMavenPlanExecutePomCheckout.action INFO | jvm 1 | 2010/07/09 15:13:11 | 2010-07-09 15:13:11,735 ERROR [1619340@qtp-6161922-7] [runtime] Expression repository.p4Executable is undefined on line 4, column 26 in templates/plugins/repository/p4RepositoryMavenPomCheckoutAccessEdit.ftl. INFO | jvm 1 | 2010/07/09 15:13:11 | INFO | jvm 1 | 2010/07/09 15:13:11 | Expression repository.p4Executable is undefined on line 4, column 26 in templates/plugins/repository/p4RepositoryMavenPomCheckoutAccessEdit.ftl. INFO | jvm 1 | 2010/07/09 15:13:11 | The problematic instruction: INFO | jvm 1 | 2010/07/09 15:13:11 | ---------- INFO | jvm 1 | 2010/07/09 15:13:11 | ==> ${repository.p4Executable} [on line 4, column 24 in templates/plugins/repository/p4RepositoryMavenPomCheckoutAccessEdit.ftl] INFO | jvm 1 | 2010/07/09 15:13:11 | in user-directive ww.param [on line 4, column 13 in templates/plugins/repository/p4RepositoryMavenPomCheckoutAccessEdit.ftl] INFO | jvm 1 | 2010/07/09 15:13:11 | in user-directive ww.text [on line 3, column 9 in templates/plugins/repository/p4RepositoryMavenPomCheckoutAccessEdit.ftl] INFO | jvm 1 | 2010/07/09 15:13:11 | ---------- INFO | jvm 1 | 2010/07/09 15:13:11 | INFO | jvm 1 | 2010/07/09 15:13:11 | Java backtrace for programmers: INFO | jvm 1 | 2010/07/09 15:13:11 | ---------- INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.InvalidReferenceException: Expression repository.p4Executable is undefined on line 4, column 26 in templates/plugins/repository/p4RepositoryMavenPomCheckoutAccessEdit.ftl. INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Expression.getStringValue(Expression.java:118) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Expression.getStringValue(Expression.java:93) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.DollarVariable.accept(DollarVariable.java:76) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:299) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.UnifiedCall.accept(UnifiedCall.java:130) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.MixedContent.accept(MixedContent.java:92) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:299) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.UnifiedCall.accept(UnifiedCall.java:130) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.MixedContent.accept(MixedContent.java:92) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.IfBlock.accept(IfBlock.java:82) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.MixedContent.accept(MixedContent.java:92) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.process(Environment.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.template.Template.process(Template.java:237) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.ww2.BambooFreemarkerManager.renderPage(BambooFreemarkerManager.java:310) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.ww2.BambooFreemarkerManager.renderPage(BambooFreemarkerManager.java:250) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.ww2.BambooFreemarkerManager.render(BambooFreemarkerManager.java:319) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.repository.MavenPomAccessorAbstract.getMavenPomCheckoutAccessEditHtml(MavenPomAccessorAbstract.java:36) INFO | jvm 1 | 2010/07/09 15:13:11 | sun.reflect.GeneratedMethodAccessor612.invoke(Unknown Source) INFO | jvm 1 | 2010/07/09 15:13:11 | sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) INFO | jvm 1 | 2010/07/09 15:13:11 | java.lang.reflect.Method.invoke(Unknown Source) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:841) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:106) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:93) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Expression.getAsTemplateModel(Expression.java:89) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.DefaultToExpression._getAsTemplateModel(DefaultToExpression.java:100) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Expression.getAsTemplateModel(Expression.java:89) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Expression.getStringValue(Expression.java:93) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.DollarVariable.accept(DollarVariable.java:76) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.MixedContent.accept(MixedContent.java:92) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:395) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.BodyInstruction.accept(BodyInstruction.java:93) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.MixedContent.accept(MixedContent.java:92) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Macro$Context.runMacro(Macro.java:172) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:603) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.UnifiedCall.accept(UnifiedCall.java:106) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:417) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.IteratorBlock.accept(IteratorBlock.java:102) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.MixedContent.accept(MixedContent.java:92) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:299) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.UnifiedCall.accept(UnifiedCall.java:130) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.MixedContent.accept(MixedContent.java:92) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.IfBlock.accept(IfBlock.java:82) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.MixedContent.accept(MixedContent.java:92) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.visit(Environment.java:210) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.core.Environment.process(Environment.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | freemarker.template.Template.process(Template.java:237) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.webwork.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:214) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.webwork.dispatcher.WebWorkResultSupport.execute(WebWorkResultSupport.java:143) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:313) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:208) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:116) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.ww2.interceptors.BambooValidationInterceptor.doIntercept(BambooValidationInterceptor.java:33) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.ww2.interceptors.JSONValidationInterceptor.intercept(JSONValidationInterceptor.java:78) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:174) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.ww2.interceptors.GlobalAdminInterceptor.intercept(GlobalAdminInterceptor.java:21) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptor.intercept(WebworkSecurityInterceptor.java:55) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptorProxy.intercept(WebworkSecurityInterceptorProxy.java:30) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.ww2.interceptors.PaginationAwareInterceptor.intercept(PaginationAwareInterceptor.java:84) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.ww2.interceptors.StatisticsAwareInterceptor.intercept(StatisticsAwareInterceptor.java:41) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.ww2.interceptors.ResultsListAwareInterceptor.intercept(ResultsListAwareInterceptor.java:49) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.ww2.interceptors.BuildResultsSummaryAwareInteceptor.intercept(BuildResultsSummaryAwareInteceptor.java:66) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.ww2.interceptors.ChainAwareInterceptor.intercept(ChainAwareInterceptor.java:93) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.ww2.interceptors.BuildAwareInterceptor.intercept(BuildAwareInterceptor.java:46) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.ww2.interceptors.PlanAwareInterceptor.intercept(PlanAwareInterceptor.java:53) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.ww2.interceptors.BuildConfigurationInterceptor.intercept(BuildConfigurationInterceptor.java:54) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:274) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202) INFO | jvm 1 | 2010/07/09 15:13:11 | org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) INFO | jvm 1 | 2010/07/09 15:13:11 | org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) INFO | jvm 1 | 2010/07/09 15:13:11 | org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) INFO | jvm 1 | 2010/07/09 15:13:11 | com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88) INFO | jvm 1 | 2010/07/09 15:13:11 | org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) INFO | jvm 1 | 2010/07/09 15:13:11 | org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) INFO | jvm 1 | 2010/07/09 15:13:11 | com.atlassian.bamboo.filter.AccessLogFilter.doFilter(AccessLogFilter.java:66) INFO | jvm 1 | 2010/07/09 15:13:11 | org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) INFO | jvm 1 | 2010/07/09 15:13:11 | ...1
193BAM-6226Activity Stream atom feed throws NPE{noformat} 2010-07-12 11:58:12,434 ERROR [http-8085-22] [BambooFreemarkerManager] Error resolving template java.lang.NullPointerException org.apache.catalina.connector.Request.setAttribute(Request.java:1424) org.apache.catalina.connector.RequestFacade.setAttribute(RequestFacade.java:503) org.apache.catalina.core.ApplicationHttpRequest.setAttribute(ApplicationHttpRequest.java:279) javax.servlet.ServletRequestWrapper.setAttribute(ServletRequestWrapper.java:284) com.opensymphony.webwork.views.freemarker.FreemarkerManager.buildScopesHashModel(FreemarkerManager.java:192) com.opensymphony.webwork.views.freemarker.FreemarkerManager.buildTemplateModel(FreemarkerManager.java:324) com.atlassian.bamboo.ww2.BambooFreemarkerManager.renderPage(BambooFreemarkerManager.java:324) com.atlassian.bamboo.ww2.BambooFreemarkerManager.renderPage(BambooFreemarkerManager.java:274) com.atlassian.bamboo.ww2.BambooFreemarkerManager.render(BambooFreemarkerManager.java:340) com.atlassian.bamboo.v2.build.trigger.DefaultTriggerReasonRenderer.getShortDescriptionHtml(DefaultTriggerReasonRenderer.java:40) com.atlassian.bamboo.resultsummary.AbstractResultsSummary.getReasonSummary(AbstractResultsSummary.java:175) com.atlassian.streams.bamboo.BuildToSyndTransformer.buildDescriptionHtml(BuildToSyndTransformer.java:127) com.atlassian.streams.bamboo.BuildToSyndTransformer.apply(BuildToSyndTransformer.java:67) com.atlassian.streams.bamboo.BuildToSyndTransformer.apply(BuildToSyndTransformer.java:24) com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:431) com.sun.syndication.feed.synd.impl.ConverterForAtom10.createAtomEntries(ConverterForAtom10.java:416) com.sun.syndication.feed.synd.impl.ConverterForAtom10.createRealFeed(ConverterForAtom10.java:397) com.sun.syndication.feed.synd.SyndFeedImpl.createWireFeed(SyndFeedImpl.java:207) com.sun.syndication.feed.synd.SyndFeedImpl.createWireFeed(SyndFeedImpl.java:189) com.sun.syndication.io.SyndFeedOutput.outputString(SyndFeedOutput.java:61) com.atlassian.streams.servlet.StreamsActivityServlet.doGet(StreamsActivityServlet.java:167) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) com.atlassian.plugin.servlet.DelegatingPluginServlet.service(DelegatingPluginServlet.java:42) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) com.atlassian.plugin.servlet.ServletModuleContainerServlet.service(ServletModuleContainerServlet.java:52) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.bamboo.filter.AccessLogFilter.doFilter(AccessLogFilter.java:66) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) com.atlassian.bamboo.filter.SeraphLoginFilter.doFilter(SeraphLoginFilter.java:66) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) com.atlassian.bamboo.filter.BambooAcegiProxyFilter.doFilter(BambooAcegiProxyFilter.java:25) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.bamboo.filter.LicenseFilter.doFilter(LicenseFilter.java:73) com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:72) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:219) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:140) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:69) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170) com.atlassian.bamboo.persistence.BambooSessionInViewFilter.doFilterInternal(BambooSessionInViewFilter.java:31) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) java.lang.Thread.run(Thread.java:637) 2010-07-12 11:58:12,439 INFO [BAM::Events:pool-1-thread-35] [DependencyBuildListener] Finished checking children plans of 'Bamboo Plugins - Pre and Post Build Command Plugin' for build BPLUG-BPBC-247 2010-07-12 11:58:12,468 ERROR [http-8085-22] [BambooFreemarkerManager] Error resolving template java.lang.NullPointerException org.apache.catalina.connector.Request.setAttribute(Request.java:1424) org.apache.catalina.connector.RequestFacade.setAttribute(RequestFacade.java:503) org.apache.catalina.core.ApplicationHttpRequest.setAttribute(ApplicationHttpRequest.java:279) javax.servlet.ServletRequestWrapper.setAttribute(ServletRequestWrapper.java:284) com.opensymphony.webwork.views.freemarker.FreemarkerManager.buildScopesHashModel(FreemarkerManager.java:202) com.opensymphony.webwork.views.freemarker.FreemarkerManager.buildTemplateModel(FreemarkerManager.java:324) com.atlassian.bamboo.ww2.BambooFreemarkerManager.renderPage(BambooFreemarkerManager.java:324) com.atlassian.bamboo.ww2.BambooFreemarkerManager.renderPage(BambooFreemarkerManager.java:274) com.atlassian.bamboo.ww2.BambooFreemarkerManager.render(BambooFreemarkerManager.java:340) com.atlassian.bamboo.v2.build.trigger.DefaultTriggerReasonRenderer.getShortDescriptionHtml(DefaultTriggerReasonRenderer.java:40) com.atlassian.bamboo.resultsummary.AbstractResultsSummary.getReasonSummary(AbstractResultsSummary.java:175) com.atlassian.streams.bamboo.BuildToSyndTransformer.buildDescriptionHtml(BuildToSyndTransformer.java:127) com.atlassian.streams.bamboo.BuildToSyndTransformer.apply(BuildToSyndTransformer.java:67) com.atlassian.streams.bamboo.BuildToSyndTransformer.apply(BuildToSyndTransformer.java:24) com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:431) com.sun.syndication.feed.synd.impl.ConverterForAtom10.createAtomEntries(ConverterForAtom10.java:416) com.sun.syndication.feed.synd.impl.ConverterForAtom10.createRealFeed(ConverterForAtom10.java:397) com.sun.syndication.feed.synd.SyndFeedImpl.createWireFeed(SyndFeedImpl.java:207) com.sun.syndication.feed.synd.SyndFeedImpl.createWireFeed(SyndFeedImpl.java:189) com.sun.syndication.io.SyndFeedOutput.outputString(SyndFeedOutput.java:61) com.atlassian.streams.servlet.StreamsActivityServlet.doGet(StreamsActivityServlet.java:167) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) com.atlassian.plugin.servlet.DelegatingPluginServlet.service(DelegatingPluginServlet.java:42) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) com.atlassian.plugin.servlet.ServletModuleContainerServlet.service(ServletModuleContainerServlet.java:52) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.bamboo.filter.AccessLogFilter.doFilter(AccessLogFilter.java:66) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) com.atlassian.bamboo.filter.SeraphLoginFilter.doFilter(SeraphLoginFilter.java:66) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) com.atlassian.bamboo.filter.BambooAcegiProxyFilter.doFilter(BambooAcegiProxyFilter.java:25) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.bamboo.filter.LicenseFilter.doFilter(LicenseFilter.java:73) com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:72) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:219) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:140) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:69) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170) com.atlassian.bamboo.persistence.BambooSessionInViewFilter.doFilterInternal(BambooSessionInViewFilter.java:31) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) java.lang.Thread.run(Thread.java:637) {noformat}3
194BAM-6247Scheduled backups are written to Bamboo Installation directoryBamboo writes scheduled backups to the Bamboo-Install directory (or the location it was started from) instead of <Bamboo-Home>/export directory.1
195BAM-6251Allow admins to shutdown instances that are not connected to bambooThere were some reports that bamboo leaves 'orphaned' elastic instances and detached ebs volumes. Add functionality to allow admins to view/shutdown instances that are not currently connected to bamboo.2
196BAM-6259User can set up chain completed notificationNULL3
197BAM-6260User can set up chain failed + 1st success notificationNULL2
198BAM-6261Ensure notifications aren't run / throw exceptions for SubPlanNULL2
199BAM-6262Drag and drop for moving SubPlan between stagesNULL2
200BAM-6293Live Job Result Summary REST does not lookup BuildableThis causes the page to be devoid of useful content.2
201BAM-6313Test for SASL support with bundled svnkitThe version of svnkit we bundle with bamboo doesn't have SASL support: {noformat}[amyers@erdinger:svnkit]$ jar tf svnkit-1.3.0.5847.jar | grep Sasl [amyers@erdinger:svnkit]$ {noformat} If I download it from the website it does (this is a newer version, but apparently older ones have it too): {noformat} [amyers@erdinger:svnkit-1.3.2.6267]$ jar tf svnkit.jar | grep Sasl org/tmatesoft/svn/core/internal/io/svn/sasl/SVNSaslAuthenticator$SVNCallbackHandler.class org/tmatesoft/svn/core/internal/io/svn/sasl/SVNSaslAuthenticator.class org/tmatesoft/svn/core/internal/io/svn/sasl/SaslInputStream.class org/tmatesoft/svn/core/internal/io/svn/sasl/SaslOutputStream.class [amyers@erdinger:svnkit-1.3.2.6267]$ {noformat} Is there any technical reason we don't bundle the support for SASL authentication? 2
202BAM-6358Ability to Stop a JobNULL2
203BAM-6497User can clone another chain's job configurationNULL3
204BAM-6498Hide configuration tabs of JobNULL1
205BAM-6500Chain configuration should use static tabsNULL3
206BAM-6501Ensure dependencies work for chainsFunctional tests, validation, description, chains & plans in the same list.3
207BAM-6503New failure periods tab for ChainsNULL2
208BAM-6505Update bread crumbs to be the titleNULL2
209BAM-6506Ensure basic charts work for chainsNULL3
210BAM-6529System Variables does not work in Source repositoryWhen we try to use System envirenment variables in the Repository URL we get an error : This is not a valid Subversion Repository. We think the system property is not replaced2
211BAM-6551Servlet api 2.5 brokenNoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String when installing the JavaMelody plugin. This issue is based on the initial issue submitted at http://code.google.com/p/javamelody/issues/detail?id=37 Steps to reproduce: 1. Download the JavaMelody plugin from https://plugins.atlassian.com/plugin/details/20909 2. Copy the jar into the webapp/WEB-INF/lib folder 3. Start Bamboo (2.6.1) 4. Tail the bamboo log file The Bamboo logs show this stack trace when JavaMelody is installed in Bamboo 2.6.1: 2010-07-16 14:40:46,712 ERROR [796347291@qtp-745957924-0] [DefaultServletModuleManager] Unable to create filter com.atlassian.plugin.servlet.util.LazyLoadedReference$InitializationException: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String; at com.atlassian.plugin.servlet.util.LazyLoadedReference.get(LazyLoadedReference.java:94) at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilter(DefaultServletModuleManager.java:321) at com.atlassian.plugin.servlet.DefaultServletModuleManager.getFilters(DefaultServletModuleManager.java:188) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:53) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:378) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520) Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String; at net.bull.javamelody.Parameters.getContextPath(Parameters.java:328) at net.bull.javamelody.MonitoringFilter.init(MonitoringFilter.java:94) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.init(DelegatingPluginFilter.java:43) at com.atlassian.plugin.servlet.DefaultServletModuleManager$LazyLoadedFilterReference.create(DefaultServletModuleManager.java:371) at com.atlassian.plugin.servlet.DefaultServletModuleManager$LazyLoadedFilterReference.create(DefaultServletModuleManager.java:356) at com.atlassian.plugin.servlet.util.LazyLoadedReference$1.call(LazyLoadedReference.java:62) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at com.atlassian.plugin.servlet.util.LazyLoadedReference.get(LazyLoadedReference.java:74) My analysis: This ServletContext.getContextPath() method is called by the javamelody plugin only if the servlet api version is 2.5 or more. So the fact that the method is called in Bamboo v2.6.1 Build 1902 / jetty v6.1.15 implies that ServletContext.getMajorVersion() has returned 2 and that ServletContext.getMinorVersion() has returned 5. But the method call in the plugin throws "java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String;", even if this method is supposed to exists in the servlet api 2.5. This issue implies that in this setup (in a plugin with bamboo 2.6.1 Build 1902 and jetty v6.1.15), the servlet api 2.5 was broken somehow: the method must exists. This is probably related to the fact that there are both servlet-api-2.4.jar and servlet-api-2.5.jar in "Bamboo/webapp/WEB-INF/lib/". Workaround: The following workaround was tested with success: 1. stop the bamboo server 2. backup and delete the file "Bamboo/webapp/WEB-INF/lib/servlet-api-2.4.jar" from your bamboo setup (but keep the servlet-api-2.5.jar) 3. restart the bamboo server 4. install the javamelody plugin Thanks anyway for a great plugin architecture. PS: The JavaMelody plugin goal is to monitor JIRA, Confluence and Bamboo servers. 1
212BAM-6714Allow "Import With Maven" for "Restricted Administrators"We differentiate between System Administrators and Administrators in Studio. System Administrators are Atlassian and Contegix, Administrators may be customers. I was told that these groups roughly map to the notion of Administrators (Studio: System Administrators) and Restricted Administrators (Studio: Administrators) in Bamboo. The customer is allowed to perform certain administration tasks in Studio's Bamboo, amongst them f.e. to configure the build expiry (BuildExpiryAction). These actions define no interceptor ref and thus use the defaultStack (default-interceptor-ref, xwork.xml). The defaultStack contains as far as I can see only one interceptor for authorisation, that is the permissionCheck (com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptorProxy) interceptor which delegates to an extension of Acegi's org.acegisecurity.intercept.AbstractSecurityInterceptor, com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptor. The AbstractSecurityInterceptor is configured to check, amongst other things, if principals trying to access com.atlassian.bamboo.ww2.aware.permissions.GlobalAdminSecurityAware instances possess one of these authorities: WW_ADMIN,WW_RESTRICTED_ADMIN,GLOBAL_READ (applicationContextAcegiSecurity.xml). The administrative actions currently configured in Studio to be accessible by Restricted Administrators (Studio: Administrators) implement this interface and thus they are allowed to access the action. My current task is to allow customers to create build plans from POMs (https://studio.atlassian.com/browse/JST-2328). This action, importMavenPlan (com.atlassian.bamboo.ww2.actions.admin.ImportMavenPlanCheckoutPomAction) uses a different interceptor stack, buildConfig and globalAdminStackAlwaysValidate. Regarding permissions, as far as I can see, the WebworkSecurityInterceptor is still used due to globalAdminStackAlwaysValidate → basicAdminStackPreValidate → permissionCheck, but the principal is only checked against these authorities: WW_READ,GLOBAL_READ due to the instance being "only" a com.atlassian.bamboo.ww2.aware.permissions.GlobalReadSecurityAware (BambooActionSupport, see screenshot). The Restricted Administrators pass this test. However, a second permission check is applied in this configuration, the globalAdminStackAlwaysValidate → basicAdminStackPreValidate → globalAdmin (com.atlassian.bamboo.ww2.interceptors.GlobalAdminInterceptor). This interceptor uses the com.atlassian.bamboo.security.acegi.acls.HibernateMutableAclServiceImpl in order to check if the principal has the ADMINISTRATION permission, which he has not (RESTRICTEDADMINISTRATION instead). My request is to change the configuration for the importMavenPlan action in order to allow it to be used by Restricted Administrators. One way would be to use the default stack and implement GlobalAdminSecurityAware. I haven't checked what other implications that would have regarding the interceptor configuration. Thx for the help.1
213BAM-6747Cannot create entry in AUTHORS table when running build from Mercurial repositoryDon't forget to clean AUTHORS table to reproduce it. Sample log {noformat} 2010-09-04 13:14:49,553 ERROR [BAM::Default Agent::Agent:pool-4-thread-1] [BuildAgentControllerImpl] Unknown exception occurred on 'Default Agent'. Agent will attempt to recover its normal operation... java.lang.RuntimeException: java.lang.Exception: Could not save the build results BuildResults: RAN88534083-MAIN88534083-DEFAULT-1. Data could be in an inconsistent state. com.atlassian.bamboo.v2.build.agent.LocalBuildResultProcessor.processBuildResult(LocalBuildResultProcessor.java:146) com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:115) com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent$1.run(DefaultBuildAgent.java:102) com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:47) java.lang.Thread.run(Thread.java:595) Caused by: java.lang.Exception: Could not save the build results BuildResults: RAN88534083-MAIN88534083-DEFAULT-1. Data could be in an inconsistent state. com.atlassian.bamboo.v2.build.agent.BuildResultsSummaryPersisterImpl.saveBuild(BuildResultsSummaryPersisterImpl.java:112) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:592) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy39.saveBuild(Unknown Source) com.atlassian.bamboo.v2.build.agent.LocalBuildResultProcessor.processBuildResult(LocalBuildResultProcessor.java:141) ... 4 more Caused by: java.lang.RuntimeException: AuthorCreatorService must not be called within an existing transaction. com.atlassian.bamboo.utils.BambooValidate.notInsideTransaction(BambooValidate.java:39) com.atlassian.bamboo.author.AuthorCreatorServiceImpl.createAuthorIfMissing(AuthorCreatorServiceImpl.java:31) com.atlassian.bamboo.author.AuthorCreatorServiceImpl.createMissingAuthors(AuthorCreatorServiceImpl.java:62) com.atlassian.bamboo.v2.build.agent.BuildResultsSummaryPersisterImpl.saveBuild(BuildResultsSummaryPersisterImpl.java:76) ... 16 more {noformat}2
214BAM-6749Comment Tooltip does not show text of the comment anymore On JBACWhen you put you mouse over the comment icon you used to be able to view the content of the comment withour having to click on it to be take to the comments tab of that build. Now, this gets shortened so that you are only able to see the commenter and the comment's date. See screenshot. I am marking this bug as critical, because it's extremely annoying to browse build comments by clicking on them, as you have to wait for a page load and be taken out of the plan view, which you then will have to reload again once you finish reading the comment.1
215BAM-6755IMPORT/EXPORT of login failure info is brokenThis error occurs when importing a tardigrade export. export_tardigradeserver_2014_20100824.zip Caused by: org.springframework.orm.hibernate.HibernateSystemException: not-null property references a null or transient value: com.atlassian.bamboo.user.LoginInformationImpl.userName; nested exception is net.sf.hibernate.PropertyValueException: not-null property references a null or transient value: com.atlassian.bamboo.user.LoginInformationImpl.userName org.springframework.orm.hibernate.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:597) org.springframework.orm.hibernate.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:353) org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:375) org.springframework.orm.hibernate.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:601) com.atlassian.hibernate.HibernateObjectDao.saveRaw(HibernateObjectDao.java:148) com.atlassian.hibernate.HibernateObjectDao.save(HibernateObjectDao.java:118) com.atlassian.bamboo.user.LoginInformationHibernateDao.save(LoginInformationHibernateDao.java:49) com.atlassian.bamboo.user.LoginInformationManagerImpl.injectLoginInformation(LoginInformationManagerImpl.java:79) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy16.injectLoginInformation(Unknown Source) com.atlassian.bamboo.migration.stream.LoginInformationMapper.afterImportListItem(LoginInformationMapper.java:96) com.atlassian.bamboo.migration.stream.LoginInformationMapper.afterImportListItem(LoginInformationMapper.java:20) com.atlassian.bamboo.migration.BambooStAXListImportStrategy.importListItemXml(BambooStAXListImportStrategy.java:268) com.atlassian.bamboo.migration.BambooStAXListImportStrategy.access$100(BambooStAXListImportStrategy.java:16) com.atlassian.bamboo.migration.BambooStAXListImportStrategy$1.importListItems(BambooStAXListImportStrategy.java:36) com.atlassian.bamboo.migration.BambooStAXListImportStrategy.importListXml(BambooStAXListImportStrategy.java:234)1
216BAM-6757HG Changeset detection is totally wrongThe build https://bamboo-extranet.atlassian.com/browse/CRUCHG-BR22-3 triggered at the right time, but since https://bamboo-extranet.atlassian.com/browse/CRUCHG-BR22-2, there is only 1 change, but https://bamboo-extranet.atlassian.com/browse/CRUCHG-BR22-3/commit lists loads of changes, none of which were even on the 2.2 branch. The real diffs: {code} $ hg log -b 2.2 -r a780b00521e8e6464de1c3509f330b4c7d2ffedc:2a4ec7c3fc9db7a907bdf42601ab431615aeca48 changeset: 17456:a780b00521e8 branch: 2.2 parent: 17427:545beab760a6 user: Seb Ruiz <sruiz@atlassian.com> date: Wed Jul 07 04:31:37 2010 +0000 files: src/java/com/cenqua/fisheye/web/Watch.java description: NONE: Fix NPE when comparing invalid watches changeset: 17628:2a4ec7c3fc9d branch: 2.2 tag: tip parent: 17456:a780b00521e8 user: Matthew Watson <mwatson@atlassian.com> date: Tue Sep 07 17:05:13 2010 +1000 files: src/tests/com/cenqua/fisheye/license/LicenseTestStrings.java description: NONE: Upgrade license Keys for Tests {code} Note, the first is the commit from build 2, the second is the commit that triggered build 3. Note the builds trigger correctly only when changes are made for their branch, but the list of changes is almost always rubbish.2
217BAM-6765Inline Importer Causes Upgrade Tasks To FailWhen doing an import either via the setup wizard (or checking the checkbox to not restart bamboo from the admin section) the upgrades are run within the same thread as the action so therefore maintain the same session object (via the sessionInViewFilter thingy) for every upgrade task. This causes some nasty exceptions - the tasks assume they have a clean slate to work off. We need to make the upgrades run in a separate thread which does not have the overarching session available to it, and just make the action thread hang around waiting for the other thread to finish. I have attached an export which reproduces this problem. 3
218BAM-6785Can not delete image configuration if used in instance scheduling 2010-09-09 14:36:15,156 INFO [1921423913@qtp-1196121930-3] [LocalAgentManagerImpl] Attempting to remove build agent... 2010-09-09 14:36:15,182 WARN [1921423913@qtp-1196121930-3] [JDBCExceptionReporter] SQL Error: 0, SQLState: null 2010-09-09 14:36:15,182 ERROR [1921423913@qtp-1196121930-3] [JDBCExceptionReporter] Batch entry 0 delete from ELASTIC_IMAGE where ELASTIC_IMAGE_ID=131075 was aborted. Call getNextException to see the cause. 2010-09-09 14:36:15,182 WARN [1921423913@qtp-1196121930-3] [JDBCExceptionReporter] SQL Error: 0, SQLState: 23503 2010-09-09 14:36:15,182 ERROR [1921423913@qtp-1196121930-3] [JDBCExceptionReporter] ERROR: update or delete on table "elastic_image" violates foreign key constraint "fk1c6b30e1581fb731" on table "elastic_schedule" Detail: Key (elastic_image_id)=(131075) is still referenced from table "elastic_schedule". 2010-09-09 14:36:15,184 WARN [1921423913@qtp-1196121930-3] [JDBCExceptionReporter] SQL Error: 0, SQLState: null 2010-09-09 14:36:15,184 ERROR [1921423913@qtp-1196121930-3] [JDBCExceptionReporter] Batch entry 0 delete from ELASTIC_IMAGE where ELASTIC_IMAGE_ID=131075 was aborted. Call getNextException to see the cause. 2010-09-09 14:36:15,184 WARN [1921423913@qtp-1196121930-3] [JDBCExceptionReporter] SQL Error: 0, SQLState: 23503 2010-09-09 14:36:15,184 ERROR [1921423913@qtp-1196121930-3] [JDBCExceptionReporter] ERROR: update or delete on table "elastic_image" violates foreign key constraint "fk1c6b30e1581fb731" on table "elastic_schedule" Detail: Key (elastic_image_id)=(131075) is still referenced from table "elastic_schedule". 2010-09-09 14:36:15,184 ERROR [1921423913@qtp-1196121930-3] [SessionImpl] Could not synchronize database state with session2
219BAM-6823You can edit the project name on the job levelNot sure if it was intentional but it just feel strange1
220BAM-6829"Move Plans" should not show jobshttp://skitch.com/brydiemccoy/dsaqe/configure-new-plan-details-atlassian-bambooooo Currently it lists all subplans on this page which is kind of stupid. The reason I haven't just "fixed it" is the interfaces on the DefaultProject object are outdated and need review. I dont want to add to the mess.1
221BAM-6832Upgrade aspectj to 1.6.9http://mirrors.ibiblio.org/pub/mirrors/maven2/org/aspectj/aspectjrt/1.6.9/ Will solve https://bugs.eclipse.org/bugs/show_bug.cgi?id=269867. We'll need to update the groupId and add a block for the old groupId2
222BAM-6855Make sure that hg errors are properly added to the plan logCurrently we just throw RepositoryExceptions. Some errors - esp 'authentication failure' - should be explicitly added to the log so the user sees it. Blocker - if it happens in change detection phase, the log is not visible at the moment - difficult to test.1
223BAM-6872If AJS.conglomerate.cookie gets too big, web servers will report HTTP error 413As an Administrator edits the plans, the *AJS.conglomerate.cookie* stores the UI history. However, Bamboo is not resetting the cookie value often enough to avoid it getting too big. This causes the web/app server to report HTTP error 413. 2
224BAM-6901Bamboo upgrade process fails on WindowsI had Bamboo 2.6.1 installed on my Windows 7 machine. I tried to install 2.6.2 without manually uninstalling the previous version. The installer found previous version, uninstalled it and installed new one. When I tried to run the Bamboo it failed saying that duplicated plugins were found. Indeed in the WEB-INF/lib directory there were plenty of duplicated jars but in different versions.2
225BAM-6909Wallboard Re-DesignThe wallboard looks dated and not inline with our JIRA wallboards that we've presented at Atlassian Summit. 1
226BAM-6912Changing the builder type during cloning adds multiple builder requirementsWhen cloning a plan: if you change the builder type from Ant to Maven then Bamboo adds Ant and Maven as a requirement to the plan. Ideally, Bamboo should detect that the builder has changed and set the requirement to Maven from ant in the next screen.2
227BAM-6934Discrepancy in time estimations in a single-job chain between job and chainNULL2
228BAM-6957Job/Chain Name duplication throws exceptionMy Project Name: AAAA My Chain Name: AAAA In one instance I tried to update an existing job to have the name AAAA. I got a validation error. I should theoretically be able to name my plan like this shouldn't I? During an attempt to reproduce the above behaviour, I tried to create a _new_ Job with the name AAAA. This submitted successfully. However now I get a whole bunch of other exceptions: {code} 2010-09-30 10:17:41,755 ERROR [1638360365@qtp-1196121930-6] [FiveOhOh] 500 Exception was thrown. org.springframework.dao.IncorrectResultSizeDataAccessException: query did not return a unique result: 2 org.springframework.orm.hibernate.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:590) org.springframework.orm.hibernate.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:353) org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:375) org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:337) com.atlassian.bamboo.plan.PlanHibernateDao.getPlanByName(PlanHibernateDao.java:83) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) {code} The getPlanByName method only looks at the project name and plan name in the build table. And hence will return both the chain and the job. So we need to either a) prevent people from creating jobs with the same name as a plan (though this behaves the opposite to how we handle the keys) b) fix the getPlanByName method, and any other use cases which die because of the duplication.2
229BAM-6969VariableSubstitutionBean cannot be used in V2 pluginsAny plugin that requires variable substitution via the VariableSubstitutionBean has to be a V1 plugin because the VSB is not exposed to V2 plugins. This was discovered during: https://studio.plugins.atlassian.com/browse/BPBC-41 Emails were exchanged regarding this as well: Mark Chai: ------------- The VSB is a prototype scoped bean so it can't be made available in OSGI. I'm not 100% sure if it _has_ to be a prototype (it does access the AdminConfigManager but doesn't seem to cache anything). If you have Bamboo building from source, you could try to switch the prototype flag off on the application context definition and plugin:available="true" and see if that works. Jonathan Doklovic (response): ----------------------------- I just updated the applicationContextCommon.xml inside of bamboo-agent-core within the container that amps uses. Removed the prototype scope and added plugins:available="true". This has no effect. When I run my plugin, the VSB still does not get injected into my action. :( http://www.sadtrombone.com/ 3
230BAM-7010Allow import of Plans from Maven poms stored in Mercurial repositoriesCurrently Bamboo allows out of the box import of pom.xml from CVS/Perforce/Subversion. With Mercurial support in place, Mercurial should be added to the list of repositories available for plan import.5
231BAM-7024Apparent deadlock in AxisWe had one of our builds hang, at a point where it was running a functional test against Bamboo. It looks like there might be a deadlock within Bamboo, but it's not totally obvious to me what's going on. I'm attaching the log with a thread dump at the end.2
232BAM-7048Reports for tests don't have any data pointsIssue reported in https://support.atlassian.com/browse/BSP-32598
233BAM-7058Hide file filter pattern options when configuraing job repositoryThese options are only used for change detection. So should not be configurable at the job level.1
234BAM-7059Quiet Period and Max Retries Should be hidden for jobsThis only relates to change detection 1
235BAM-7081Invalid Build log artifact URL in REST reponse<server>/rest/api/latest/build/<build>?expand=artifacts.artifact returns an URL to build log, which does not exist (response is a chain)1
236BAM-7200Add admin action that will blow away all Mercurial cache directories.[https://atlaseye.atlassian.com/cru/CR-BAM-1971#c32842] currently if I change the repo URL, then the cache is effectively "orphaned" and can't be cleared through plan view. 5
237BAM-7218Maven 3.0 or 3.x BuilderHi all, It would be nice if I would have the possibility to add a Maven 3.x (or Maven 3.0) Builder. When I want to build with Maven 3 I have to choose Maven 2.x or Maven Builder. That's not nice ;( Regards, Florian1
238BAM-7228Stop build on dashboard when multiple builds redirects to plan pageStopping a single build from the dashboard happens async. You stay on the dashboard. If there are multiple builds running you get the dialog. After confirming deletion you get redirected to the plan page. You should return to the dashboard instead1
239BAM-7231Errors not showing up on result summary page The job-result-error is showing on the job and chain summary page, but not on the chain result or job result page. Both results are "Not Built"1
240BAM-7236Bulk Actions wizard has sorting issuesIn the second/third/fourth step of bulk action, the chains are grouped at the top, and jobs grouped at the bottom. The jobs should be grouped underneath their respective chain.1
241BAM-7237Bulk Action change svn info should indicate if a job is inheriting its parentsYou should still be able to bulk edit jobs to something new. But, in the preview list showing existing config, it should show either just (e.g.) "Inheriting information from parent" or still show the url but e.g. in brackets next to it show (inherited).1
242BAM-7260Mercurial is instantly triggering another build right after the initial build.Creating new plan (enabled) triggers initial build. Mercurial plugin will instantly trigger another build (if configured to poll repository for the changes) - because it thinks last revision was 'null'. How to reproduce: 1) just create a plan using valid Mercurial repository, enable it (during creation), set 'poll repository for changes' for example to 10s 2) wait till first build (initial) finishes 3a) instantly second build will be triggered (showing all the changesets from the repository root) 3b) where I expected the build won't be triggered until new commits will be pushed to that repository1
243BAM-7275Cannot load x64 wrapper dll on Windows XP x64NULL1
244BAM-7291Web repository isn't validating when configuring Plan.Giles Gaskell (at Bamboo DEV2 chatroom, 11/08/2010): {quote} Btw - just out of interest for the Docs - when configuring the 'Common repository configuration' options of an existing Plan or Job, I am able to select the option 'Mercurial Web Repository' in the 'Web Repository' field for Plan. However, this option is not available when configuring the equivalent field for a Job. Is there a reason for that? Or is this a bug? Does anyone have an answer as to why the 'Mercurial Web Repository' option is not available when configuring a Job? (whereas it is for a Plan) Aha - I see what the issue is - when you're configuring a Plan, the 'Web Repository' field does not appear to be validating your selected repository and the 'Mercurial Web Repository' option appears no matter what repository type you select. {quote} Chai: {quote} Ah okay. That sounds like a bug {quote} Giles: {quote} Yeah - I thought so - fyi - the Job configuration page appears to be working okay in this regard. {quote} ----- Worth investigating. Maybe it's a Mercurial Web Repository issue itself. Maybe not.1
245BAM-7299${system.PATH} or ${system.ALLUSERSPROFILE} variables are not being replaced* I have a builder argument that uses ${system.ALLUSERSPROFILE} but now it is not being replaced by the %ALLUSERSPROFILE% environment variable * I also add extra paths to the default PATH environment variable using the following {noformat} PATH=${system.PATH};tools/bin {noformat} but the ${system.PATH} variable is also not being replaced2
246BAM-7316Mail Server can't get the SMTP or JNDI values if the server is Tested before Saving itIf the Mail Server is tested ("Test" button is clicked) before being saved ("Save" button is clicked), the following stack is reported: {noformat} Version: 2.7 Build: 2100 Build Date: 05 Nov 2010 system.error.request.information: Request URL: http://domain:8085/admin/saveMailServer.action Scheme: http Server: domain Port: 8085 URI: /admin/saveMailServer.action Context Path: Servlet Path: /admin/saveMailServer.action Path Info: Query String: Stack Trace: java.lang.NullPointerException: Name is null at java.lang.Enum.valueOf(Unknown Source) at com.atlassian.bamboo.ww2.actions.admin.mail.ConfigureMailServer$MailSetting.valueOf(ConfigureMailServer.java:25) at com.atlassian.bamboo.ww2.actions.admin.mail.ConfigureMailServer.validate(ConfigureMailServer.java:88) at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:154) at com.atlassian.bamboo.ww2.interceptors.BambooWorkflowInterceptor.doIntercept(BambooWorkflowInterceptor.java:33) at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:116) at com.atlassian.bamboo.ww2.interceptors.BambooValidationInterceptor.doIntercept(BambooValidationInterceptor.java:33) at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.atlassian.bamboo.ww2.interceptors.JSONValidationInterceptor.intercept(JSONValidationInterceptor.java:78) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:174) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.atlassian.bamboo.ww2.interceptors.GlobalAdminInterceptor.intercept(GlobalAdminInterceptor.java:21) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptor.intercept(WebworkSecurityInterceptor.java:55) at com.atlassian.bamboo.security.acegi.intercept.web.WebworkSecurityInterceptorProxy.intercept(WebworkSecurityInterceptorProxy.java:30) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.atlassian.bamboo.ww2.interceptors.PaginationAwareInterceptor.intercept(PaginationAwareInterceptor.java:81) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.atlassian.bamboo.ww2.interceptors.StatisticsAwareInterceptor.intercept(StatisticsAwareInterceptor.java:42) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.atlassian.bamboo.ww2.interceptors.ResultsListAwareInterceptor.intercept(ResultsListAwareInterceptor.java:45) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.atlassian.bamboo.ww2.interceptors.BuildResultsSummaryAwareInteceptor.intercept(BuildResultsSummaryAwareInteceptor.java:66) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.atlassian.bamboo.ww2.interceptors.ResultsSummaryAwareInteceptor.intercept(ResultsSummaryAwareInteceptor.java:67) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.atlassian.bamboo.ww2.interceptors.ChainAwareInterceptor.intercept(ChainAwareInterceptor.java:110) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.atlassian.bamboo.ww2.interceptors.PlanAwareInterceptor.intercept(PlanAwareInterceptor.java:71) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116) at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:274) at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202) at com.atlassian.bamboo.ww2.BambooFilterDispatcher.doFilter(BambooFilterDispatcher.java:30) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at com.atlassian.bamboo.filter.AccessLogFilter.doFilter(AccessLogFilter.java:66) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at com.atlassian.bamboo.filter.SeraphLoginFilter.doFilter(SeraphLoginFilter.java:66) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) at com.atlassian.bamboo.filter.BambooAcegiProxyFilter.doFilter(BambooAcegiProxyFilter.java:25) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at com.atlassian.bamboo.filter.LicenseFilter.doFilter(LicenseFilter.java:73) at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:72) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:219) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:140) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:69) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170) at com.atlassian.bamboo.persistence.BambooSessionInViewFilter.doFilterInternal(BambooSessionInViewFilter.java:31) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at com.planetj.servlet.filter.compression.CompressingFilter.handleDoFilter(CompressingFilter.java:203) at com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:193) at com.atlassian.bamboo.filter.CompressingFilter.doFilter(CompressingFilter.java:69) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at com.atlassian.bamboo.filter.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:31) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55) at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1139) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:378) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520) {noformat}1
247BAM-7360Git Repo should work with gitosisSo bamboo user can at plan configuration pass an ssh keyfile with passphrase and JGit will talk to remote repository correctly.2
248BAM-7365Remove delayed changeset detection from MercurialIf I use mercurial repository and choose "delay changeste detection' option then I will have "Unknown Changes" listed under "changes" tab. However, after complete build those placeholder changes should be swapped with real changesets. This is not occuring. {color:red}edit: remove this functionality from Mercurial Repository. See comments below{color}1
249BAM-7366ManualBuildTriggerReason.getUserName() returns null.I've been trying out the Artifactory Bamboo plugin. The plugin currently fails with a null pointer exception caused by ManualBuildTriggerReason.getUserName() returning null. I've filed a bug report and suggested workaround at JFrog, but I think the root cause is probably a Bamboo bug. https://issues.jfrog.org/jira/browse/BAP-26 http://docs.atlassian.com/bamboo/2.7/com/atlassian/bamboo/v2/build/trigger/ManualBuildTriggerReason.html#getUserName()2
250BAM-7368Confirm/Fix Plan Navigation For ConfigurationWhere should you get taken when moving between plan and job within the configuration pages. Currently it works like this 1) if there is an equivalent tab take you to that tab 2) when moving to the chain (with no equiv) it takes you to the stages tab 3) when moving to the job (with no equiv) it take you to whatever tab you have saved in the cookie Alternatives * Replace #3 always taking you to the builder tab of the job. * Replace #2 and #3 to take you to the plan/job details page. * Replace #2 to also take you to the cookied page. * Replace #1 and #2 to always take you to the cookied page.2
251BAM-7404Ensure that tabs for Plans and Jobs are consistentIn the Result Summary section we should ensure that the tabs that are common between for Plans and Jobs are in the same order. In the Configuration, we should ensure that the tabs that are common between Plans and Jobs have the same name (E.g. Source Repository) 2
252BAM-7408Decimal-Point missing in Clover integrationWhen showing the "Clover code coverage summary" Page the coverage is multiplied by 10 (ok, may be a feature :-) ). See attached Screenshot 1. When opening the clover artifact the coverage is ok (29.1 % to 291%). 1
253BAM-7410Mercurial quiet periodMercurial is missing quiet period support (BAM-1178).2
254BAM-7413bamboo sent emails containing unreadable infoI am a east-asian user, and i setup my bamboo server to send email after every completed build. however, there's unreadable part in the email, like the following: ***** [INFO] Compilation failure \...\iskControlFacadeImpl.java:[50,38] ???????? ???? ???? findNaireByCustomerType(java.lang.String) ***** I googled for this issue, and I get the following info: ***** it's a bamboo's bug. the utf-8 charset parameter's missing in htmlpart.setContent method in com.atlassian.bamboo.notification.transports/MultipartEmailTransport.class: htmlContent = notification.getHtmlEmailContent(); if(StringUtils.isNotBlank(htmlContent)) {    BodyPart htmlPart = new MimeBodyPart();      htmlPart.setContent(htmlContent, "text/html;charset=utf-8");      mp.addBodyPart(htmlPart); } ***** is that true? how can i solve the problem? THANKS!2
255BAM-7432Overwrite Existing Data option is not effective The *Overwrite Existing Data* from the DB Setup installation step is not being completely effective. Data is not deleted and after the Admin User Creation step, the installation process fails when it tries to create DB entries that already exist. It should also be tested with other DBs (not only MySQL).2
256BAM-7436Git Repository should properly detect code has changed on arbitrary branchI was testing Git on 'master' branch. I should test if it work on other branches as well. Probably this works already. However we need to write up some tests.1
257BAM-7437Git repo should use shallow clones instead of full clones.Currently we use full clones during: * collecting changes, on bamboo server * code retrieval, on agents, during performing build In both cases we don't need the whole history, so if it is possible we should do shallow clones. Shallow clones are not implemented in JGit yet. Also - both server and agents should be able to fetch afterwards properly. Corner test case: * detecting new rev A -> add to queue * detecting new rev B (grandchild of A) -> add to queue (concurrent builds are on) * agent -> takes rev B, does shallow clone on it (so it won't have rev A) * agent -> takes rev A, does fetch - in such case agent should somehow obtain rev A5
258BAM-7441Initial Git build should ignore history in 'changes' tab.Instead of showing 10 753 changeset. See: [http://groups.google.com/group/bamboogitplugin/browse_thread/thread/532384d62f62a930#] Git Repository should behave as other (CVS/SVN) repositories with regard to first build.1
259BAM-7442Git repository should recover from failures during checkout.Like in other repositories - if something fail during code checkout/fetch then Git repository should try to recover - in worst case remove working directory and clone remote repository from scratch. P.S. watch out for lock files in .git directory (they lock 'checkout' operation) - teamcity had problem with that too AFAIK.1
260BAM-7448Git Repository should work on remote agentsensure it does! * remote agent * elastic one1
261BAM-7452Investigate whether shallow clones (Git Repo) are fast enoughBefore supporting shallow clones we would like to confirm that shallow clones are enough for us. So that we do not find out down the track that they are actually slow and we need caches on agents nevertheless.1
262BAM-7454Importing Git Repository from mavenlike in other SCM's, like HgRepository2
263BAM-7469Plan Navigator - general progress bar improvementsI believe that plan was to not show the progress bar for the currently selected job. If we do want to show it we need to make sure the text is readable (currently text is white on light blue background)1
264BAM-7471Ignore compatibility mode not working in IE8 (breaking breadcrumbs)The new character used for breadcrumbs seems to show twice in IE8. 2
265BAM-7476Change dashboard plan result keys to #buildNumberNULL1
266BAM-7483Test basic Maven artifact passing workflow works with remote agentsNULL2
267BAM-7484Test basic Maven artifact passing workflow works with elastic agentsWe need to change the Command decorator to use the tunnel if available.2
268BAM-7485Implement disk space management for maven artifact passinghttps://extranet.atlassian.com/display/BAMBOO/Maven+Artifact+Passing#MavenArtifactPassing-DiskspaceManagement3
269BAM-7486implement artifact sharing for maven https://extranet.atlassian.com/display/BAMBOO/Maven+Artifact+Passing#MavenArtifactPassing-ArtifactSharing Only implementing simple groupid/artifactid selection and not choosing from a list of produced artifacts (latter requires dependency tracing).5
270BAM-7500errors while checkout/clone should fail the build in Git Pluginhttp://tardigrade.sydney.atlassian.com:8085/bamboo/browse/GP-IDEAMASTER-JOB1-1 the error during code checkout should fail the build I reckon. Investigate what is the problem.1
271BAM-7501Drop down menu is 'transparent'NULL1
272BAM-7503BuildManager still used in core Bamboo functionalityI've found some error messages in Tardigrade logs about build failures of builds that seemed to be completed just fine. Following that, I've found that BuildManager is still used in some places in Bamboo, causing problems with some of the functionality. For example, BuildCompletedEventListener operates on Buildables but uses BuildManager for build key validation. This which never works, since valid job keys are not valid build keys - effectively disabling the BuildCompleted plugins. There are not that many places that use BuildManager, about half of them are old UpgradeTasks. This should be fixed, and potentially backported to 2.7 too (since it breaks plugins in a way that cannot be fixed by developers). 2
273BAM-7507Create Plan Level Result Log TabTo make it easier to navigate to the logs, we should offer a Plan level log tab which provides a summary table with links to the individual Job log pages as well as a link to download the job log files from the Plan level log page. 2
274BAM-7517Handle subscriptions for Job move across stagesNULL2
275BAM-7531Remove pre-2.0 upgrade tasks and provide protection against upgrade from pre 2.0 versionKrystian: In the history of Bamboo we had several versions which were required to be used to upgrade to the newer version. Ie. to upgrade from Bamboo 1.0 to Bamboo 2.1 you need to execute upgrades to 1.1.2, 1.2 and 2.0. The latest of this "milestone-upgrade" versions is 2.0. This is why I propose to drop all the upgrade tasks which were introduced by pre-2.0 versions. The main benefit would be dropping the last usages of old and usually deprecated APIs According to https://extranet.atlassian.com/pages/viewpage.action?pageId=636158922 it means all pre 801 upgrade tasks (18 of them) Przemek: + make it impossible to use new Bamboo version to upgrade from build number of pre-2.0.x version. That check should have been included in 2.0.x anyway... Marek: +1, those upgrade tasks are in sources too long. For historical stuff we got subversion Anton: Yes, if we do this, Bamboo *must* lockup upon starting if it detects that it is being brought up against a version which is before 2.0. We should also stop the user importing XML backups from pre 2.0 versions. In all these cases the user should be given a very clear error message and no data should be changed. Can I ask why do you bring this up now? What caused you to do this? If we do this, will this simplify some other work we need to do for 3.0? How long will the work of stopping a pre 2.0 upgrade/import take? Krystian: Adding protection against upgrade/import from pre-2.0 version is rather simple and would require ~4h of work (including testing). I'm bringing this now cause last week Przemek has spotted a small bug which was caused by internal use of deprecated API (BuildManager). I thought that releasing 3.0 is a good moment to drop this (and maybe other) legacy APIs which were deprecated in 2.7 and previous versions. A lot of uses of deprecated API is buried in old upgrade tasks which led to idea I presented in my original email. This will probably not simplify other work for 3.0 but has a potential to help us find forgotten usages of legacy code that should have been updated some time ago.1
276BAM-7555Ensure we only show 100 changes in Git Repository and display skipped amount (for 3.0)... and mention in the interface that only the first 100 are shown if there are more than 100 changes.1
277BAM-7593Ability to stop a queued job via action menuFor stop button for a job in the action menu only shows up when the job is actually running not while it is queued. It should show while its queued. The fix needs to ensure that the button doesn't show up when the job's stage hasn't been kicked off yet.1
278BAM-7599Fix Bulk Edit Administration ScreenThe bulk edit screen is pretty broken right now. We will need to fix this up before we release 3.0. http://tardigrade.sydney.atlassian.com:8085/bamboo/admin/chooseBulkAction.action3
279BAM-7602Support for include/exclude files in Git RepositoryAbstactRepository implements IncludeExcludeAwareRepository interface so the Git Plugin should handle that.1
280BAM-7619Import/Export of Audit LogsNULL2
281BAM-7626Support Bitbucket repositoriesCurrently we support any Mercurial Repository, but it would be great if we could specifically support BitBucket and make it easier to setup new plans using the BB API. The underlying infrastructure would be the same as for Mercurial. However, the setup would provide a BitBucket option in addition or as part of the Mercurial Repository and allow for retrieving the users repositories and branches. h4. Specification https://extranet.atlassian.com/display/BAMBOO/Bitbucket+Support+Spec 5
282BAM-7628Remove Build Queue Report Since it's not working right now (BAM-7557), we should remove the report from the UI. Once we've fixed it, we will add it again. 1
283BAM-7630Stage Configuration UX UpdateThe Stages configuration requires some UX changes to make it easier to use: * *Make the Job name link to the Edit Job Configuration* * Remove the Configuration Dropdown (and link) * Add separate "Disable" and "Delete" links instead of the dropdown * Replace "Add Job" with a button and move to the right2
284BAM-7631Fix Test Case Overview Page UIWe need to clean this page up... at least a little bit: * Remove the big colour box * Use the same key value layout we use on the summary * Move the stats below the table * Make the top right stats look the same as the Plan summary stats (once we have them) http://tardigrade.sydney.atlassian.com:8085/bamboo/browse/BAM-FC-DEP/test/case/148635675 2
285BAM-7632Change hg clone into hg init/hg pull (to get rid of credentials in .hgrc)[forums|http://forums.atlassian.com/message.jspa?messageID=257362974] bq. I went through the cache directories in the server and noticed also slight security issue. Bamboo seems to register the repository path with username/password into the hgrc file in plain text (in the url) in the cache directory and the file permissions are such that it is readable by all. Not that the source code and builds itself might have something sensitive, but atleast I find it good to know that the username/password is not secure within the file system. 1
286BAM-7633Remove 'clean cache directory' checkbox from Mercurial configuration screen[forums|http://forums.atlassian.com/thread.jspa?messageID=257363207&#257363207] I think we should remove that checkbox as it is hazardous to use. Details in mail(anton,jens,sginter,pstefaniak).1
287BAM-7635Share Mercurial cache among the server and local agents (if concurrent builds are on)Like in Summary - if concurrent builds are on then each local agent will grab its own copy of cache during code retrieval. And hopefully it doesn't need to, instead it should use bamboo server's cache, like in 'no concurrent build' mode.1
288BAM-7655Git Plugin should detect if remote repository support 'shallow' protocolNULL1
289BAM-7656Git Repository shouldn't display user/pass + sshKey/pass togetheras it mislead user thinking user/pass may impact ssh connection. Ideally there should be combobox "authenticationType" with options "none;http auth;sshKeyfile" which would display exclusively either user/pass, either ssh+passphrase, or nothing.1
290BAM-7658Sharing an artifact via quick link doesn't work when artifact name is used by other JobsThis, of course, is correct behaviour. However, it currently doesn't provide any feedback. The link simply doesn't work. Instead, can we display a popup with the following message: "To share an Artifact, it's name must be unique within the Plan. Please rename the Artifact to share it" Then allow the user to edit the Artifacts name with a textbox. (just like in edit without all the other fields) The buttons at the bottom should say: Save and Cancel 2
291BAM-7660Ensure Artifacts upgrade task gives decent errors and can be rerunThis may already be catered for but: Its possible that moving artifact files will run out of disk space in the middle. We should make sure that the upgrade task dies elegantly and its possible to recover. e.g. (just re-run the upgrade task and it picks up where it left off.)1
292BAM-7673Git Repository doesn't log messages on remote agentswhen run on remote agent no log from GitRepository are shown. Probably textProvider is not properly initialized/loaded - as it was in MercurialRepository.1
293BAM-7674Git repo shallow clones should work via http(s)Build TEST-TESTHTTPS-JOB1-18 started building on agent Default Agent Updating source code to revision: 05b86d941d9f61f9236d7743c13821d6fdc4d416 Fetching branch 'master'. Will try to do a shallow fetch. Git: Requesting shallow fetch {color:red}Cannot fetch 'https://cixot@github.com/cixot/test.git', branch 'master' to source directory '/home/pstefaniak/bamboo/atlassian-bamboo-2.7.3-standalone/home/xml-data/build-dir/131073/TEST-TESTHTTPS-JOB1'. https://cixot@github.com/cixot/test.git: Starting read stage without written request data pending is not supported{color} {code} com.atlassian.bamboo.repository.RepositoryException: Cannot fetch 'https://cixot@github.com/cixot/test.git', branch 'master' to source directory '/home/pstefaniak/bamboo/atlassian-bamboo-2.7.3-standalone/home/xml-data/build-dir/_git-repositories-cache/0x-645f5f1-1/repository'. https://cixot@github.com/cixot/test.git: Starting read stage without written request data pending is not supported com.atlassian.bamboo.plugins.git.GitOperationHelper.fetch(GitOperationHelper.java:193) com.atlassian.bamboo.plugins.git.GitOperationHelper.fetch(GitOperationHelper.java:157) ... Caused by: org.eclipse.jgit.errors.TransportException: https://cixot@github.com/cixot/test.git: Starting read stage without written request data pending is not supported org.eclipse.jgit.transport.BasePackFetchConnection.doFetch(BasePackFetchConnection.java:292) org.eclipse.jgit.transport.TransportHttp$SmartHttpFetchConnection.doFetch(TransportHttp.java:613) org.eclipse.jgit.transport.BasePackFetchConnection.fetch(BasePackFetchConnection.java:230) org.eclipse.jgit.transport.FetchProcess.fetchObjects(FetchProcess.java:217) org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:152) org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:114) org.eclipse.jgit.transport.Transport.fetch(Transport.java:904) com.atlassian.bamboo.plugins.git.GitOperationHelper.fetch(GitOperationHelper.java:188) ... 23 more Caused by: org.eclipse.jgit.errors.TransportException: https://cixot@github.com/cixot/test.git: Starting read stage without written request data pending is not supported org.eclipse.jgit.transport.TransportHttp$Service.execute(TransportHttp.java:698) org.eclipse.jgit.transport.TransportHttp$Service$HttpExecuteStream.read(TransportHttp.java:772) org.eclipse.jgit.util.io.UnionInputStream.read(UnionInputStream.java:144) java.io.FilterInputStream.read(FilterInputStream.java:133) org.eclipse.jgit.util.io.TimeoutInputStream.read(TimeoutInputStream.java:111) org.eclipse.jgit.util.IO.readFully(IO.java:175) org.eclipse.jgit.transport.PacketLineIn.readLength(PacketLineIn.java:141) org.eclipse.jgit.transport.PacketLineIn.readString(PacketLineIn.java:108) org.eclipse.jgit.transport.PacketLineIn.readACK(PacketLineIn.java:86) org.eclipse.jgit.transport.BasePackFetchConnection.negotiate(BasePackFetchConnection.java:575) org.eclipse.jgit.transport.BasePackFetchConnection.doFetch(BasePackFetchConnection.java:278) ... 30 more {code} 1
294BAM-7676Git Repository server cache should be thread-safe (during fetches)h3. System Error Details Build test - testmasterclean : Unable to detect changes (com.atlassian.bamboo.repository.RepositoryException : Cannot fetch 'git://github.com/cixot/test.git', branch 'master' to source directory '/home/pstefaniak/bamboo/atlassian-bamboo-2.7.3-standalone/home/xml-data/build-dir/_git-repositories-cache/0x-7300b201-1/repository'. Cannot move pack to /home/pstefaniak/bamboo/atlassian-bamboo-2.7.3-standalone/home/xml-data/build-dir/_git-repositories-cache/0x-7300b201-1/repository/.git/objects/pack/pack-9debbf5763a2286524c616934e72bf0cb8b71dba.pack) Occurred: 05 Jan 2011, 5:12:03 PM com.atlassian.bamboo.repository.RepositoryException: Cannot fetch 'git://github.com/cixot/test.git', branch 'master' to source directory '/home/pstefaniak/bamboo/atlassian-bamboo-2.7.3-standalone/home/xml-data/build-dir/_git-repositories-cache/0x-7300b201-1/repository'. Cannot move pack to /home/pstefaniak/bamboo/atlassian-bamboo-2.7.3-standalone/home/xml-data/build-dir/_git-repositories-cache/0x-7300b201-1/repository/.git/objects/pack/pack-9debbf5763a2286524c616934e72bf0cb8b71dba.pack {code} com.atlassian.bamboo.plugins.git.GitOperationHelper.fetch(GitOperationHelper.java:193) com.atlassian.bamboo.plugins.git.GitOperationHelper.fetch(GitOperationHelper.java:157) com.atlassian.bamboo.plugins.git.GitRepository.collectChangesSinceLastBuild(GitRepository.java:154) com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectChangesSinceLastBuild(DefaultChangeDetectionManager.java:92) com.atlassian.bamboo.v2.trigger.ChangeDetectionListenerAction.process(ChangeDetectionListenerAction.java:75) com.atlassian.bamboo.chains.ChainExecutionManagerImpl.createChainState(ChainExecutionManagerImpl.java:164) com.atlassian.bamboo.chains.ChainExecutionManagerImpl.start(ChainExecutionManagerImpl.java:107) sun.reflect.GeneratedMethodAccessor178.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:616) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198) $Proxy41.start(Unknown Source) com.atlassian.bamboo.plan.PlanExecutionManagerImpl.startWithLockTaken(PlanExecutionManagerImpl.java:174) com.atlassian.bamboo.plan.PlanExecutionManagerImpl.access$100(PlanExecutionManagerImpl.java:39) com.atlassian.bamboo.plan.PlanExecutionManagerImpl$2.call(PlanExecutionManagerImpl.java:155) com.atlassian.bamboo.plan.PlanExecutionManagerImpl.doWithProcessLock(PlanExecutionManagerImpl.java:306) com.atlassian.bamboo.plan.PlanExecutionManagerImpl.start(PlanExecutionManagerImpl.java:148) com.atlassian.bamboo.v2.trigger.ChangeDetectionListener.handleEvent(ChangeDetectionListener.java:50) com.atlassian.bamboo.event.EventListenerRunnable.run(EventListenerRunnable.java:22) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50) java.lang.Thread.run(Thread.java:636) Caused by: org.eclipse.jgit.errors.TransportException: Cannot move pack to /home/pstefaniak/bamboo/atlassian-bamboo-2.7.3-standalone/home/xml-data/build-dir/_git-repositories-cache/0x-7300b201-1/repository/.git/objects/pack/pack-9debbf5763a2286524c616934e72bf0cb8b71dba.pack org.eclipse.jgit.transport.BasePackFetchConnection.doFetch(BasePackFetchConnection.java:292) org.eclipse.jgit.transport.BasePackFetchConnection.fetch(BasePackFetchConnection.java:230) org.eclipse.jgit.transport.FetchProcess.fetchObjects(FetchProcess.java:217) org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:152) org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:114) org.eclipse.jgit.transport.Transport.fetch(Transport.java:904) com.atlassian.bamboo.plugins.git.GitOperationHelper.fetch(GitOperationHelper.java:188) ... 23 more Caused by: java.io.IOException: Cannot move pack to /home/pstefaniak/bamboo/atlassian-bamboo-2.7.3-standalone/home/xml-data/build-dir/_git-repositories-cache/0x-7300b201-1/repository/.git/objects/pack/pack-9debbf5763a2286524c616934e72bf0cb8b71dba.pack org.eclipse.jgit.transport.IndexPack.renameAndOpenPack(IndexPack.java:1163) org.eclipse.jgit.transport.BasePackFetchConnection.receivePack(BasePackFetchConnection.java:674) org.eclipse.jgit.transport.BasePackFetchConnection.doFetch(BasePackFetchConnection.java:285) ... 29 more {code} ---- h3. System Error Details Build test - testmaster : Unable to detect changes (com.atlassian.bamboo.repository.RepositoryException : Cannot fetch 'git://github.com/cixot/test.git', branch 'master' to source directory '/home/pstefaniak/bamboo/atlassian-bamboo-2.7.3-standalone/home/xml-data/build-dir/_git-repositories-cache/0x-7300b201-1/repository'. Unknown repository format "null"; expected "0".) Occurred: 05 Jan 2011, 5:12:03 PM com.atlassian.bamboo.repository.RepositoryException: Cannot fetch 'git://github.com/cixot/test.git', branch 'master' to source directory '/home/pstefaniak/bamboo/atlassian-bamboo-2.7.3-standalone/home/xml-data/build-dir/_git-repositories-cache/0x-7300b201-1/repository'. Unknown repository format "null"; expected "0". {code} com.atlassian.bamboo.plugins.git.GitOperationHelper.fetch(GitOperationHelper.java:193) com.atlassian.bamboo.plugins.git.GitOperationHelper.fetch(GitOperationHelper.java:157) com.atlassian.bamboo.plugins.git.GitRepository.collectChangesSinceLastBuild(GitRepository.java:154) com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectChangesSinceLastBuild(DefaultChangeDetectionManager.java:92) com.atlassian.bamboo.v2.trigger.ChangeDetectionListenerAction.process(ChangeDetectionListenerAction.java:75) com.atlassian.bamboo.chains.ChainExecutionManagerImpl.createChainState(ChainExecutionManagerImpl.java:164) com.atlassian.bamboo.chains.ChainExecutionManagerImpl.start(ChainExecutionManagerImpl.java:107) sun.reflect.GeneratedMethodAccessor178.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:616) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198) $Proxy41.start(Unknown Source) com.atlassian.bamboo.plan.PlanExecutionManagerImpl.startWithLockTaken(PlanExecutionManagerImpl.java:174) com.atlassian.bamboo.plan.PlanExecutionManagerImpl.access$100(PlanExecutionManagerImpl.java:39) com.atlassian.bamboo.plan.PlanExecutionManagerImpl$2.call(PlanExecutionManagerImpl.java:155) com.atlassian.bamboo.plan.PlanExecutionManagerImpl.doWithProcessLock(PlanExecutionManagerImpl.java:306) com.atlassian.bamboo.plan.PlanExecutionManagerImpl.start(PlanExecutionManagerImpl.java:148) com.atlassian.bamboo.v2.trigger.ChangeDetectionListener.handleEvent(ChangeDetectionListener.java:50) com.atlassian.bamboo.event.EventListenerRunnable.run(EventListenerRunnable.java:22) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50) java.lang.Thread.run(Thread.java:636) Caused by: java.io.IOException: Unknown repository format "null"; expected "0". org.eclipse.jgit.storage.file.FileRepository.(FileRepository.java:180) org.eclipse.jgit.storage.file.FileRepository.(FileRepository.java:126) com.atlassian.bamboo.plugins.git.GitOperationHelper.fetch(GitOperationHelper.java:169) ... 23 more {code} h3. System Error Details Build gp - linuskernelhttp3 - Default Job 4 : Error occurred while executing the build for GP-LINUSKERNELHTTP3-JOB1-4 (com.atlassian.bamboo.repository.RepositoryException : null Could not delete file /home/hgrepo/bamboo-agent-home/xml-data/build-dir/GP-LINUSKERNELHTTP3-JOB1/.git/objects/incoming_4443714216792466821.idx) Occurred: 05 Jan 2011, 5:29:19 PM Agent: lucyfer (2) com.atlassian.bamboo.repository.RepositoryException: null Could not delete file /home/hgrepo/bamboo-agent-home/xml-data/build-dir/GP-LINUSKERNELHTTP3-JOB1/.git/objects/incoming_4443714216792466821.idx {code} com.atlassian.bamboo.plugins.git.GitOperationHelper.fetch(GitOperationHelper.java:193) com.atlassian.bamboo.plugins.git.GitOperationHelper.fetchAndCheckout(GitOperationHelper.java:151) com.atlassian.bamboo.plugins.git.GitOperationHelper.fetchAndCheckout(GitOperationHelper.java:142) com.atlassian.bamboo.plugins.git.GitRepository.retrieveSourceCode(GitRepository.java:203) com.atlassian.bamboo.v2.build.task.CheckoutUpdateForBuild.doCall(CheckoutUpdateForBuild.java:136) com.atlassian.bamboo.v2.build.task.CheckoutUpdateForBuild.call(CheckoutUpdateForBuild.java:41) com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.build(DefaultBuildAgent.java:189) com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:90) com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent$1.run(DefaultBuildAgent.java:102) com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50) java.lang.Thread.run(Thread.java:636) Caused by: org.eclipse.jgit.errors.TransportException: Could not delete file /home/hgrepo/bamboo-agent-home/xml-data/build-dir/GP-LINUSKERNELHTTP3-JOB1/.git/objects/incoming_4443714216792466821.idx org.eclipse.jgit.transport.BasePackFetchConnection.doFetch(BasePackFetchConnection.java:292) org.eclipse.jgit.transport.TransportHttp$SmartHttpFetchConnection.doFetch(TransportHttp.java:613) org.eclipse.jgit.transport.BasePackFetchConnection.fetch(BasePackFetchConnection.java:230) org.eclipse.jgit.transport.FetchProcess.fetchObjects(FetchProcess.java:217) org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:152) org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:114) org.eclipse.jgit.transport.Transport.fetch(Transport.java:904) com.atlassian.bamboo.plugins.git.GitOperationHelper.fetch(GitOperationHelper.java:188) ... 10 more Caused by: java.io.IOException: Could not delete file /home/hgrepo/bamboo-agent-home/xml-data/build-dir/GP-LINUSKERNELHTTP3-JOB1/.git/objects/incoming_4443714216792466821.idx org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:133) org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:91) org.eclipse.jgit.transport.IndexPack.index(IndexPack.java:473) org.eclipse.jgit.transport.BasePackFetchConnection.receivePack(BasePackFetchConnection.java:673) org.eclipse.jgit.transport.BasePackFetchConnection.doFetch(BasePackFetchConnection.java:285) ... 17 more {code}2
295BAM-7677Rather than error out when a git ssh URL is entered without a username, automatically embed it in the URL for the userSee BAM-7665 for background information. Git needs the username to be in the URL for ssh. By implementing BAM-7665, we error out whenever a git ssh URL is entered without a username. I think it would be better if we provided a separate UI textfield for the username and embeded the username into the ssh URL. In this case if the user enters a username into the URL we should error out and ask the user to enter the username into a separate UI field.1
296BAM-7683Update Plan Statistics UIThe blue box doesn't fit in with Bamboo's new style. We should update it to look similar to the Test Summary. See attached mockup. We can definitely play with the size of the numbers. For Plans with a lot of builds, the first number might grow too long at the current size. 1
297BAM-7684Update Bamboo HeaderTo look more Atlassian, our header requires a few changes. Since another project is underway to unify headers in general, we don't want to spend much time on this, but a few small changes can have a big impact here: *Change the font:* * Not Bold * Remove the underlines for the shortcut keys (not needed very often anyway) * Change the font size to 13 pixels *Background* * Remove the background image * Use a new logo that works on a plain background (to be provided by Jens)1
298BAM-7689Bamboo caches the Dashboard Plan permissions for the first user that accessed Bamboo 1. Considering that anonymous users can't see the plans in the dashboard; 2. If the first access is done in anonymous mode and then the Admin logs in, the Admin Dashboard will be empty, because the anonymous permission for the dashboard is still cached. All the other screens will show the plans and permissions without problem.2
299BAM-7690Bundle the Git Bamboo Repository Plugin with Bamboo 3.0{quote} We absolutely need to bundle the Git Bamboo Plugin into Bamboo 3.0. We are actually hoping to do the bundling for the milestone 4 of Bamboo 3.0. {quote}1
300BAM-7695OAUTH TokenExpiry never starts in Bamboo 3.0When upgrading to the new Atlassian Plaform, we've changed the expiry scheduler to be triggered by Bamboo start instead of plugin system startup event. This is a good idea, but the plugin was not wired properly to receive the startup event. As the result, expiry never runs on Bamboo 3.0. Priority major since the exposure is limited, but this has to be fixed fast.3
301BAM-7724User can see live logs for a jobs on the plan summary screenNULL2
302BAM-7732Webwork library not compatible with JDK 1.5NULL2
303BAM-7735Share Git cache among the server and local agents (if concurrent builds are on)As in BAM-7635 but for Git: Like in Summary - if concurrent builds are on then each local agent will grab its own copy of cache during code retrieval. Cache should be reused locally for checkouts - conurrent builds or not. This will require changing cache lock strategy to read/write - see [comment|https://atlaseye.atlassian.com/cru/CR-BAM-2388#c39662] 3
304BAM-7771Build plan failed to run - it was marked as queued but was not present in the queueSee https://bamboo.extranet.atlassian.com/browse/CONFFUNC5-SMOKE-33/ It has failed to run with error: {noformat}Confluence Trunk Staging and Dumping - Confluence Smoke Tests - Extranet Staging - Smoke Tests > CONFFUNC5-SMOKE-SMOKE-33 : Build CONFFUNC5-SMOKE-SMOKE-33 had to be cancelled: it was marked as queued but was not present in the queue. (19 Jan 2011, 5:47:05 PM) Remove error from the list Clear error from log {noformat}5
305BAM-7812Instant message notifications no longer say "X new test failures", just "2/486 tests failed."I seem to recall that the Bamboo IM notifications used to tell me how many test failures were new. This seems to have gone missing in recent milestones on BEAC. It's really useful information because it often tells you whether you broke the build or someone else did. 1
306BAM-7814Move "Plan Logs" to be under the configuration screenDoesn't make a lot of sense but it's the least bad option. Have a link at the bottom of the View Configuration to the Plan Logs. Have a button on the top left to go back to the View Configuration1
307BAM-7825In the stages tab make the Job name link to the Job Configuration (not the Job Summary)NULL1
308BAM-7833Users can't reset passwords if the Global Anonymous Permission is disabledIf the Global Anonymous Permission to *Access* is disabled, the user still have to login in order to Reset his password. Steps to reproduce: 1. Disable the *Access* permission for Anonymous Users at the Admin => Global Permissions 2. Logout and try to reset your password using the *Can't access your account?* link. 3. You will receive an email with a link. 4. Click on the link. Result: You will be redirected to a Login page, not a Reset Password Page. If you login with the correct password the Reset Page is then displayed, but this is not useful when the user forgot his password. 2
309BAM-7840Source checkout on local agent should not fail if cache is deleted between change collection & source checkoutThis may happen when the user manually deletes the cache directory between change collection & source checkout. Workaround: wait for next build. We may detect such case (MissingObjectException), refill the cache and retry the checkout. We do something similar already when source directory is messed up between checkouts.1
310BAM-7873Update atlassian-util-concurrent to 2.0NULL1
311BAM-7924Errors during source checkout not correctly propagated causing plans to pass when they shouldn'thttps://bamboo.extranet.atlassian.com/browse/CRUCHG-CHAIN-FUNCFE-865/log All jobs in this build actually failed which repository exceptions (i.e it didn't even get to running). However this error is not being propagated to Bamboo, so depending on which builder you use the plan may or may not fail. Exception That Cause This particular Failure: http://jira.atlassian.com/browse/BAM-7921 Build Logs Shown For Ant (Build Failed): {code} 03-Feb-2011 17:05:21 Build CRUCHG-CHAIN-INT-865 started building on agent bamboo-agent-78.private.atlassian.com (2) 03-Feb-2011 17:05:21 Build always requires a clean checkout 03-Feb-2011 17:05:21 Cleaning build directory '/opt/bamboo-agent/xml-data/build-dir/CRUCHG-CHAIN-INT' 03-Feb-2011 17:05:21 Updating source code to revision: 7557776da2a4bd7b6ef8194f7b2f57e69bcb0e8d 03-Feb-2011 17:05:47 Error occurred while executing the build for CRUCHG-CHAIN-INT-865 : null 03-Feb-2011 17:05:47 Build failed since text 'BUILD SUCCESS' was not found in the last 250 lines of the output. 03-Feb-2011 17:05:47 Running post build plugin on server 'JMeter Aggregator Build Processor Server' 03-Feb-2011 17:05:47 Running post build plugin on server 'Clover Delta Calculator' 03-Feb-2011 17:05:47 Running post build plugin on server 'Build Hanging Detection Configuration' 03-Feb-2011 17:05:47 Running post build plugin on server 'Post Command Server Runner' 03-Feb-2011 17:05:47 Running post build plugin on server 'NCover Results Collector' 03-Feb-2011 17:05:47 Running post build plugin on server 'FindBugs Server Build Processor' 03-Feb-2011 17:05:47 Generating build results summary... 03-Feb-2011 17:05:47 Saving build results to disk... 03-Feb-2011 17:05:47 Indexing build results... 03-Feb-2011 17:05:48 Finished building CRUCHG-CHAIN-INT-865. {code} Build Logs Shown for Script (Build Passed): {code} 03-Feb-2011 17:05:22 Build CRUCHG-CHAIN-FUNCFE-865 started building on agent bamboo-agent-70.private.atlassian.com (2) 03-Feb-2011 17:05:22 Build always requires a clean checkout 03-Feb-2011 17:05:22 Cleaning build directory '/opt/bamboo-agent/xml-data/build-dir/CRUCHG-CHAIN-FUNCFE' 03-Feb-2011 17:05:22 Updating source code to revision: 7557776da2a4bd7b6ef8194f7b2f57e69bcb0e8d 03-Feb-2011 17:06:20 Error occurred while executing the build for CRUCHG-CHAIN-FUNCFE-865 : null 03-Feb-2011 17:06:20 Build successful since return code was 0 03-Feb-2011 17:06:20 Running post build plugin on server 'JMeter Aggregator Build Processor Server' 03-Feb-2011 17:06:20 Running post build plugin on server 'Clover Delta Calculator' 03-Feb-2011 17:06:20 Running post build plugin on server 'Build Hanging Detection Configuration' 03-Feb-2011 17:06:20 Running post build plugin on server 'Post Command Server Runner' 03-Feb-2011 17:06:20 Running post build plugin on server 'NCover Results Collector' 03-Feb-2011 17:06:20 Running post build plugin on server 'FindBugs Server Build Processor' 03-Feb-2011 17:06:20 Generating build results summary... 03-Feb-2011 17:06:20 Saving build results to disk... 03-Feb-2011 17:06:20 Indexing build results... 03-Feb-2011 17:06:20 Finished building CRUCHG-CHAIN-FUNCFE-865. {code}2
312BAM-8015AccessLogFilter + Maven Artifact Sharing = too much loggingEssentially every request for a mvn resource gets logged. We should exclude the maven urls from the access log filter and just make sure the plugin logs e.g. actual hits (when the artifact was served).1
313BAM-8059Enable button should be change to a run button For https://gdansk.bamboo2.atlassian.com 1. I have disabled plan on dashboard (INT-DPL). 2. I Clicked on "Enable" to enable plan. 3. Button hasn't changed. Button should change to run button. See attached screenshot.1
314BAM-8070Make Bamboo Windows installer work nicer with default permissions At the moment the default permissions on Windows 7 really do screw us over since we write atlassian-bamboo.log to running dir & for services, the tmp directory2
315BAM-8072User can configure key value pairs as parameters at the Plan levelCurrently we only have global parameters. With this story we allow the user to define parameters on the Plan level and expose these to all Jobs within the Plan5
316BAM-8073User can override key value pairs when running a manual buildWhen triggering a build manually, the user will be asked if he wants to overwrite any of the existing parameters for the Plan. 2
317BAM-8078Allow a user to kick of a build via REST and provide the parameters as part of the REST callNULL2
318BAM-8083Null repository A dummy repository that basically doesn't do anything. 2
319BAM-8089Make variables available as environment variables So script could use it more easily.3
320BAM-8158Upgrade ActiveMQ to 5.4.2NULL3
321BAM-8213New dialog forms revert to initial data on validation errorThis might actually be happening in all forms in Bamboo. To reproduce: * go to Stage configuration on a plan * edit a stage * remove the "name" but add a description (or just something that will cause a validation error), then submit * notice that validation causes the data you entered to be wiped and the original data to be restored1
322BAM-8216Build hung never finish in the UI even after killing agent and all the related processHi, we got this build: https://bamboo-extranet.atlassian.com/build/result/viewBuildResults.action?buildKey=JST-NONGAPPS-FFWDRV&buildNumber=176 that was hung. A manual stop didn't work so we killed the process and the agents. In spite of doing that the UI still thinks that is building something, even when the agent (2@atlassian25) was idle and after that building other plans. You can check the thread-dump of the server here: https://extranet.atlassian.com/jira/browse/ADM-12681 The plan was executed again, but the UI still thinks it is building 176. Maybe it is because "Concurrency builds" is set to 2. 3
323BAM-8222MovePlans does not invalidate the cachesIt doesn't invalidate the build definition cace and may not invalidate the dashboard cache either.1
324BAM-8241Make ImportExportManager available to pluginsI've been trying to create a cross-product way of doing restores through a REST resource. This would make life much simpler for doing integration tests in that we could put applications into a "known" state before a test is run. I tried writing a REST resource to do this for Bamboo, but found that I could not get the [ImportExportManager|http://docs.atlassian.com/atlassian-bamboo/3.0/com/atlassian/bamboo/migration/ImportExportManager.html] injected. Any chance of we can make this available to plugins for uses such as this?1
325BAM-8256Maven Artifact Sharing breaks when server is configured to use SSL and Job is running on ec2Bamboos tunnel on ec2 is at 127.0.0.1 which is not valid for any SSL certificate. {noformat} build 15-Mar-2011 00:22:36 Downloading: https://maven.atlassian.com/repository/internal//opensymphony/xwork/1.2.5-atlassian-1/xwork-1.2.5-atlassian-1.pom build 15-Mar-2011 00:22:37 11K downloaded (xwork-1.2.5-atlassian-1.pom) build 15-Mar-2011 00:22:37 Downloading: https://127.0.0.1:46593/plugins/servlet/maven/subscribe/JST-NIGHTLY-6/JST-NIGHTLY-BUILD//ognl/ognl/2.7.1/ognl-2.7.1.pom build 15-Mar-2011 00:22:37 [WARNING] Unable to get resource 'ognl:ognl:pom:2.7.1' from repository atlassian-bamboo-artifact-sharing (https://127.0.0.1:46593/plugins/servlet/maven/subscribe/JST-NIGHTLY-6/JST-NIGHTLY-BUILD/): Error transferring file: java.security.cert.CertificateException: No subject alternative names matching IP address 127.0.0.1 found build 15-Mar-2011 00:22:37 Downloading: https://maven.atlassian.com/repository/internal//ognl/ognl/2.7.1/ognl-2.7.1.pom build 15-Mar-2011 00:22:37 5K downloaded (ognl-2.7.1.pom) build 15-Mar-2011 00:22:37 Downloading: https://127.0.0.1:46593/plugins/servlet/maven/subscribe/JST-NIGHTLY-6/JST-NIGHTLY-BUILD//jboss/javassist/3.6.ga/javassist-3.6.ga.pom build 15-Mar-2011 00:22:37 [WARNING] Unable to get resource 'jboss:javassist:pom:3.6.ga' from repository atlassian-bamboo-artifact-sharing (https://127.0.0.1:46593/plugins/servlet/maven/subscribe/JST-NIGHTLY-6/JST-NIGHTLY-BUILD/): Error transferring file: java.security.cert.CertificateException: No subject alternative names matching IP address 127.0.0.1 found build 15-Mar-2011 00:22:37 Downloading: https://maven.atlassian.com/repository/internal//jboss/javassist/3.6.ga/javassist-3.6.ga.pom build 15-Mar-2011 00:22:37 1008b downloaded (javassist-3.6.ga.pom) build 15-Mar-2011 00:22:37 Downloading: https://127.0.0.1:46593/plugins/servlet/maven/subscribe/JST-NIGHTLY-6/JST-NIGHTLY-BUILD//org/rifers/rife-continuations/0.0.2/rife-continuations-0.0.2.pom build 15-Mar-2011 00:22:37 [WARNING] Unable to get resource 'org.rifers:rife-continuations:pom:0.0.2' from repository atlassian-bamboo-artifact-sharing (https://127.0.0.1:46593/plugins/servlet/maven/subscribe/JST-NIGHTLY-6/JST-NIGHTLY-BUILD/): Error transferring file: java.security.cert.CertificateException: No subject alternative names matching IP address 127.0.0.1 found {noformat}2
326BAM-8324Upgrade to gadgets 3.0.4To get up to date with the February Common Upgrade Pack: https://extranet.atlassian.com/display/DEV/Common+Module+Upgrade+Pack+-+2011-02 we need to upgrade to Gadgets 3.0.4. Should be easy as the fixes are minor and we are on gadgets 3.0.2.2
327BAM-8325Upgrade to Atlassian XWork 1.12To get up to date with the February Common Upgrade Pack: https://extranet.atlassian.com/display/DEV/Common+Module+Upgrade+Pack+-+2011-02 we need to upgrade to XWork 1.121
328BAM-8379context contains arrays when it expects strings on validation failureIn our task code on validation failure, we re-copy everything that can in on the request back on to the stack for re-rendering (so the values entered by the user remain). The problem is that the actionContext puts everything in an Array, where it usually would just be a string. Whilst some of our front end code accomodates this, some of it doesn't (e.g. select/show/hide stuff) I was originally going to convert everything over to a string when i put it on the stack, but I'm not sure how many assumptions I can make (are they all supposed to be strings, what if the front end really does want an array)1
329BAM-8383Creating a task without a executable selected dies badlyWhen you click save on a maven task at the moment, and you haven't selected an actual builder from the drop down, it dies badly, rather than just returning a nice validation error above the drop down: "Please select a builder".1
330BAM-8419Finalise Task wording on Plan/Job Creation screensand also Task editing screens Wording will be available soon1
331BAM-8438Create a popup for available variablesA popup to display available global variables should be accessible from the Plan and Job configuration pages. The popup should have 2 tab (Variables). 2
332BAM-8446MsTest ConversionNULL2
333BAM-8447Categories for tasks backendNULL2
334BAM-8448Categories for tasks UINULL2
335BAM-8454Jobs with different Subversion repositories on the same host: "Failed to checkout source code to revision"We tried to use the following jobs with different Subversion locations in a plan in Bamboo: - *Main job*: https://svn.atlassian.com/svn/private/atlassian/confluence/branches/confluence-project-3.5-stable - *Plugin trigger job*: https://svn.atlassian.com/svn/public/atlassian/bamboo/plugins/build-trigger-scripts/trunk Notice that the first job uses {{/svn/private/}} and the second uses {{/svn/public/}} -- different paths on the same host. Bamboo fails when running the second job because it attempts to check out the first job's revision on the second job's Subversion repository, which does not work: bq. Failed to checkout source code to revision '148195' ... Here's an example on our internal Bamboo server: * https://bamboo.extranet.atlassian.com/browse/CONFSTAB-MAIN-76 2
336BAM-8456Git Repository locks index.lock on Windows agentsWhenever an error occurs on windows agents during the checkout phase(GitOperationHelper.checkout) the .git/index.lock file handle became locked by the system - disallowing any further operations for that particular plan. Details: [BSP-4370|https://support.atlassian.com/browse/BSP-4370]3
337BAM-8478Using the git repository type can not connect to github using ssh keysWhen attempting to use a key to log into my github account using my private key i get an authentication error. Specifying the same key with ssh -i i can connect to github fine. Using a username/password is a temporary work around. 2
338BAM-8492Release Management Plugin - Release Build PostChainAction (java.lang.NullPointerException)I've taken the new Jar from here http://jira.atlassian.com/browse/BAM-8064 I still get the same erro System Error Details Build LGXT Test - LGXT Release 9 : PostChainAction (java.lang.NullPointerException : ) Occurrences: 2 First Occurred: 11 Apr 2011, 4:49:14 PM Last Occurred: 11 Apr 2011, 4:55:16 PM java.lang.NullPointerException com.atlassian.bamboo.build.VariableBuilderBeanImpl.getVariablesForSubscriptionsContext(VariableBuilderBeanImpl.java:125) com.atlassian.bamboo.build.VariableBuilderBeanImpl.filterVariablesByName(VariableBuilderBeanImpl.java:61) com.atlassian.bamboo.build.VariableSubstitutionBeanImpl.substituteBambooVariables(VariableSubstitutionBeanImpl.java:57) com.atlassian.bamboo.build.VariableSubstitutionBeanImpl.substituteBambooVariables(VariableSubstitutionBeanImpl.java:42) com.sysbliss.bamboo.plugins.brmp.action.postrunners.TaggerRunner.runTagger(TaggerRunner.java:74) com.atlassian.bamboo.plugins.brmp.action.BRMPChainCompleteAction.execute(BRMPChainCompleteAction.java:61) com.atlassian.bamboo.chains.ChainPluginSupportImpl.chainCompleted(ChainPluginSupportImpl.java:94) com.atlassian.bamboo.chains.ChainExecutionManagerImpl.finaliseChainStateIfChainExecutionHasCompleted(ChainExecutionManagerImpl.java:525) com.atlassian.bamboo.chains.ChainExecutionManagerImpl.access$600(ChainExecutionManagerImpl.java:49) com.atlassian.bamboo.chains.ChainExecutionManagerImpl$1.run(ChainExecutionManagerImpl.java:281) com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:322) com.atlassian.bamboo.chains.ChainExecutionManagerImpl.execute(ChainExecutionManagerImpl.java:240) com.atlassian.bamboo.chains.ChainExecutionManagerImpl.access$1000(ChainExecutionManagerImpl.java:49) com.atlassian.bamboo.chains.ChainExecutionManagerImpl$2.run(ChainExecutionManagerImpl.java:327) com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:322) com.atlassian.bamboo.chains.ChainExecutionManagerImpl.handleEvent(ChainExecutionManagerImpl.java:307) sun.reflect.GeneratedMethodAccessor374.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) org.springframework.orm.hibernate.HibernateInterceptor.invoke(HibernateInterceptor.java:117) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy48.handleEvent(Unknown Source) com.atlassian.event.legacy.LegacyListenerHandler$LegacyListenerInvoker.invoke(LegacyListenerHandler.java:55) com.atlassian.event.internal.AsynchronousAbleEventDispatcher$2.run(AsynchronousAbleEventDispatcher.java:60) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50) java.lang.Thread.run(Thread.java:662) I've a very simple devenv build.1
339BAM-8503JDK Label should default to JDKAt the moment it's just the first one1
340BAM-8507Fix up the logs pages for Plans & JobsThis still wasn't fixed in 3.0. Table should be 100%. Get rid of view, link should go to the logs tab in the Job. Maybe even dispaly the last 25 lines in the logs inline with the hide / show twixie2
341BAM-8529Bamboo fails to check out git code due to 'Missing object' but command line git clones the repo just fineWhile checking out: https://github.com/krosenvold/bgit.git Checkout to revision 67fc88bf41aa2ddea0e50159868764c82bed5bad has failed due to Missing object 3a450411d6868221ae290bc0c17695de2990d5d8. Note this might happen if the repository contains submodules, as Bamboo does not currently support git submodules. Is it a bug? How can I find out if the repo contains submodules?3
342BAM-8542Tests that are recorded as error cause the build not to display test results.See the following failure: http://tardigrade.sydney.atlassian.com:8085/bamboo/browse/BAM-FC-CLN-3947 2
343BAM-8551execution of accesskey="E" on a build instance results in "page not found"h3. steps # open a build instance # hit ur browsers hotkey for edting -> page not found h3. cause looking @ the generates HTML the fault is obvious: {code:html} <a class="hidden" href="/build/admin/edit/editBuildConfiguration.action?buildKey=ECC-ECC21-18" accesskey="E">Edit Plan</a> {code} h3. suggestion i like the possibility to directly edit the config from a build instance and hence i would not want this to be dropped. after all this is very useful when debugging builds. hence, just fix the link in case of build instances. 1
344BAM-8556Maven 2 Auto Dependency parent checkbox not disabledMaven 2 dependencies determined in the 2.5 bamboo instance still exist, however only the child checkbox is greyed out, not the parent.2
345BAM-8639Update Bamboo Plugin SDK default project to simple taskWe should include two sample tasks: * Builder Task with Executable UI * Test Collector Things we should showcase: * Executables - TaskRequirementSupport and CapabilityDefaultsHelper * ProcessService * TestCollationService with custom TestReportCollector and TestCollectionResult. Should implement and explain TaskTestResultsSupport. * Task Categories 3
346BAM-8678Update Context Sensitive Help for Bamboo 3.1as per the release process here: https://extranet.atlassian.com/display/BAMBOO/Context+Sensitive+Help I have already updated the help-paths.properties to be docs-0311
347BAM-8707Simplify capability message on TasksThe message currently reads: "8 agents are capable of building this Job. However, those agents are currently offline or disabled. This Job is capable of building in the Elastic Cloud on 8 images." This is way to long for this section and distracts with the red color from the actual task at hand. We should shorten this to: "8 agents and 8 images have the _capabilities_ to run this job" Link capabilities to the requirements tab. The numbers are for agents (whether online or offline) people can click through to the requirements tab where they can see the more detailed message We should also align the text on the right, see screenshot.1
348BAM-8746Some Tasks fail on Windows because they exceed the MAX_PATH limit of 260 charsYou might see something like the following: {noformat} The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. {noformat}2
349BAM-8782User can specify on stage creation it is manualNULL1
350BAM-8783User can change manual flag for stageNULL2
351BAM-8784REST API should provide manual stages information* manual flag on stage definition * manual stage in stage result * all data related to manual stage lifecycle Required for proper displaying in navigator1
352BAM-8785Build results with incomplete Manual stages should be clearly marked in all viewsStage only Stage result and jobs result - for results * plan configuration navigator * plan navigator * stages configuration page * plan result navigator Mockups to come2
353BAM-8786Plan execution should stop at manual stage# only object that are necessary to execute current lap should be created for execution # results for ALL stages and jobs should be created when chain execution is started # jobs than will be not executed in current lap should have additional status flag (new ExecutionState enum in resultSummary) # chain result should be marked as waiting for continue (the same ExecutionState enum in resultsSummary) # Plan status is SUCCESSFUL if no failures in executed jobs1
354BAM-8787User can resume execution of plan stopped on manual stage# The only stage that could be resumed is the stage where chain executions stopped ## Bamboo should know what stage to execute # New Actions menu item "Continue" (plan result and job result) - automatically resumes on manual stage, visible only if execution stopped on manual stage # Play button in Navigator on manual stage Tick1
355BAM-8789User can execute manual stages automatically on specific conditions# Run Parameterized Build dialog should have new tab ## Same UI on the JIRA side (see mockups from the Release Management Spec) # REST API parameters to allow run up to a stage ## Name of the manual stage to automatically run up to and including ## This is automatically run any previous manual stages as well # The same url parameters should be accepted by action and REST API (/) 2
356BAM-8790A user can see on Dashboard plans with manual stages waiting for execution# Only if latest executed plan stopped on manual stage # Only marker - no direct action available to continue1
357BAM-8791Plan configuration should be validated before resuming plan executionPlan should be validated against stored result (with partial job results) Error (friendly :) ) should be presented to the user when: # If stage or job meant to be executed has been removed from plan # If plan structure (stages, jobs) has been changed2
358BAM-8805Events for manual stages/rerun stage* stop on manual stage * result manual stage * restart failed stage1
359BAM-8806Plugin points for manual stages/rerun stage* stop on manual stage * resume manual stage * restart failed stage2
360BAM-8847Ability to hit the REST endpoint to trigger a build in Bamboo from the JIRA pluginNULL1
361BAM-8866Bamboo not updating Mercurial sub-repositories when getting source on build serverFrom SAC: "We use Mercurial and our project has a sub-repository (in a folder UI\Elegant) which is specified in the .hgsub file. The project is setup correctly, we can get it to any PC, commit, push, pull changes etc.. However, when changes to the sub-repository are made the Bamboo build fails. The hg.exe command appears to work in getting the project to the cache folder, though the sub-repository (UI\Elegant) is missing, but when it then tries to update the working folder (Bamboo\xml-data\build-dir\AIE-DEV-JOB1) it fails saying no working folder is specified for UI\Elegant. How can we resolve this? " https://support.atlassian.com/browse/BSP-46742
362BAM-8868Build time for statistics should be sum of job times for rerun buildsWhen manual stage is waiting for execution - it changes build time statistics. Sum of job execution should be counted, not chain stop - chain start times.1
363BAM-8896Whilelist Bamboo REST proxy in Bamboo JIRA PluginNot done for the moment since we don't know what URLS we want to hit1
364BAM-8899Git Repository should check out symbolic links correctlysee: http://forums.atlassian.com/thread.jspa?threadID=54198&tstart=0 {quote} Hey folks, I'm rolling out a new instance of Bamboo 3.1 using a git repository. When I clone the repo using my local git client, symbolic links are checked out correctly, but when Bamboo checks them out the files only contain the name of the files they should be linked to. {quote}1
365BAM-8932A user can define application link to Jira applicationNULL2
366BAM-8933A user can define link between Bamboo project and Jira projectNULL2
367BAM-8935Jira issue information should be asynchronously retrieved from Jira on view - ajaxNULL2
368BAM-8943REST endpoint to retrieve possible variables to override.NULL1
369BAM-8944Ability to pick future manual stages to run when triggering a previous build.NULL2
370BAM-8955Handle Authentication Errors returned by ProxyWhen the JIRA UI polls bamboo it could require the oauth handshake, we need to make sure this works, and flows nicely.2
371BAM-8957Strange errors with disappearing OAuth consumers on JBAC when talking to JDOGSo I was trying to make some gadgets work on JDOG. I was getting the "Login & Approve" button on JDOG. I clicked it and got redirected to JBAC where I approved access. Once back in JDOG I'd still get the Login & Approve button. I tried to then reduce the JDOG OAuth consumer from JBAC but when I clicked delete I'd get an error popup with something along the lines of 'Failed to remove OAuth consumer. I tried this several times with the same result. Refreshed the page and the consumer was still there. I then visited https://jira.bamboo.atlassian.com/plugins/servlet/oauth/users/access-tokens to look at my access tokens but got this: {noformat} com.atlassian.templaterenderer.RenderingException: java.lang.NullPointerException: consumer com.atlassian.templaterenderer.velocity.one.six.internal.VelocityTemplateRendererImpl.render(VelocityTemplateRendererImpl.java:99) sun.reflect.GeneratedMethodAccessor2870.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58) org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56) org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy208.render(Unknown Source) com.atlassian.oauth.serviceprovider.internal.servlet.user.AccessTokensServlet.doGet(AccessTokensServlet.java:60) javax.servlet.http.HttpServlet.service(HttpServlet.java:690) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) com.atlassian.plugin.servlet.DelegatingPluginServlet.service(DelegatingPluginServlet.java:42) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) com.atlassian.plugin.servlet.ServletModuleContainerServlet.service(ServletModuleContainerServlet.java:52) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.bamboo.filter.AccessLogFilter.doFilter(AccessLogFilter.java:66) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) com.atlassian.bamboo.filter.SeraphLoginFilter.doFilter(SeraphLoginFilter.java:74) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) com.atlassian.bamboo.filter.BambooAcegiProxyFilter.doFilter(BambooAcegiProxyFilter.java:25) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.bamboo.filter.LicenseFilter.doFilter(LicenseFilter.java:73) com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:71) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:211) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:150) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:71) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170) com.atlassian.bamboo.persistence.BambooSessionInViewFilter.doFilterInternal(BambooSessionInViewFilter.java:31) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200) org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773) org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) java.lang.Thread.run(Thread.java:662) Caused by: java.lang.NullPointerException: consumer com.atlassian.oauth.util.Check.notNull(Check.java:37) com.atlassian.oauth.Token$TokenBuilder.consumer(Token.java:178) com.atlassian.oauth.serviceprovider.sal.PluginSettingsServiceProviderTokenStore.get(PluginSettingsServiceProviderTokenStore.java:92) com.atlassian.oauth.serviceprovider.sal.PluginSettingsServiceProviderTokenStore$KeyToToken.apply(PluginSettingsServiceProviderTokenStore.java:232) com.atlassian.oauth.serviceprovider.sal.PluginSettingsServiceProviderTokenStore$KeyToToken.apply(PluginSettingsServiceProviderTokenStore.java:221) com.google.common.collect.Iterators$8.next(Iterators.java:751) org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:346) org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:175) org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87) org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:336) org.apache.velocity.Template.merge(Template.java:328) org.apache.velocity.Template.merge(Template.java:235) com.atlassian.templaterenderer.velocity.one.six.internal.VelocityTemplateRendererImpl.render(VelocityTemplateRendererImpl.java:90) ... 113 more {noformat} When I went back to the Oauth consumers page the consumer was gone. I re-added it and now https://jira.bamboo.atlassian.com/plugins/servlet/oauth/users/access-tokens works again. I can also get the gadgets to authenticate. Very weird I know and not the best of bug reports but it happend :).3
372BAM-8969If an older version of Bamboo is trying to run a newer version of the data, we should stop the serverIf a Bamboo 3.1.1 instance is shutdown and then a 2.6.2 is run pointing to the 3.1.1 Home-Dir, the 2.6.2 will change the bamboo.cfg.xml to an old Build Number. The Build number should be checked and if it is clear that it is higher than the one for the installation, Bamboo should not even start. This can avoid potential changes that version 2.6.2 would make to the 3.1.1 database and avoid data corruption.1
373BAM-8972Ability for the Test Collater to aggregate test resultsIf more than one Task creates test results in a Job, Bamboo will not be able to save all the test results for all the Tasks. Only the last task will have the test results saved and presented on the UI. *Desired behavior:* Any Task can create test results and the final Test Report will include results from all Tasks that created tests.2
374BAM-8976Restricted administrators cannot delete, move or create plansUsers that have restricted administrator permissions (ie, Studio customers) are able to see the screens to move and delete plans, but when they try to perform the action, they are prevented from doing so due to method level permission checks on PlanManager. It appears to me that {{ACL_BUILD_ADMIN}} in {{applicationContextAcegiAuthorization}} should be granted to restricted administrators, not just normal administrators.1
375BAM-8985Git Repository should work with command 'git log'.from [BSP-4755|https://support.atlassian.com/browse/BSP-4755] Steps to reproduce: 1) set up a Git plan, for example pointing at "git://github.com/atlassian/homebrew.git" 1.1) set up branch != "master", i.e. "atlassian-sdk" 1.2) create script task containing "git log" 2) tick "clean working directory after each build" (or "Force Clean Build" - doesn't really matter for this issue) 3) run plan (you might need to run it twice to observe the problem) 4a) build will fail with "fatal: bad default revision 'HEAD'" 4b) where expected behavior is to see git changesets in the logs of the *successful* build3
376BAM-9014Applink type is not recognised if annonymous access is turned off We need to white list /rest/applinks/1.0/manifest. Should also check with integration guys what other URLS need to be publicly available1
377BAM-9018Creation of trusted apps fails with hibernate exceptionsHibernate operation: Could not execute JDBC batch update; SQL []; Batch entry 0 insert into TRUSTED_APPS (APP_ID, PUBLIC_KEY, APP_NAME, TIMEOUT, TRUSTED_APPS_ID) values ('jira:15489595', 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5wwkHI85p7czkTQCdoDkcA4TKkcF3VC6AHSrXZoMUfIQFE8QRetWipfAob0CMnG+iX0BWn/aPCJkkpHyt7xUNwAsrtHMISdtHovbBWRnE923r6tafzjwnu4sy2O82ogWN0HhSsA/2C15S7IC7rxiFhnpHNrt2UzERgonBbYbYBqvkP/2xz697UwD82Y8Wh7zk3IdPhCiWX6hcHzVLxtzxCj34O+toqLMnHOwW3HDcTue0Qba3nlwZ4fpRwEHZNI1mbDRaOmPRnoAb+jpr9XpO6iM7fDij277P30R6AiJ19oy+YA6z6vkDdVmQYAs7y+qAq0QxtLh4B50lX4oJAp/pwIDAQAB', NULL, '10000', '327682') was aborted. Call getNextException to see the cause.; nested exception is java.sql.BatchUpdateException: Batch entry 0 insert into TRUSTED_APPS (APP_ID, PUBLIC_KEY, APP_NAME, TIMEOUT, TRUSTED_APPS_ID) values ('jira:15489595', 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5wwkHI85p7czkTQCdoDkcA4TKkcF3VC6AHSrXZoMUfIQFE8QRetWipfAob0CMnG+iX0BWn/aPCJkkpHyt7xUNwAsrtHMISdtHovbBWRnE923r6tafzjwnu4sy2O82ogWN0HhSsA/2C15S7IC7rxiFhnpHNrt2UzERgonBbYbYBqvkP/2xz697UwD82Y8Wh7zk3IdPhCiWX6hcHzVLxtzxCj34O+toqLMnHOwW3HDcTue0Qba3nlwZ4fpRwEHZNI1mbDRaOmPRnoAb+jpr9XpO6iM7fDij277P30R6AiJ19oy+YA6z6vkDdVmQYAs7y+qAq0QxtLh4B50lX4oJAp/pwIDAQAB', NULL, '10000', '327682') was aborted. Call getNextException to see the cause. 1
378BAM-9029Expiry for shared artifactsFor us it seems like the global artifact expiry is not affecting the shared artifacts. Because our jobs are producing shared artifacts that are around 1GB big, we are constantly running out of diskspace on the server. Is there a possibility to outdate the shared artifacts which are stored on the server?2
379BAM-9033The contents of atlassian-bundled-plugins.zip are retained in memoryI'm seeing in a heap dump of Bamboo from studio.atlassian.com, that the content of {{atlassian-bundled-plugins.zip}} is retained in memory by the Tomcat {{WebappClassLoader}}. This is a problem that has already been addressed in Confluence (CONF-17511) and JIRA ([JRADEV-6137|https://jdog.atlassian.com/browse/JRADEV-6137]), so a similar solution should be implemented in Bamboo to avoid using the classloader to access the file. This file isn't as large in Bamboo as it is in JIRA and Confluence, but it still is a fairly significant amount of heap space to be wasting, and it is actually considerably bigger on Studio than in a standalone Bamboo (10M in Studio vs. 5.2M normally).1
380BAM-9089Release status is not synced via rest status call in JIRA Bamboo pluginWhats happening: * The OAuth token has expired during a release * Once the user has done the 3LO dance they are returned to the tab panel * Tab Panel queries Bamboo, detects that the build has finished (success or failure), releases the jira version * The frontend code does not update the fact that the version has been released even though the status (released or not) has been sent back via the JSON response2
381BAM-9102Bamboo returns a JSON response when I submit the "Edit Artifact Dependency" dialog using EnterSteps to reproduce: # Click Edit on an artifact dependency # Focus the Destination Directory field and change the text # Press Enter # Bamboo briefly shows "An unknown error has occurred", and then returns a JSON response (!) See this video: http://screencast.com/t/DHniQgeSp1
382BAM-9114Running a Bamboo Remote Agent service on Windows as a user other than System the parameter passed to the java.io.tmpdir fails the buildWhen the agent runs as the system, the param for java.io.tmpdir defaults to *C:\WINDOWS\TEMP\<BUILD-KEY>* and the build works just fine. When I run the agent as a user (trying to get around permissions issues with writing) the param for java.io.tmpdir defaults to *"C:\Documents and Settings\<user-name>\Local Settings\temp\<BUILD-KEY>"* When the build runs, the first task that runs an Ant script I get a message that says: {color:red} BUILD FAILED Target "and" does not exist in project "<project-name>"{color} Even though I see that the param being passed is in quotes so the space in the path should be taken care of, that's the only "and" I can find in my log. In the build script "and" does not appear anywhere, not even embedded in some other word.2
383BAM-9163Change the "not run" icon in manual stagesNULL1
384BAM-9210agent.error.wrongState is not defined in BambooActionSupport.propertieswhen removing agent that is building currently1
385BAM-9231Race condition can create duplicate plan keys, causing Bamboo to fail to startLooks like a double-post of a create plan form resulted in duplicate plan key creation: {noformat} bamboo=# select build_id, buildkey from build; build_id | buildkey ----------+---------- 393217 | TRUNK 1507329 | JSTMVN 1507330 | JSTMVN 393218 | JOB1 {noformat} Excerpt from the Bamboo logs at that time: {noformat} @400000004e166cf406b6c1f4 2011-07-07 21:35:22,112 INFO [TP-Processor15] [AccessLogFilter] sysadmin POST https://sdog.jira.com/builds/build/admin/create/createPlan.action 103093kb @400000004e166d0d0c95cb4c 2011-07-07 21:35:47,211 INFO [TP-Processor17] [AccessLogFilter] sysadmin POST https://sdog.jira.com/builds/build/admin/create/createPlan.action 114482kb @400000004e166d1429151cdc 2011-07-07 21:35:54,685 INFO [TP-Processor15] [PlanCreationTemplate] Creating plan with key: JSTDEV-JSTMVN @400000004e166d14301380b4 2011-07-07 21:35:54,803 INFO [TP-Processor15] [PlanCreationTemplate] New build created with key JSTDEV-JSTMVN @400000004e166d1432779bec 2011-07-07 21:35:54,844 INFO [TP-Processor17] [PlanCreationTemplate] Creating plan with key: JSTDEV-JSTMVN @400000004e166d1434823ce4 2011-07-07 21:35:54,852 ERROR [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-6] [ChainExecutionManagerImpl] Could not start executing Plan 'JSTDEV-JSTMVN' as the plan did not have any stages defined @400000004e166d14348244b4 2011-07-07 21:35:54,878 ERROR [TP-Processor17] [FiveOhOh] 500 Exception was thrown. @400000004e166d143482489c org.springframework.dao.IncorrectResultSizeDataAccessException: query did not return a unique result: 2 @400000004e166d143482489c at org.springframework.orm.hibernate.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:590) @400000004e166d143482600c at org.springframework.orm.hibernate.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:353) @400000004e166d14348263f4 at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:375) @400000004e166d14348267dc at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:337) @400000004e166d1434826bc4 at com.atlassian.bamboo.plan.PlanHibernateDao.getPlanByKey(PlanHibernateDao.java:43) @400000004e166d1434826fac at sun.reflect.GeneratedMethodAccessor225.invoke(Unknown Source) @400000004e166d1434826fac at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) @400000004e166d143482871c at java.lang.reflect.Method.invoke(Method.java:597) @400000004e166d1434828b04 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) @400000004e166d1434828b04 at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) @400000004e166d1434828eec at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) @400000004e166d14348296bc at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) @400000004e166d14348296bc at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) @400000004e166d1434829aa4 at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) @400000004e166d1434829e8c at $Proxy7.getPlanByKey(Unknown Source) @400000004e166d1434829e8c at com.atlassian.bamboo.plan.PlanManagerImpl.getPlanByKey(PlanManagerImpl.java:91) @400000004e166d143482a274 at com.atlassian.bamboo.plan.PlanManagerImpl.getPlanByKey(PlanManagerImpl.java:85) {noformat} This completely breaks Bamboo. It can no longer even start up without throwing the {{IncorrectResultSizeDataAccessException}}. Ideally, the uniqueness of this key should be enforced via a database constraint.2
386BAM-9297Modify Bamboo and Bamboo agents to first use the JAVA_HOME variable when startingSome users report that Bamboo starts using the first java command on the PATH, rather than respecting the exported JAVA_HOME varible. This is inconsistent iwth other Atlassian tools, for example, JIRA, which look at the JAVA_HOME variable when starting. We need to test this behaviour for: # Bamboo server itself # Bamboo agents. For more information that caused this issue see: https://jira.atlassian.com/browse/BAM-9284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=258775#comment-2587751
387BAM-9339JBAM Builds Versions tab panel breaks when no issues associated with versionThe related builds by date filter when looking at the builds for a specific version causes null pointer exceptions in bamboo when there are no issues with that version. Fix is required on Bamboo side to avoid null pointers, and maybe on jira side to prevent it from making an unecessary call in the first place. {code} 2011-07-22 14:59:23,616 INFO [qtp1872676077-17] [AccessLogFilter] admin POST http://brydie:8085/bamboo/ajax/build/viewBuildResultsByJiraKey.action 25253kb 2011-07-22 14:59:23,620 ERROR [qtp1872676077-17] [FiveOhOh] 500 Exception was thrown. java.lang.NullPointerException com.atlassian.bamboo.plugins.jiraPlugin.actions.ajax.ViewBuildResultsByJiraKey.execute(ViewBuildResultsByJiraKey.java:42) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) {code}1
388BAM-9342Maven dependency task cannot handle Maven3 projectsBamboo embeds Maven 2.1.0 to read project metadata for the Automatic Dependency task. This version of Maven has problems reading POM and metadata files built with Maven 3.0.x. This change cannot be back ported to 3.2.x as changing the Maven version has certain risks attached to it that can only be mitigated by a full release of Bamboo by running through teams quality control process.5
389BAM-9358"An unexpected error has occurred" after clicking a link to a JIRA issueNULL1
390BAM-9371Cannot install plugins onto JBAC using the UPM in ChromeFirefox works fine, but when I try to install a plugin using Chrome the installer popup appears and then never finishes JBAC is currently using: Atlassian Bamboo version 3.2 build 2600 - 20 Jul 111
391BAM-9372Stop distributing the user management files at <Bamboo-Install>/webapp/WEB-INF/classes/Bamboo 3.2 users the Crowd/LDAP files located at *<Bamboo-Home-Dir>/xml-data/configuration/* However we are still distributing them at *<Bamboo-Install>/webapp/WEB-INF/classes/*1
392BAM-9384Webresources from servlets leak onto the next pageWhen the UPM UI is viewed, followed by any other UI the UPM resources are also included on the next page. This can be seen quite easily by looking at the html that is output. From a bit of investigation com.atlassian.bamboo.filter.RequestCacheThreadLocalFilter should be run for any request that returns html to clear the webResource cache. It is only shown for .action or /s/* Fragment from web.xml {code:xml} <filter-mapping> <filter-name>requestCache</filter-name> <url-pattern>/s/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping> <filter-mapping> <filter-name>requestCache</filter-name> <url-pattern>*.action</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping> <filter> <filter-name>requestCache</filter-name> <filter-class>com.atlassian.bamboo.filter.RequestCacheThreadLocalFilter</filter-class> </filter> {code} Adding /plugins/servlet/* as a filter mapping would solve the issue I was running into (the same script being included multiple times)2
393BAM-9387Bamboo does not start on OpenJDK 7Captcha depends on SUN packages. {noformat} 2011-08-01 11:06:01,314 INFO [main] [BrokerService] ActiveMQ JMS Message Broker (bamboo, ID:barnard.local-62860-1312160747729-0:1) stopped 2011-08-01 11:06:01,316 INFO [main] [ConfigurableLocalSessionFactoryBean] Closing Hibernate SessionFactory 2011-08-01 11:06:01,320 ERROR [main] [ContextLoader] Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'imageCaptchaService' defined in class path resource [applicationContextCaptcha.xml]: Cannot resolve reference to bean 'captchaEngine' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'captchaEngine' defined in class path resource [applicationContextCaptcha.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.atlassian.bamboo.captcha.AtlassianGimpyEngine]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/ImageFormatException Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'captchaEngine' defined in class path resource [applicationContextCaptcha.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.atlassian.bamboo.captcha.AtlassianGimpyEngine]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/ImageFormatException Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.atlassian.bamboo.captcha.AtlassianGimpyEngine]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/ImageFormatException Caused by: java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/ImageFormatException java.lang.Class.forName0(Native Method) java.lang.Class.forName(Class.java:186) com.octo.captcha.image.gimpy.GimpyFactory.class$(GimpyFactory.java:30) com.octo.captcha.image.gimpy.GimpyFactory.<clinit>(GimpyFactory.java:30) com.atlassian.bamboo.captcha.AtlassianGimpyEngine.buildInitialFactories(AtlassianGimpyEngine.java:59) com.octo.captcha.engine.image.ListImageCaptchaEngine.<init>(ListImageCaptchaEngine.java:24) com.atlassian.bamboo.captcha.AtlassianGimpyEngine.<init>(AtlassianGimpyEngine.java:28) sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) java.lang.reflect.Constructor.newInstance(Constructor.java:525) org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85) org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:752) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:717) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:386) org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267) org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110) org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:389) org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:120) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:795) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:713) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:386) org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:245) org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:188) org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) com.atlassian.spring.container.ContainerContextLoaderListener.contextInitialized(ContainerContextLoaderListener.java:32) org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:633) org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:228) org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1160) org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:576) org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492) org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55) org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:93) org.eclipse.jetty.server.Server.doStart(Server.java:243) org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55) com.atlassian.bamboo.server.Server.main(Server.java:77) Caused by: java.lang.ClassNotFoundException: com.sun.image.codec.jpeg.ImageFormatException java.net.URLClassLoader$1.run(URLClassLoader.java:366) java.net.URLClassLoader$1.run(URLClassLoader.java:355) java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader.findClass(URLClassLoader.java:354) java.lang.ClassLoader.loadClass(ClassLoader.java:423) sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 47 more 2011-08-01 11:06:01,326 WARN [main] [log] Failed startup of context WebAppContext@2ba42999@2ba42999/bamboo,file:/Users/jdumay/code/bamboo/components/bamboo-web-app/src/main/webapp/,/Users/jdumay/code/bamboo/components/bamboo-web-app/src/main/webapp org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'imageCaptchaService' defined in class path resource [applicationContextCaptcha.xml]: Cannot resolve reference to bean 'captchaEngine' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'captchaEngine' defined in class path resource [applicationContextCaptcha.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.atlassian.bamboo.captcha.AtlassianGimpyEngine]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/ImageFormatException Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'captchaEngine' defined in class path resource [applicationContextCaptcha.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.atlassian.bamboo.captcha.AtlassianGimpyEngine]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/ImageFormatException Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.atlassian.bamboo.captcha.AtlassianGimpyEngine]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/ImageFormatException Caused by: java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/ImageFormatException java.lang.Class.forName0(Native Method) java.lang.Class.forName(Class.java:186) com.octo.captcha.image.gimpy.GimpyFactory.class$(GimpyFactory.java:30) com.octo.captcha.image.gimpy.GimpyFactory.<clinit>(GimpyFactory.java:30) com.atlassian.bamboo.captcha.AtlassianGimpyEngine.buildInitialFactories(AtlassianGimpyEngine.java:59) com.octo.captcha.engine.image.ListImageCaptchaEngine.<init>(ListImageCaptchaEngine.java:24) com.atlassian.bamboo.captcha.AtlassianGimpyEngine.<init>(AtlassianGimpyEngine.java:28) sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) java.lang.reflect.Constructor.newInstance(Constructor.java:525) org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85) org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:752) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:717) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:386) org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267) org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110) org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:389) org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:120) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:795) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:713) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:386) org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:245) org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:188) org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) com.atlassian.spring.container.ContainerContextLoaderListener.contextInitialized(ContainerContextLoaderListener.java:32) org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:633) org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:228) org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1160) org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:576) org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492) org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55) org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:93) org.eclipse.jetty.server.Server.doStart(Server.java:243) org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55) com.atlassian.bamboo.server.Server.main(Server.java:77) Caused by: java.lang.ClassNotFoundException: com.sun.image.codec.jpeg.ImageFormatException java.net.URLClassLoader$1.run(URLClassLoader.java:366) java.net.URLClassLoader$1.run(URLClassLoader.java:355) java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader.findClass(URLClassLoader.java:354) java.lang.ClassLoader.loadClass(ClassLoader.java:423) sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 47 more 2011-08-01 11:06:01,343 INFO [main] [log] Started SelectChannelConnector@0.0.0.0:9087 **************************************************************** * * * You can see Bamboo by visiting http://localhost:9087/bamboo * * **************************************************************** {noformat}5
394BAM-9390Prevent failure of the 2511 upgrade task{code} 2011-07-30 11:54:53,085 INFO [1-UpgradeTaskBackgroundThread:pool-7-thread-1] [AbstractUpgradeManager] --------------------------------------------------------------------------- 2011-07-30 11:54:53,085 INFO [1-UpgradeTaskBackgroundThread:pool-7-thread-1] [AbstractUpgradeManager] Running upgrade task 2511 : Upgrade JIRA server configuration to UAL config 2011-07-30 11:54:53,085 INFO [1-UpgradeTaskBackgroundThread:pool-7-thread-1] [AbstractUpgradeManager] --------------------------------------------------------------------------- 2011-07-30 11:54:54,164 ERROR [1-UpgradeTaskBackgroundThread:pool-7-thread-1] [AbstractUpgradeManager] java.lang.IllegalArgumentException: Application with server ID 3c74886c-6074-30a4-a22d-dcc12346ba68 is already configured java.lang.IllegalArgumentException: Application with server ID 3c74886c-6074-30a4-a22d-dcc12346ba68 is already configured at com.atlassian.applinks.core.DefaultApplicationLinkService.addApplicationLink(DefaultApplicationLinkService.java:201) at com.atlassian.applinks.core.DefaultApplicationLinkService.createApplicationLink(DefaultApplicationLinkService.java:638) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.atlassian.applinks.host.OsgiServiceProxyFactory$DynamicServiceInvocationHandler.invoke(OsgiServiceProxyFactory.java:111) at $Proxy32.createApplicationLink(Unknown Source) at com.atlassian.bamboo.applinks.JiraApplinksServiceImpl.createJiraApplinkWithBasicAuthentication(JiraApplinksServiceImpl.java:77) at com.atlassian.bamboo.upgrade.tasks.UpgradeTask2511UpgradeJiraServerConfig.doUpgrade(UpgradeTask2511UpgradeJiraServerConfig.java:65) at com.atlassian.bamboo.upgrade.tasks.AbstractInHibernateTransactionUpgradeTask$1.doInHibernateTransaction(AbstractInHibernateTransactionUpgradeTask.java:40) at com.atlassian.bamboo.persistence.BambooConnectionTemplate$1$1.doInHibernate(BambooConnectionTemplate.java:51) at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:370) at com.atlassian.bamboo.persistence.BambooConnectionTemplate$1.doInTransactionWithoutResult(BambooConnectionTemplate.java:44) at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:127) at com.atlassian.bamboo.persistence.BambooConnectionTemplate.execute(BambooConnectionTemplate.java:39) at com.atlassian.bamboo.upgrade.tasks.AbstractInHibernateTransactionUpgradeTask.doUpgrade(AbstractInHibernateTransactionUpgradeTask.java:36) at com.atlassian.bamboo.upgrade.AbstractUpgradeManager.runUpgradeTask(AbstractUpgradeManager.java:175) at com.atlassian.bamboo.upgrade.UpgradeManagerImpl.doUpgrade(UpgradeManagerImpl.java:72) at com.atlassian.bamboo.upgrade.UpgradeLauncher$1.call(UpgradeLauncher.java:115) at com.atlassian.bamboo.upgrade.UpgradeLauncher$1.call(UpgradeLauncher.java:112) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50) at java.lang.Thread.run(Thread.java:662) 2011-07-30 11:54:54,165 INFO [1-UpgradeTaskBackgroundThread:pool-7-thread-1] [AbstractUpgradeManager] Completed upgrade task 2511 with errors. 2011-07-30 11:54:54,166 FATAL [main] [UpgradeLauncher] Upgrade task error: Upgrade task for build 2511 failed with exception: Application with server ID 3c74886c-6074-30a4-a22d-dcc12346ba68 is already configured {code} Currently, we know that the recommendation from [this KB Article|http://confluence.atlassian.com/display/BAMKB/Bamboo+3.2+Upgrade+Fails+on+UAL+Upgrade+Task] can fix the problem.2
395BAM-9420BRMP incompatible with Bamboo 3.2Following error is recorded when loading the BRMP plugin (Version 2.0.4 or 2.0.1) in Bamboo 3.2: {code} 2011-08-01 11:49:35,400 ERROR [qtp744758938-11] [DefaultPluginManager] Exception when retrieving plugin module brmpPlanConfiguration, will disable plugin com.atlassian.bamboo.plugins.bamboo-release-management-plugin org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.atlassian.bamboo.plugins.brmp.config.ReleaseManagementConfigurator': Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: com/atlassian/bamboo/jira/jiraserver/JiraServerManager Caused by: java.lang.NoClassDefFoundError: com/atlassian/bamboo/jira/jiraserver/JiraServerManager at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2427) at java.lang.Class.privateGetPublicMethods(Class.java:2547) ..... ..... Caused by: java.lang.ClassNotFoundException: com.atlassian.bamboo.jira.jiraserver.JiraServerManager at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190){code} 3
396BAM-9459Configuring OAuth Consumers document is out of dateIn Bamboo 3.2, in order to setup an OAuth consumer you need to first trust 2 applications, and then you'll able to add an OAuth consumer. This document is out of date: http://confluence.atlassian.com/display/BAMBOO/Configuring+OAuth+Consumers It says on Step 3: _In the left-hand menu, under the title 'Gadgets', click the 'OAuth Consumers' link. The 'OAuth Administration' page will be displayed, showing a list of configured OAuth Consumers (if any exist)._ There is no such option under the Gadgets section, only "Available Gadgets", and that page has no OAuth links either.1
397BAM-9485Release feature in JIRA and Bamboo with trusted application not working properlyWhen User configure trusted application to communicate between JIRA and Bamboo. The feature release version will not work properly. The JIRA will not show the following in the UI !bamboojira.png|thumbnail! This problem does not happen when using basic authentication in application link. As a workaround user can try with basic authentication.jira5
398BAM-9511Mercurial Repository should correctly filter changesets since last build (even if there was more than 100 changesets)http://tardigrade.sydney.atlassian.com:8085/bamboo/browse/BAM-EXT-4049 on bamboo-hg repository, lastVcsRevisionKey = 1c969a8270b7b6b70ff7f855a31fde22d3abae0c (Marcin Gardias code change) currentRevisionKey = 06998bc525a291de042309b8972e5d743d491d8b (Krystian's merge) between those two revisions Bamboo has found 106 code changes. Due to hard limit (100 changeset parsed for the build, no more) the Mercurial Repository falsely filters out the not-relevant changesets to current branch: bq. The Mercurial Plugin might incorrectly report the changesets triggering the build *if* there was more than 100 (HgRepository.CHANGESET_LIMIT) changes between the last build. The Mercurial Plugin will just have not enough information to traverse the changeset graph properly and will in defense report all changesets between, even those non-related to the built branch. Code responsible is near here: [HgCommandProcessor.filterOutUnreachableChangesets|https://atlaseye.atlassian.com/browse/bamboo-hg/components/bamboo-plugins/bamboo-plugin-mercurial/src/main/java/com/atlassian/bamboo/plugins/hg/HgCommandProcessor.java?r=d8b981d129d0#to384] I'm raising this issue so we can have a look at in in better detail.2
399BAM-9518Error summary does not match actual error log when rerunningThe Error Summary shows a build failure, but when I click through the build was actually successful. Looks like the job was retried but the old error summary still shows. 1
400BAM-9556JBAM - Socket time outs after 10 secondsWhen talking to tardigrade from a JIRA Standalone instance I keep getting socket time out exceptions after 10 seconds. This is happening a lot. Not sure if the core problem is Tardigrade fro taking too long or the Plugin should be waiting longer than that for a response. The error message is not that friendly either. 1
401BAM-9597On restart non default project -> Bamboo servers links aren't usedIf you have two links to Bamboo and you have a project that points to the non-default App Link, this will not be respected on a restart. You need to go to the Bamboo config screen and resave the configuration for it work again2
402BAM-9656Handle empty destination directories correctly for artifacts when using OracleCurrently, the Destination directory option in Artifact Dependency can be left as empty. This does not work when using Oracle. Producing artifacts works well, but when a job from a later stage tries to use the artifacts and error occurs. As Oracle cannot handle storing empty strings, the directory is stored as NULL instead. It looks like Bamboo fails to deal with NULLs for a destination directory when retrieving and using the value: {code} java.lang.NullPointerException at java.io.File.<init>(File.java:305) at com.atlassian.bamboo.build.artifact.LocalArtifactManager.retrieve(LocalArtifactManager.java:74) at com.atlassian.bamboo.build.pipeline.tasks.PrepareBuildTask.prepareArtifacts(PrepareBuildTask.java:100) at com.atlassian.bamboo.build.pipeline.tasks.PrepareBuildTask.call(PrepareBuildTask.java:50) {code} The problem happens during execution of the second stage, even though no actual build action is being performed. The bamboo-home/artifacts directory is present, and the artifact is created correctly. If the directory the artifact should be referenced from in stage 2 is changed, another nullpointerexception happens: {code} 2011-08-29 17:14:30,361 ERROR [qtp470279362-11] [FiveOhOh] 500 Exception was thrown. java.lang.NullPointerException at com.atlassian.bamboo.ww2.actions.build.admin.config.ConfigureArtifactSubscription.isSubscriptionUnique(ConfigureArtifactSubscription.java:158) at com.atlassian.bamboo.ww2.actions.build.admin.config.ConfigureArtifactSubscription.validateSubscription(ConfigureArtifactSubscription.java:147) {code} 1
403BAM-9674When retrying a release with the release management plugin, default plan variables displayed are not used in the buildWe have a bamboo plan for our "release" which runs the maven-release-plugin to actually release our software. We define the plan with two plan variables: "thisVersion" and "nextVersion". Steps to reproduce: # Go to a JIRA version for the project we want to release, go to the "release" tab, and click to release this JIRA version using the bamboo release plugin # select "release with new build" and choose the correct bamboo plan (the release plan with the custom variables) # Click the link to type a value for the variable "thisVersion" and enter a value of 1.1.0 # Click the link to type a value for the variable "nextVersion" and enter a value of 1.2.0.M1-SNAPSHOT # Click Release \\ The plan will fire. If the plan fails, then it is displayed as failing in JIRA and there is a button to "retry" \\ # Click Retry and the same release plugin popup will be displayed with the previously selected values already filled out except for these problems: * *while there are two rows for each of the two plan variables we previously input, the variable name in the dropdown is the same for each*. It lists both variable names as "nextVersion", even though we originally selected the drop downs as "thisVersion" for the first, and "nextVersion" for the second. ** Note that the correct values, however, are still present in the text boxes. Thus when you see the screen (and I forgot to get a screenshot) you see in the first row a select box with "nextVersion" but with a value of 1.1.0. And the second row has (again) "nextVersion" in the drop down and the text box value of 1.2.0.M1-SNAPSHOT. Thus, it persisted the text box values correctly but not the drop down selections correctly. * If you only change the value of the first drop down -- i.e. change the first drop down from "nextVersion" to "thisVersion" (which is how we originally filled it out) and don't touch the second drop down box at all -- then it will _only_ set the "thisVersion" plan variable (the drop down that we physically clicked and changed). It will _not_ submit the "nextVersion" variable value to the plan, despite appearing exactly as it did when we originally filled out the form. This of course made my plan fail a second time as the maven-release plugin needs the "nextVersion" value, and since I don't have a default maven fails because the next version is "" (empty string). I went back to the Jira Version -> release page and "retried" a third time. Again I was presented with a form that had both drop downs displayed as "nextVersion". I clicked the first row drop down and changed it to to the correct "thisVersion" variable. Then I clicked the second row (currently "nextVersion"), deliberately changed it to "thisVersion" and then clicked again to change it back to "nextVersion". I left the text box values alone -- as they were already correct. I submitted this and it worked perfectly. Thus, by clicking the second row dropdown and changing it and changing it back is a valid workaround. This seems pretty minor as there is an easy workaround and it seems to only be a problem whenever a release build fails, which is probably rare.2
404BAM-9680Oauth Access Token and Plugin Manager option is broken when Bamboo integrate with LDAP with the cache attribute is set to falseCurrently, if Bamboo integrated with LDAP using the atlassian-user.xml with the LDAP repository cache is set to false example shown below: {code} <ldap key="adRepository" name="AD Repository" cache="false"> {code} With the cache is turn off, when user click on the *Oauth Access Token* and *Plugin Manage* option will throw the following exception and user will be direct to the login page: {code} 2011-09-02 18:04:56,842 ERROR [qtp33513127-17] [LDAPUserManagerReadOnly] Error retrieving user: 'zed2' from LDAP. com.atlassian.user.impl.RepositoryException: javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.jndi.ldap.LdapCtxFactory [Root exception is java.lang.ClassNotFoundException: com.sun.jndi.ldap.LdapCtxFactory not found from bundle [com.atlassian.oauth.atlassian-oauth-service-provider-plugin]] com.atlassian.user.impl.ldap.repository.DefaultLdapContextFactory.getLDAPContext(DefaultLdapContextFactory.java:91) com.atlassian.user.impl.ldap.search.DefaultLDAPUserAdaptor.search(DefaultLDAPUserAdaptor.java:70) com.atlassian.user.impl.ldap.search.DefaultLDAPUserAdaptor.search(DefaultLDAPUserAdaptor.java:54) com.atlassian.user.impl.ldap.LDAPUserManagerReadOnly.getUser(LDAPUserManagerReadOnly.java:70) com.atlassian.user.impl.delegation.DelegatingListUserManager.getUser(DelegatingListUserManager.java:71) sun.reflect.GeneratedMethodAccessor177.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) com.atlassian.crowd.integration.atlassianuser.DynamicDelegationAccessor$DelegatingInvocationHandler.invoke(DynamicDelegationAccessor.java:115) $Proxy16.getUser(Unknown Source) bucket.user.DefaultUserAccessor.getUser(DefaultUserAccessor.java:147) com.atlassian.bamboo.user.BambooUserManagerImpl.getUser(BambooUserManagerImpl.java:103) sun.reflect.GeneratedMethodAccessor178.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy25.getUser(Unknown Source) com.atlassian.bamboo.user.authentication.BambooAuthenticator.getUser(BambooAuthenticator.java:48) com.atlassian.seraph.auth.DefaultAuthenticator.refreshPrincipalObtainedFromSession(DefaultAuthenticator.java:365) com.atlassian.seraph.auth.DefaultAuthenticator.getUserFromSession(DefaultAuthenticator.java:404) com.atlassian.seraph.auth.DefaultAuthenticator.getUser(DefaultAuthenticator.java:318) com.atlassian.seraph.auth.AbstractAuthenticator.getUser(AbstractAuthenticator.java:45) com.atlassian.seraph.auth.AbstractAuthenticator.getRemoteUser(AbstractAuthenticator.java:33) com.atlassian.sal.bamboo.user.BambooSalUserManager.getRemoteUsername(BambooSalUserManager.java:69) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58) org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56) org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131) org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy239.getRemoteUsername(Unknown Source) com.atlassian.oauth.serviceprovider.internal.servlet.user.AccessTokensServlet.doGet(AccessTokensServlet.java:49) javax.servlet.http.HttpServlet.service(HttpServlet.java:707) javax.servlet.http.HttpServlet.service(HttpServlet.java:820) com.atlassian.plugin.servlet.DelegatingPluginServlet.service(DelegatingPluginServlet.java:42) javax.servlet.http.HttpServlet.service(HttpServlet.java:820) com.atlassian.plugin.servlet.ServletModuleContainerServlet.service(ServletModuleContainerServlet.java:52) javax.servlet.http.HttpServlet.service(HttpServlet.java:820) org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:534) org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1351) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) com.atlassian.bamboo.filter.AccessLogFilter.doFilter(AccessLogFilter.java:66) org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) com.atlassian.bamboo.filter.SeraphLoginFilter.doFilter(SeraphLoginFilter.java:74) org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) com.atlassian.bamboo.filter.BambooAcegiProxyFilter.doFilter(BambooAcegiProxyFilter.java:25) org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) com.atlassian.bamboo.filter.LicenseFilter.doFilter(LicenseFilter.java:73) com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31) org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) com.atlassian.johnson.filters.AbstractJohnsonFilter.doFilter(AbstractJohnsonFilter.java:71) org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:211) org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:150) org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:71) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98) com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170) com.atlassian.bamboo.persistence.BambooSessionInViewFilter.doFilterInternal(BambooSessionInViewFilter.java:31) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:77) com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:63) org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322) org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:473) org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:516) org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:921) org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403) org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184) org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:856) org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114) org.eclipse.jetty.server.Server.handle(Server.java:352) org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596) org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1052) org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:590) org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:212) org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) java.lang.Thread.run(Unknown Source) Caused by: javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.jndi.ldap.LdapCtxFactory [Root exception is java.lang.ClassNotFoundException: com.sun.jndi.ldap.LdapCtxFactory not found from bundle [com.atlassian.oauth.atlassian-oauth-service-provider-plugin]] javax.naming.spi.NamingManager.getInitialContext(Unknown Source) javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) javax.naming.InitialContext.init(Unknown Source) javax.naming.InitialContext.<init>(Unknown Source) javax.naming.directory.InitialDirContext.<init>(Unknown Source) com.atlassian.user.impl.ldap.repository.DefaultLdapContextFactory.getLDAPContext(DefaultLdapContextFactory.java:87) ... 137 more Caused by: java.lang.ClassNotFoundException: com.sun.jndi.ldap.LdapCtxFactory not found from bundle [com.atlassian.oauth.atlassian-oauth-service-provider-plugin] org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:103) org.springframework.osgi.util.BundleDelegatingClassLoader.loadClass(BundleDelegatingClassLoader.java:156) java.lang.ClassLoader.loadClass(Unknown Source) java.lang.Class.forName0(Native Method) java.lang.Class.forName(Unknown Source) com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source) ... 143 more Caused by: java.lang.ClassNotFoundException: com.sun.jndi.ldap.LdapCtxFactory org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:772) org.apache.felix.framework.ModuleImpl.access$200(ModuleImpl.java:73) org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1690) java.lang.ClassLoader.loadClass(Unknown Source) org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:634) org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1594) org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:887) org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:99) ... 148 more {code} The current workaround is to set the LDAP repository cache="true" as shown below: {code} <ldap key="adRepository" name="AD Repository" cache="true"> {code} The problem only happens with LDAP user only3
405BAM-9687Possible race condition for build label additionA couple of days ago we started getting error messages back from many of our builds along the lines of the following: {noformat} System Error Details xxx - 6. yyy - Default Job 10 : Build Labeller custom build post complete action failed to run (java.lang.RuntimeException : Cannot add label '15_0_05_0917' to build results 'xxxxx-yyy-JOB1-10') Occurred: 02 Sep 2011, 6:02:53 AM java.lang.RuntimeException: Cannot add label '15_0_05_0917' to build results 'xxx-yyy-JOB1-10' com.atlassian.bamboo.labels.LabelManagerImpl.addLabel(LabelManagerImpl.java:92) sun.reflect.GeneratedMethodAccessor1147.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy42.addLabel(Unknown Source) sun.reflect.GeneratedMethodAccessor1147.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) com.atlassian.bamboo.security.acegi.intercept.aopalliance.AuthorityOverrideMethodSecurityInterceptor.invoke(AuthorityOverrideMethodSecurityInterceptor.java:30) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy42.addLabel(Unknown Source) com.atlassian.bamboo.plugins.labeller.BuildLabeller.labelBuildResult(BuildLabeller.java:304) com.atlassian.bamboo.plugins.labeller.BuildLabeller.labelBuildResult(BuildLabeller.java:291) com.atlassian.bamboo.plugins.labeller.BuildLabeller.call(BuildLabeller.java:85) sun.reflect.GeneratedMethodAccessor712.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) org.springframework.orm.hibernate.HibernateInterceptor.invoke(HibernateInterceptor.java:117) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy362.call(Unknown Source) com.atlassian.bamboo.v2.build.events.PostBuildCompletedEventListener$1.run(PostBuildCompletedEventListener.java:71) com.atlassian.bamboo.variable.CustomVariableContextRunnerImpl.execute(CustomVariableContextRunnerImpl.java:25) com.atlassian.bamboo.v2.build.events.PostBuildCompletedEventListener.performAction(PostBuildCompletedEventListener.java:52) com.atlassian.bamboo.v2.build.events.PostBuildCompletedEventListener.handleEvent(PostBuildCompletedEventListener.java:41) com.atlassian.event.legacy.LegacyListenerHandler$LegacyListenerInvoker.invoke(LegacyListenerHandler.java:55) com.atlassian.event.internal.AsynchronousAbleEventDispatcher$2.run(AsynchronousAbleEventDispatcher.java:60) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50) java.lang.Thread.run(Thread.java:662) Caused by: org.springframework.dao.IncorrectResultSizeDataAccessException: query did not return a unique result: 2 org.springframework.orm.hibernate.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:590) org.springframework.orm.hibernate.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:353) org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:375) org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:337) com.atlassian.bamboo.labels.LabelHibernateDao.findLabelByNameAndNamespace(LabelHibernateDao.java:35) sun.reflect.GeneratedMethodAccessor1269.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy13.findLabelByNameAndNamespace(Unknown Source) com.atlassian.bamboo.labels.LabelManagerImpl.addLabel(LabelManagerImpl.java:392) com.atlassian.bamboo.labels.LabelManagerImpl$1.call(LabelManagerImpl.java:80) com.atlassian.bamboo.labels.LabelManagerImpl$1.call(LabelManagerImpl.java:75) com.atlassian.bamboo.labels.LabelManagerImpl.withWriteLock(LabelManagerImpl.java:207) com.atlassian.bamboo.labels.LabelManagerImpl.addLabel(LabelManagerImpl.java:74) ... 43 more {noformat} This happened for two separate and widely-used labels. It was pretty obvious from the hibernate exception that Bamboo had created duplicate labels in the DB. We ended up renaming the duplicate label and telling any builds that referenced it to use the original label. The relevant database contents prior to the fix were as follows: {noformat} mysql> select * from LABEL where NAME="14_0_36_21"; +----------+------------+-----------+---------------------+---------------------+ | LABEL_ID | NAME | NAMESPACE | CREATED_DATE | UPDATED_DATE | +----------+------------+-----------+---------------------+---------------------+ | 55410738 | 14_0_36_21 | label | 2011-09-02 05:08:56 | 2011-09-02 05:08:56 | | 55410739 | 14_0_36_21 | label | 2011-09-02 05:08:56 | 2011-09-02 05:08:56 | +----------+------------+-----------+---------------------+---------------------+ 2 rows in set (0.00 sec) mysql> select * from BUILDRESULTSUMMARY_LABEL where LABEL_ID="55410738"; +----------+----------+-----------------------+----------+------------+-----------+---------------------+---------------------+ | ID | LABEL_ID | BUILDRESULTSUMMARY_ID | BUILD_ID | PROJECT_ID | USER_NAME | CREATED_DATE | UPDATED_DATE | +----------+----------+-----------------------+----------+------------+-----------+---------------------+---------------------+ | 55345686 | 55410738 | 55054288 | 44367885 | 43155458 | NULL | 2011-09-02 05:08:56 | 2011-09-02 05:08:56 | +----------+----------+-----------------------+----------+------------+-----------+---------------------+---------------------+ 1 row in set (0.00 sec) mysql> select * from BUILDRESULTSUMMARY_LABEL where LABEL_ID="55410739"; +----------+----------+-----------------------+----------+------------+-----------+---------------------+---------------------+ | ID | LABEL_ID | BUILDRESULTSUMMARY_ID | BUILD_ID | PROJECT_ID | USER_NAME | CREATED_DATE | UPDATED_DATE | +----------+----------+-----------------------+----------+------------+-----------+---------------------+---------------------+ | 55345687 | 55410739 | 55054290 | 51183804 | 43155458 | NULL | 2011-09-02 05:08:56 | 2011-09-02 05:08:56 | +----------+----------+-----------------------+----------+------------+-----------+---------------------+---------------------+ 1 row in set (0.00 sec) mysql> select * from BUILDRESULTSUMMARY where BUILDRESULTSUMMARY_ID="55054288"; +-----------------------+---------------------+---------------------+----------------------+--------------+-------------+-----------------------+-------------------+---------------------+----------------------+----------+-------------+--------------------------------------------------------------------------+--------------+-------------+----------------+---------------------+---------------------+--------------------+--------------------+------------------+-------------------+---------------------+------------------+---------------------+----------------+------------+------------------+----------------------+-----------------------+--------------+ | BUILDRESULTSUMMARY_ID | CREATED_DATE | UPDATED_DATE | BUILD_KEY | BUILD_NUMBER | BUILD_STATE | SUCCESSFUL_TEST_COUNT | FAILED_TEST_COUNT | BUILD_DATE | BUILD_COMPLETED_DATE | DURATION | TIME_TO_FIX | TRIGGER_REASON | REVISION_KEY | DELTA_STATE | BUILD_AGENT_ID | VCS_UPDATE_TIME | QUEUE_TIME | FAILURE_TEST_COUNT | SUCCESS_TEST_COUNT | TOTAL_TEST_COUNT | BROKEN_TEST_COUNT | EXISTING_TEST_COUNT | FIXED_TEST_COUNT | TOTAL_TEST_DURATION | STAGERESULT_ID | BUILD_TYPE | LIFE_CYCLE_STATE | BUILD_CANCELLED_DATE | SKIPPED_COMMITS_COUNT | CHAIN_RESULT | +-----------------------+---------------------+---------------------+----------------------+--------------+-------------+-----------------------+-------------------+---------------------+----------------------+----------+-------------+--------------------------------------------------------------------------+--------------+-------------+----------------+---------------------+---------------------+--------------------+--------------------+------------------+-------------------+---------------------+------------------+---------------------+----------------+------------+------------------+----------------------+-----------------------+--------------+ | 55054288 | 2011-09-02 05:01:09 | 2011-09-02 05:08:55 | yyy-JOB1 | 3149 | Successful | NULL | NULL | 2011-09-02 05:02:22 | 2011-09-02 05:03:30 | 68367 | NULL | com.atlassian.bamboo.plugin.system.triggerReason:DependencyTriggerReason | 17035 | NONE | 41353237 | 2011-09-02 05:01:09 | 2011-09-02 05:01:09 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 55085118 | BUILD | Finished | NULL | 0 | 55054287 | +-----------------------+---------------------+---------------------+----------------------+--------------+-------------+-----------------------+-------------------+---------------------+----------------------+----------+-------------+--------------------------------------------------------------------------+--------------+-------------+----------------+---------------------+---------------------+--------------------+--------------------+------------------+-------------------+---------------------+------------------+---------------------+----------------+------------+------------------+----------------------+-----------------------+--------------+ 1 row in set (0.00 sec) mysql> select * from BUILDRESULTSUMMARY where BUILDRESULTSUMMARY_ID="55054290"; +-----------------------+---------------------+---------------------+--------------------------+--------------+-------------+-----------------------+-------------------+---------------------+----------------------+----------+-------------+--------------------------------------------------------------------------+--------------+-------------+----------------+---------------------+---------------------+--------------------+--------------------+------------------+-------------------+---------------------+------------------+---------------------+----------------+------------+------------------+----------------------+-----------------------+--------------+ | BUILDRESULTSUMMARY_ID | CREATED_DATE | UPDATED_DATE | BUILD_KEY | BUILD_NUMBER | BUILD_STATE | SUCCESSFUL_TEST_COUNT | FAILED_TEST_COUNT | BUILD_DATE | BUILD_COMPLETED_DATE | DURATION | TIME_TO_FIX | TRIGGER_REASON | REVISION_KEY | DELTA_STATE | BUILD_AGENT_ID | VCS_UPDATE_TIME | QUEUE_TIME | FAILURE_TEST_COUNT | SUCCESS_TEST_COUNT | TOTAL_TEST_COUNT | BROKEN_TEST_COUNT | EXISTING_TEST_COUNT | FIXED_TEST_COUNT | TOTAL_TEST_DURATION | STAGERESULT_ID | BUILD_TYPE | LIFE_CYCLE_STATE | BUILD_CANCELLED_DATE | SKIPPED_COMMITS_COUNT | CHAIN_RESULT | +-----------------------+---------------------+---------------------+--------------------------+--------------+-------------+-----------------------+-------------------+---------------------+----------------------+----------+-------------+--------------------------------------------------------------------------+--------------+-------------+----------------+---------------------+---------------------+--------------------+--------------------+------------------+-------------------+---------------------+------------------+---------------------+----------------+------------+------------------+----------------------+-----------------------+--------------+ | 55054290 | 2011-09-02 05:02:17 | 2011-09-02 05:08:55 | xxx-JOB1 | 667 | Successful | NULL | NULL | 2011-09-02 05:03:40 | 2011-09-02 05:05:58 | 137913 | NULL | com.atlassian.bamboo.plugin.system.triggerReason:DependencyTriggerReason | 17035 | NONE | 33128455 | 2011-09-02 05:02:18 | 2011-09-02 05:02:17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 55085119 | BUILD | Finished | NULL | 0 | 55054289 | +-----------------------+---------------------+---------------------+--------------------------+--------------+-------------+-----------------------+-------------------+---------------------+----------------------+----------+-------------+--------------------------------------------------------------------------+--------------+-------------+----------------+---------------------+---------------------+--------------------+--------------------+------------------+-------------------+---------------------+------------------+---------------------+----------------+------------+------------------+----------------------+-----------------------+--------------+ 1 row in set (0.01 sec) mysql> select * from BUILD where BUILD_ID="44367885"; +----------+---------------------+---------------------+----------------------+----------+-------------+--------------+--------------------+---------------------+-------------------+-------------------------+---------------------+------------+------------------+-----------------+------------+-------------+----------+ | BUILD_ID | CREATED_DATE | UPDATED_DATE | FULL_KEY | BUILDKEY | TITLE | REVISION_KEY | FIRST_BUILD_NUMBER | LATEST_BUILD_NUMBER | NEXT_BUILD_NUMBER | SUSPENDED_FROM_BUILDING | MARKED_FOR_DELETION | PROJECT_ID | NOTIFICATION_SET | REQUIREMENT_SET | BUILD_TYPE | DESCRIPTION | STAGE_ID | +----------+---------------------+---------------------+----------------------+----------+-------------+--------------+--------------------+---------------------+-------------------+-------------------------+---------------------+------------+------------------+-----------------+------------+-------------+----------+ | 44367885 | 2011-07-03 06:10:37 | 2011-09-02 13:01:18 | yyy-JOB1 | JOB1 | Default Job | 17073 | 1 | 3157 | 3158 | | | 43155458 | 44466189 | 44400653 | JOB | | 44335117 | +----------+---------------------+---------------------+----------------------+----------+-------------+--------------+--------------------+---------------------+-------------------+-------------------------+---------------------+------------+------------------+-----------------+------------+-------------+----------+ 1 row in set (0.00 sec) mysql> select * from BUILD where BUILD_ID="51183804"; +----------+---------------------+---------------------+--------------------------+----------+-------------+--------------+--------------------+---------------------+-------------------+-------------------------+---------------------+------------+------------------+-----------------+------------+-------------+----------+ | BUILD_ID | CREATED_DATE | UPDATED_DATE | FULL_KEY | BUILDKEY | TITLE | REVISION_KEY | FIRST_BUILD_NUMBER | LATEST_BUILD_NUMBER | NEXT_BUILD_NUMBER | SUSPENDED_FROM_BUILDING | MARKED_FOR_DELETION | PROJECT_ID | NOTIFICATION_SET | REQUIREMENT_SET | BUILD_TYPE | DESCRIPTION | STAGE_ID | +----------+---------------------+---------------------+--------------------------+----------+-------------+--------------+--------------------+---------------------+-------------------+-------------------------+---------------------+------------+------------------+-----------------+------------+-------------+----------+ | 51183804 | 2011-08-05 02:01:37 | 2011-09-02 13:01:19 | xxx-JOB1 | JOB1 | Default Job | 17073 | 330 | 675 | 676 | | | 43155458 | 51249340 | 51216523 | JOB | | 51150929 | +----------+---------------------+---------------------+--------------------------+----------+-------------+--------------+--------------------+---------------------+-------------------+-------------------------+---------------------+------------+------------------+-----------------+------------+-------------+----------+ 1 row in set (0.00 sec) {noformat} We hit a very similar issue with a plan creation race condition (BAM-9231) recently. This appears to be caused by a separate race condition affecting the creation of labels.2
406BAM-9692Test (and fix is required) agent and server wrapper with openjdk7NULL2
407BAM-9750Update checkout task definition on repository update and cloneNULL2
408BAM-9758Add server pause button to UPM decoratorWe need to add the server pause button to the UPM decorator and a warning that if you do not pause the server and upgrade a plugin, builds may fail.2
409BAM-9856My Bamboo looks weird when more than one commit is involved in a build :-)It links build only to the latest user commit. There's a bug in getResultSummariesByChangeSetId method query that returns result summaries only if the changeset is the latest changeset.1
410BAM-9868Bamboo should use default application link to retrieve issues +from jira 4.2.x+ when no project entity link is set up for a plan.Steps to reproduce: 1) grab {color:red}jira 4.2{color} (we can't reproduce problem on jira 4.3+) 2) grab bamboo 3.2.2 3) set up an application link from bamboo to jira, use outgoing "basic access" 4) set up a test project with a test issue on jira instance 5) set up a test project with a test plan on bamboo instance 5.1) force that plan to detect changes on a repository that will contain commit with jira-issue comment 5.2) for example: {noformat} mkdir test ; cd test hg init ; echo "aaa" >> aaa.txt ; hg add aaa.txt ; hg commit --user "user" -m "initial" echo "aaa" >> aaa.txt ; hg commit --user "user" -m "BAM-9867 message message" # repeat above line when you need to trigger bamboo build {noformat} 6) go to build result page of the plan, build should have contain commits with "BAM-9867" comments. (replace "BAM-9867" with your jira instance test issue) 7.1) when you click on "BAM-9867" you will get "unexpected error has occured" 7.2) while you should be redirected to the jira page 8.1) on the JIRA issues panel you should have see your issue, with it's icon, and with link to your jira instance 8.2) instead you will see something like "Can't retrieve issues" or similar error, I don't remember. 9) obviosly "Issues" tab is borked as well. 2
411BAM-9941ActiveMQ JMS data file no longer found causing builds not able to launch{noformat:title=BEAC server log JMS summary snipppet} 2011-10-09 18:34:29,222 ERROR [BrokerService[bamboo] Task] [Queue] Failed to page in more queue messages java.lang.RuntimeException: java.lang.RuntimeException: java.io.IOException: Could not locate data file /opt/j2ee/domains/bamboo.atlassian.com/confluence/webapps/atlassian-bamboo/data/current/jms-store/bamboo/KahaDB/db-1782.log at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:113) at org.apache.activemq.broker.region.cursors.StoreQueueCursor.reset(StoreQueueCursor.java:157) at org.apache.activemq.broker.region.Queue.doPageIn(Queue.java:1677) at org.apache.activemq.broker.region.Queue.pageInMessages(Queue.java:1897) at org.apache.activemq.broker.region.Queue.iterate(Queue.java:1424) at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122) at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.RuntimeException: java.io.IOException: Could not locate data file /opt/j2ee/domains/bamboo.atlassian.com/confluence/webapps/atlassian-bamboo/data/current/jms-store/bamboo/KahaDB/db-1782.log at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:265) at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.reset(AbstractStoreCursor.java:110) ... 9 more Caused by: java.io.IOException: Could not locate data file /opt/j2ee/domains/bamboo.atlassian.com/confluence/webapps/atlassian-bamboo/data/current/jms-store/bamboo/KahaDB/db-1782.log at org.apache.kahadb.journal.Journal.getDataFile(Journal.java:345) at org.apache.kahadb.journal.Journal.read(Journal.java:592) at org.apache.activemq.store.kahadb.MessageDatabase.load(MessageDatabase.java:786) at org.apache.activemq.store.kahadb.KahaDBStore.loadMessage(KahaDBStore.java:956) at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore$5.execute(KahaDBStore.java:494) at org.apache.kahadb.page.Transaction.execute(Transaction.java:728) at org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore.recoverNextMessages(KahaDBStore.java:485) at org.apache.activemq.store.ProxyMessageStore.recoverNextMessages(ProxyMessageStore.java:88) at org.apache.activemq.broker.region.cursors.QueueStorePrefetch.doFillBatch(QueueStorePrefetch.java:97) at org.apache.activemq.broker.region.cursors.AbstractStoreCursor.fillBatch(AbstractStoreCursor.java:262) ... 10 more 2011-10-09 18:34:29,351 ERROR [BrokerService[bamboo] Task] [Journal] Looking for key 1782 but not found in fileMap: {1783=db-1783.log number = 1783 , length = 33554836, 1786=db-1786.log number = 1786 , length = 34109378, 1787=db-1787.log number = 1787 , length = 33556132, 1280=db-1280.log number = 1280 , length = 33556132, 1784=db-1784.log number = 1784 , length = 33554712, 1790=db-1790.log number = 1790 , length = 33606358, 1791=db-1791.log number = 1791 , length = 35664711, 1788=db-1788.log number = 1788 , length = 33581527, 1789=db-1789.log number = 1789 , length = 33557879, 1806=db-1806.log number = 1806 , length = 33592825, 1807=db-1807.log number = 1807 , length = 16003513, 1804=db-1804.log number = 1804 , length = 33635071, 1805=db-1805.log number = 1805 , length = 33554607, 1802=db-1802.log number = 1802 , length = 33580009, 1803=db-1803.log number = 1803 , length = 33554674, 1800=db-1800.log number = 1800 , length = 33567294, 1801=db-1801.log number = 1801 , length = 33819685, 1798=db-1798.log number = 1798 , length = 33971508, 1279=db-1279.log number = 1279 , length = 33554625, 1799=db-1799.log number = 1799 , length = 33630766, 1796=db-1796.log number = 1796 , length = 33651278, 1797=db-1797.log number = 1797 , length = 45623364, 1794=db-1794.log number = 1794 , length = 33666339, 1795=db-1795.log number = 1795 , length = 34512258, 1792=db-1792.log number = 1792 , length = 35143715, 1793=db-1793.log number = 1793 , length = 33776959} {noformat} {noformat:title=remote agents unable to send heartbeats} 2011-10-10 09:55:43,655 INFO [QuartzScheduler_Worker-9] [AgentHeartBeatJob] Not sending a new heartbeat since an old one is still being sent, last successful transmission time was 13 seconds ago, dropping the current heartbeat... 2011-10-10 10:05:43,655 INFO [QuartzScheduler_Worker-6] [AgentHeartBeatJob] Not sending a new heartbeat since an old one is still being sent, last successful transmission time was 7 seconds ago, dropping the current heartbeat.. {noformat} Likely caused by these ActiveMQ Issues: https://issues.apache.org/jira/browse/AMQ-3310 or: https://issues.apache.org/jira/browse/AMQ-3470 Reported internally in: https://extranet.atlassian.com/jira/browse/BUILDENG-649 https://extranet.atlassian.com/jira/browse/BUILDENG-651 The JMS spam caused the server logs to roll over so I was unable to capture the beginning of the problem. Confirmed server side that {{db-1782.log}} in the JMS repo was not present2
412BAM-9957Scheduled backup fails randomly while expiration is running at the same time.As reported in https://support.atlassian.com/browse/BSP-5570 We should provide a check: - backup should wait for running expiration to finish - expiration should wait for running backup to finish3
413BAM-9976Bamboo AMPS setup should hit the updateDefaultsLocalCapability link after importIts an absolute pain when developing amps plugins because everytime bamboo starts up it doesn't have and jdk's or executables set up. If it could click the updateDefaultsLocalCapability action after import, all this stuff would get pulled in from your local environment.2
414BAM-10038POMs from 3.3.2 Source code released to customers is still using "3.3-SNAPSHOT"POMs from 3.3.2 Source code released to customers is still using "3.3-SNAPSHOT".1
415BAM-10054Streams 5 aggregation for StudioChai knows more about this than I do. Ill get him to comment here.1
416BAM-10057Icons in Currently Building list are cut offNULL1
417BAM-10058Test summary should show how many tests have been Quarentined (if any)NULL1
418BAM-10059Different table for Quarantined test results on Result SummaryNULL2
419BAM-10060Quarantine table on Tests tab should have column to show which user quarantined the testNULL2
420BAM-10061Button for enabling and disabling a test in Quarantine on the Result summaryNULL1
421BAM-10062Make test Quarantine work for all Tasks that have support for TestsNULL1
422BAM-10063Styling for new combined Plan Status and History NavigatorNULL3
423BAM-10064Improved email templatesMerge in email work from ShipIt. Test across common email clients (using [http://litmus.com] would make this a lot quicker). Polish the designs. Screenshots of the new (already done) emails: !https://img.skitch.com/20111028-ca1jwycmp9ph2aytuwi2jwiigm.jpg! !https://img.skitch.com/20111028-8fg75bbkucqw618pt7qu9qtndx.jpg!2
424BAM-10089Improvements to EBS mountingIncludes support for Windows.5
425BAM-10090Indexing problem in table USER_COMMIT because of column COMMIT_REVISION text typeThis error happens because the column COMMIT_REVISION in the table USER_COMMIT is set to TEXT, {code} 2011-10-24 12:06:05,071 ERROR [main] [SchemaUpdate] Unsuccessful: create index commit_rev_idx on USER_COMMIT (COMMIT_REVISION) 2011-10-24 12:06:05,071 ERROR [main] [SchemaUpdate] BLOB/TEXT column 'COMMIT_REVISION' used in key specification without a key length {code} There is a limitation on indexing [TEXT type fields|http://stackoverflow.com/questions/1827063/mysql-error-key-specification-without-a-key-length]. As [this post|http://forums.mysql.com/read.php?98,37000,37052] states, we can have VARCHAR type with maximum 65,532 bytes after MySQL 5.0.3. We should change the column type from TEXT to VARCHAR.2
426BAM-10092Bamboo 3.3 does not respect @RequiresRestart I tried bumping UPM to support Bamboo 3.3 from 3.1, and we got some failing tests with regards to the tests of the @RequiresRestart. Everything worked in Bamboo 3.1, but there's something wrong in Bamboo 3.3. Note that this only happens when I'm installing a new plugin with a module that requires restart. But it works as expected when "upgrading" a plugin (i.e., @RequiresRestart is honored)3
427BAM-10094Newer Bamboo versions are not shipping the svnkit for the jsvn script.Bamboo 3.3.X versions are not being shipped with all the svnkit necessary for the jsvn app. Currently, only svnkit-cli-1.2.1.5297.jar is available at /scripts/lib. However, svnkit-1.2.1.5297.jar is also necessary. Since the svnkit lib is missing, the following exception is reported when running jsvn: {code} Exception in thread "main" java.lang.NoClassDefFoundError: org/tmatesoft/svn/core/SVNException org.tmatesoft.svn.cli.SVN.main(SVN.java:22) Caused by: java.lang.ClassNotFoundException: org.tmatesoft.svn.core.SVNException java.net.URLClassLoader$1.run(URLClassLoader.java:202) java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader.findClass(URLClassLoader.java:190) java.lang.ClassLoader.loadClass(ClassLoader.java:306) sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 1 more {code}1
428BAM-10095An administrator should be able to enable or disable Agent AuthenticationNULL2
429BAM-10096An administrator must be able to approve an agent when it connects for the first timeNULL3
430BAM-10097An administrator should be able to provide a wild card mask to validate an agents IP addressNULL1
431BAM-10100An administrator should be given the appropriate directions in the Agent log to approve the agent if it is not approvedNULL1
432BAM-10101An administrator should be provided a way to approve all connected agents* Should have a confirm screen so the admin can review the agents about to be approved1
433BAM-10104Repository Isolation not available via the UI in Bamboo 3.3Followed documentation to configure repository isolation: http://confluence.atlassian.com/display/BAMBOO/Configuring+Repository+Isolation+for+Maven+Executables but it doesn't seem to be present for Maven 2/3 builder1
434BAM-10105Can't access artifacts due to permission errorNULL2
435BAM-10106An administrator should be able to auto accept connected agents that are connected when the agent auth is enabledNULL1
436BAM-10107An administrator should be able to revoke approved keysNULL1
437BAM-10108Merge and add Functional test for Agent AuthenticationNULL2
438BAM-10171HelpPathResolver shouldn't throw an NPE when called with a null argumentDuring BAM-10121, I noticed: HelpPathResolverTest#helpPathResolverAcceptsNullKey fails with an NPE. To reproduce: * In CtkIntegrationTest, remove 'excludes' * Execute it. When this issue is resolved, you need to remove the exclusion from the Ctk test.1
439BAM-10178Validate and properly used repository name on Plan create wizardNULL1
440BAM-10202Failed build email should include build errors iff only one Job failed and no tests failedWe should show the "Build Errors" iff only one Job failed, like the UI At the moment one has to click through to determine why the build failed.1
441BAM-10254CSS images do not load after base url changesNULL2
442BAM-10344User can override Plan Branch Build StrategyNULL2
443BAM-10354Update breadcrumbs NULL2
444BAM-10355Tabbed content re-designNULL4
445BAM-10356New Plan NavigatorStages and Job list only 1
446BAM-10357New Navigation Sidebar LayoutNew layout for the sidebar 2
447BAM-10358New Branch List ComponentNeeds to work on: * Plan Summary * Plan Configuration (sidebar) * Branch Selector Drop-down 3
448BAM-10359Non-Tabbed content re-designNULL2
449BAM-10360New Plan Statistics componentNULL1
450BAM-10361Update Status Ribbon for new UINULL1
451BAM-10362Global Admin Re-DesignChrome and navigation bar changes 4
452BAM-10426Event ListenersNULL2
453BAM-10427Build Process plugin pointsNULL2
454BAM-10429SAL PluginShould branches be considered a "Project"1
455BAM-10430Random config changes to master dont cause branch to blow upNULL3
456BAM-10438Functional test TestReportingTest tests are not being run and must be updated for the new source repository codeAs above, TestReportingTest is not being run in the CI tests. It still uses all the old source repo code so must be updated before it is re-included.2
457BAM-10503Remote triggering for branchesTriggering the Master plan should also trigger the relevent child plans1
458BAM-10577Bamboo page constantly refreshesNote: this actually affects {{3.4-rc2}} on CBAC. https://confluence-bamboo.atlassian.com/browse/CONFREL-CONFRELSTABLESTUDIO-22 It only kept refreshing the page while the build was scheduled to run and had no log output.1
459BAM-10613Validation for when the default repository is changed on a Plan with Plan BranchesWhat happens to the branches when the repository changes to a repository that does not contain the same branches or does not support Plan Branches at all? We need PM input for this.2
460BAM-10651Html email show as text after gmail rewrites emailIn any circumstance where gmail actually rewrites the email content e.g. to distribute to group members. It will rewrite the mulipart parts in an incorrect order, resulting in the html part being first instead of last. We have tracked this down to a superfluous part which atlassian-mail adds to the top of the emails. When removed the emails get rewriten correctly. 2
461BAM-10656NPE in bamboo sandbox pluginjava.lang.NullPointerException com.atlassian.sandbox.bamboo.SandboxContext.isEnabled(SandboxContext.java:151) com.atlassian.sandbox.bamboo.actions.SandboxPreChainAction.execute(SandboxPreChainAction.java:21) com.atlassian.bamboo.chains.ChainPluginSupportImpl$1.run(ChainPluginSupportImpl.java:83) com.atlassian.bamboo.variable.CustomVariableContextRunnerImpl.execute(CustomVariableContextRunnerImpl.java:27) com.atlassian.bamboo.chains.ChainPluginSupportImpl.chainStarted(ChainPluginSupportImpl.java:71) com.atlassian.bamboo.chains.ChainExecutionManagerImpl.start(ChainExecutionManagerImpl.java:133) sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy73.start(Unknown Source) sun.reflect.GeneratedMethodAccessor264.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198) $Proxy74.start(Unknown Source) com.atlassian.bamboo.plan.PlanExecutionManagerImpl.startWithLockTaken(PlanExecutionManagerImpl.java:249) com.atlassian.bamboo.plan.PlanExecutionManagerImpl.access$100(PlanExecutionManagerImpl.java:40) com.atlassian.bamboo.plan.PlanExecutionManagerImpl$1.call(PlanExecutionManagerImpl.java:236) com.atlassian.bamboo.plan.PlanExecutionManagerImpl$1.call(PlanExecutionManagerImpl.java:230) com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:324) com.atlassian.bamboo.plan.PlanExecutionLockServiceImpl.lock(PlanExecutionLockServiceImpl.java:68) com.atlassian.bamboo.plan.PlanExecutionManagerImpl.doWithProcessLock(PlanExecutionManagerImpl.java:360) com.atlassian.bamboo.plan.PlanExecutionManagerImpl.start(PlanExecutionManagerImpl.java:229) com.atlassian.bamboo.v2.trigger.ChangeDetectionListener.handleEvent(ChangeDetectionListener.java:47) sun.reflect.GeneratedMethodAccessor231.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:36) com.atlassian.event.internal.AsynchronousAbleEventDispatcher$2.run(AsynchronousAbleEventDispatcher.java:60) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50) java.lang.Thread.run(Thread.java:680)1
462BAM-10677Bamboo executes all "tries", even if no new code is commited during the Quiet Period in SubversionIf no new commits are done during the Quite Period, Bamboo should not run one more try. However, even if no code is committed, Bamboo is always waiting the maximum number of tries: {code} 2012-01-19 19:54:29,054 INFO [qtp1761506447-530] [AccessLogFilter] 127.0.0.1 GET http://nastro-azzuro:8085/updateAndBuild.action?buildKey=MSFAADMIN-MAX 88578kb 2012-01-19 19:54:29,180 INFO [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-2] [SvnRepository] Collecting changes for 'PROJ-MAX' on path 'https://svn.atlassian.com/svn/private/atlassian/bambootest/trunk/successBuild' from version 169163 to 169163 2012-01-19 19:54:29,191 INFO [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-2] [DefaultChangeDetectionManager] Found one change for Plan 'PROJ-MAX', waiting 30 seconds to see if there are any more... (4 retries remaining) 2012-01-19 19:54:59,218 INFO [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-2] [SvnRepository] Collecting changes for 'PROJ-MAX' on path 'https://svn.atlassian.com/svn/private/atlassian/bambootest/trunk/successBuild' from version 169163 to 169163 2012-01-19 19:54:59,231 INFO [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-2] [DefaultChangeDetectionManager] Found one change for Plan 'PROJ-MAX', waiting 30 seconds to see if there are any more... (3 retries remaining) 2012-01-19 19:55:29,259 INFO [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-2] [SvnRepository] Collecting changes for 'PROJ-MAX' on path 'https://svn.atlassian.com/svn/private/atlassian/bambootest/trunk/successBuild' from version 169163 to 169163 2012-01-19 19:55:29,272 INFO [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-2] [DefaultChangeDetectionManager] Found one change for Plan 'PROJ-MAX', waiting 30 seconds to see if there are any more... (2 retries remaining) 2012-01-19 19:55:59,299 INFO [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-2] [SvnRepository] Collecting changes for 'PROJ-MAX' on path 'https://svn.atlassian.com/svn/private/atlassian/bambootest/trunk/successBuild' from version 169163 to 169163 2012-01-19 19:55:59,313 INFO [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-2] [DefaultChangeDetectionManager] Found one change for Plan 'PROJ-MAX', waiting 30 seconds to see if there are any more... (one retry remaining) 2012-01-19 19:56:29,342 INFO [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-2] [SvnRepository] Collecting changes for 'PROJ-MAX' on path 'https://svn.atlassian.com/svn/private/atlassian/bambootest/trunk/successBuild' from version 169163 to 169163 2012-01-19 19:56:29,352 INFO [AtlassianEvent::0-BAM::EVENTS:pool-1-thread-2] [ChangeDetectionListenerAction] Change detection found 5 changes {code}2
463BAM-10693Allow Bamboo to ignore commits with certain commit messagesThis is a useful feature, but it's infrastructure to allow us to ignore merge commits by Bamboo.3
464BAM-10706Official Support OpenJDK 1.7NULL2
465BAM-10804Dependencies for Plan BranchesBranches will trigger off dependencies of the child plan, iff the child plan has a branch name that exactly matches the branch. Configuration for this will be enabled in the Plan level's Branch configuration3
466BAM-10841Tab label is wrong for Build SummaryNULL1
467BAM-10870Detect Branches should show dialog where user can pick branches to createNULL5
468BAM-10882Branch variables page should have the key be a select list with optgroups for global vs plan!https://extranet.atlassian.com/download/attachments/1964972659/branch_variables_add.png?version=1&modificationDate=1329107925466!2
469BAM-10890NPE in Branch detection when timeout occurs{noformat} 2012-02-14 10:05:31,489 WARN [StreamsCompletionService::thread-110] [ActivityProviderConnectionMonitorImpl$ActivityMonitorJob] Could not reach provider Your Company JIRA; it will be omitted from the stream. The connection will be retried in 5 minutes 2012-02-14 10:07:16,931 ERROR [1-BranchDetectionBackgroundThread:pool-4-thread-2] [BranchDetectionServiceImpl] Repository error while detecting branches for plan RAILS-RAILS. https://github.com/rails/rails.git: cannot open git-upload-pack com.atlassian.bamboo.repository.RepositoryException: https://github.com/rails/rails.git: cannot open git-upload-pack com.atlassian.bamboo.plugins.git.GitOperationHelper.getOpenBranches(GitOperationHelper.java:284) com.atlassian.bamboo.plugins.git.GitRepository.getOpenBranches(GitRepository.java:385) com.atlassian.bamboo.repository.RepositoryCachingFacade$1.load(RepositoryCachingFacade.java:31) com.atlassian.bamboo.repository.RepositoryCachingFacade$1.load(RepositoryCachingFacade.java:26) com.google.common.cache.CustomConcurrentHashMap$ComputingValueReference.compute(CustomConcurrentHashMap.java:3426) com.google.common.cache.CustomConcurrentHashMap$Segment.compute(CustomConcurrentHashMap.java:2322) com.google.common.cache.CustomConcurrentHashMap$Segment.getOrCompute(CustomConcurrentHashMap.java:2291) com.google.common.cache.CustomConcurrentHashMap.getOrCompute(CustomConcurrentHashMap.java:3802) com.google.common.cache.ComputingCache.get(ComputingCache.java:46) com.atlassian.bamboo.repository.RepositoryCachingFacade.getOpenBranches(RepositoryCachingFacade.java:49) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl.getOpenBranches(BranchDetectionServiceImpl.java:328) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl.createNewBranchesForChainNoLock(BranchDetectionServiceImpl.java:252) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl.access$200(BranchDetectionServiceImpl.java:50) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl$BranchDetector.run(BranchDetectionServiceImpl.java:168) com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50) java.lang.Thread.run(Thread.java:680) Caused by: org.shaded.eclipse.jgit.errors.TransportException: https://github.com/rails/rails.git: cannot open git-upload-pack org.shaded.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:466) org.shaded.eclipse.jgit.transport.TransportHttp.openFetch(TransportHttp.java:276) com.atlassian.bamboo.plugins.git.GitOperationHelper.getOpenBranches(GitOperationHelper.java:266) ... 15 more Caused by: java.net.SocketTimeoutException: Read timed out java.net.SocketInputStream.socketRead0(Native Method) java.net.SocketInputStream.read(SocketInputStream.java:129) com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293) com.sun.net.ssl.internal.ssl.InputRecord.readV3Record(InputRecord.java:405) com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:360) com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:830) com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:787) com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75) java.io.BufferedInputStream.fill(BufferedInputStream.java:218) java.io.BufferedInputStream.read1(BufferedInputStream.java:258) java.io.BufferedInputStream.read(BufferedInputStream.java:317) sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:695) sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:640) sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195) java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379) sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:318) org.shaded.eclipse.jgit.util.HttpSupport.response(HttpSupport.java:167) org.shaded.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:429) ... 17 more 2012-02-14 10:07:16,931 ERROR [1-BranchDetectionBackgroundThread:pool-4-thread-3] [BranchDetectionServiceImpl] Repository error while detecting branches for plan JOYENT-NODE. https://github.com/joyent/node.git: cannot open git-upload-pack com.atlassian.bamboo.repository.RepositoryException: https://github.com/joyent/node.git: cannot open git-upload-pack com.atlassian.bamboo.plugins.git.GitOperationHelper.getOpenBranches(GitOperationHelper.java:284) com.atlassian.bamboo.plugins.git.GitRepository.getOpenBranches(GitRepository.java:385) com.atlassian.bamboo.repository.RepositoryCachingFacade$1.load(RepositoryCachingFacade.java:31) com.atlassian.bamboo.repository.RepositoryCachingFacade$1.load(RepositoryCachingFacade.java:26) com.google.common.cache.CustomConcurrentHashMap$ComputingValueReference.compute(CustomConcurrentHashMap.java:3426) com.google.common.cache.CustomConcurrentHashMap$Segment.compute(CustomConcurrentHashMap.java:2322) com.google.common.cache.CustomConcurrentHashMap$Segment.getOrCompute(CustomConcurrentHashMap.java:2291) com.google.common.cache.CustomConcurrentHashMap.getOrCompute(CustomConcurrentHashMap.java:3802) com.google.common.cache.ComputingCache.get(ComputingCache.java:46) com.atlassian.bamboo.repository.RepositoryCachingFacade.getOpenBranches(RepositoryCachingFacade.java:49) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl.getOpenBranches(BranchDetectionServiceImpl.java:328) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl.createNewBranchesForChainNoLock(BranchDetectionServiceImpl.java:252) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl.access$200(BranchDetectionServiceImpl.java:50) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl$BranchDetector.run(BranchDetectionServiceImpl.java:168) com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50) java.lang.Thread.run(Thread.java:680) Caused by: org.shaded.eclipse.jgit.errors.TransportException: https://github.com/joyent/node.git: cannot open git-upload-pack org.shaded.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:466) org.shaded.eclipse.jgit.transport.TransportHttp.openFetch(TransportHttp.java:276) com.atlassian.bamboo.plugins.git.GitOperationHelper.getOpenBranches(GitOperationHelper.java:266) ... 15 more Caused by: java.net.SocketTimeoutException: Read timed out java.net.SocketInputStream.socketRead0(Native Method) java.net.SocketInputStream.read(SocketInputStream.java:129) com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293) com.sun.net.ssl.internal.ssl.InputRecord.readV3Record(InputRecord.java:405) com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:360) com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:830) com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:787) com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75) java.io.BufferedInputStream.fill(BufferedInputStream.java:218) java.io.BufferedInputStream.read1(BufferedInputStream.java:258) java.io.BufferedInputStream.read(BufferedInputStream.java:317) sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:695) sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:640) sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195) java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379) sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:318) org.shaded.eclipse.jgit.util.HttpSupport.response(HttpSupport.java:167) org.shaded.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:429) ... 17 more 2012-02-14 10:07:16,933 INFO [1-BranchDetectionBackgroundThread:pool-4-thread-3] [BranchDetectionServiceImpl] [BRANCH_DETECTION] No branches for plan JOYENT-NODE found in VCS 2012-02-14 10:07:16,932 INFO [1-BranchDetectionBackgroundThread:pool-4-thread-2] [BranchDetectionServiceImpl] [BRANCH_DETECTION] No branches for plan RAILS-RAILS found in VCS 2012-02-14 10:07:16,937 ERROR [1-BranchDetectionBackgroundThread:pool-4-thread-3] [NamedThreadFactory] Uncaught exception in thread 1-BranchDetectionBackgroundThread:pool-4-thread-3 java.lang.NullPointerException com.google.common.base.Preconditions.checkNotNull(Preconditions.java:187) com.google.common.collect.Lists.newArrayList(Lists.java:117) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl.newBranches(BranchDetectionServiceImpl.java:339) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl.createNewBranchesForChainNoLock(BranchDetectionServiceImpl.java:283) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl.access$200(BranchDetectionServiceImpl.java:50) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl$BranchDetector.run(BranchDetectionServiceImpl.java:168) com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50) java.lang.Thread.run(Thread.java:680) 2012-02-14 10:07:16,939 ERROR [1-BranchDetectionBackgroundThread:pool-4-thread-2] [NamedThreadFactory] Uncaught exception in thread 1-BranchDetectionBackgroundThread:pool-4-thread-2 java.lang.NullPointerException com.google.common.base.Preconditions.checkNotNull(Preconditions.java:187) com.google.common.collect.Lists.newArrayList(Lists.java:117) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl.newBranches(BranchDetectionServiceImpl.java:339) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl.createNewBranchesForChainNoLock(BranchDetectionServiceImpl.java:283) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl.access$200(BranchDetectionServiceImpl.java:50) com.atlassian.bamboo.plan.branch.BranchDetectionServiceImpl$BranchDetector.run(BranchDetectionServiceImpl.java:168) com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50) java.lang.Thread.run(Thread.java:680) ^C2012-02-14 10:07:52,905 INFO [ActiveMQ ShutdownHook] [BrokerService] ActiveMQ Message Broker (bamboo, ID:shackle.sydney.atlassian.com-57424-1329086386684-0:1) is shutting down 2012-02-14 10:07:53,688 INFO [ActiveMQ ShutdownHook] [TransportConnector] Connector tcp://shackle.sydney.atlassian.com:54663?wireFormat.maxInactivityDuration=300000 Stopped 2012-02-14 10:07:53,696 INFO [ActiveMQ ShutdownHook] [TransportConnector] Connector vm://bamboo Stopped 2012-02-14 10:07:53,705 INFO [ActiveMQ ShutdownHook] [PListStore] PListStore:/Users/jdumay/bamboo-home/jms-store/bamboo/tmp_storage stopped 2012-02-14 10:07:53,705 INFO [ActiveMQ ShutdownHook] [KahaDBStore] Stopping async queue tasks 2012-02-14 10:07:53,705 INFO [ActiveMQ ShutdownHook] [KahaDBStore] Stopping async topic tasks 2012-02-14 10:07:53,705 INFO [ActiveMQ ShutdownHook] [KahaDBStore] Stopped KahaDB 2012-02-14 10:07:54,016 INFO [ActiveMQ ShutdownHook] [BrokerService] ActiveMQ JMS Message Broker (bamboo, ID:shackle.sydney.atlassian.com-57424-1329086386684-0:1) stopped {noformat}1
470BAM-10903Include SSH example in shipped jetty.xmlCurrently, user is unable to startup Bamboo server with jetty.xml due to the default setting being ship with Bamboo installation: {code} <SystemProperty name="bamboo.webapp" default="./webapp"/> {code} Where the above tag should be: {code} <SystemProperty name="bamboo.webapp" default="../webapp"/> {code} It will be great if we could change the above tag in the installation distribution before distribute to user. Lastly, it would be great if the default jetty.xml comes with SSL configuration as mentioned in the following documentation: * http://confluence.atlassian.com/display/BAMBOO/Running+Bamboo+over+HTTPS 1
471BAM-10937Shallow clones should be disabled when integration is enabledMerging won't work with shallow clones. We need to make sure that user is notified, agrees to disable it, cannot enable etc. Just disabling the shallow clones "should work", but needs to be tested.3
472BAM-10940User reported as code updater not consistent in Bamboo e-mail notificationsJared didn't change the code in Bonfire / for this BON BON BON build on JBAC. https://jira.bamboo.atlassian.com/browse/BON-BON-BON2DAC-4092
473BAM-10945Author and Committer have to be made configurable (at least for Git)Otherwise merges and commits won't work.2
474BAM-10980Prettier handling of integration errorsThe attached example is a short error, so it's almost readable. When we have merge conflicts, it's much worse.2
475BAM-10997Validate that Task plugins without a view template do not make the Task unusableWe are no longer displaying the 'view' template for a Task. Check that its possible to create a Task without a view template (e.g. we do not validate that you need a 'view' template).1
476BAM-11068Make first commit search asynchronous.NULL3
477BAM-11096Bamboo Git Plugin (native mode) shouldn't hang when using ssh protocol on windows.Steps to reproduce: 1) grab a windows machine 2) install there minimal git: [http://code.google.com/p/msysgit/] 3) grab Bamboo 3.4.3 (I think this error will still occur on newer versions too) 4) set up a Plan that uses Git as repository and uses ssh:// protocol, for example: 4.1) url = ssh://git@github.com/atlassian/bamboo-git-plugin.git (use SSH keyfile as "authentication type" - set up your github account accordingly) 5) use the windows machine from point (1) as a remote agent, connect to bamboo 6) in bamboo administration - set up the remote agent to use Git capability (so it will use native-git checkout instead of jgit checkout) 7) run the plan 8a) observed behavior is that the build hangs at code checkout (possibly to localhost proxy-SSH fingerprint host key checking) 8b) while expected behavior is that the build will... build. from: [BSP-6565|https://support.atlassian.com/browse/BSP-6565] and: [https://answers.atlassian.com/questions/39371/ssh-port-on-git-repository-polling]3
478BAM-11107Show X out of Y branches on Branch Creation dialogNULL1
479BAM-11108Disable buttons when creating branch.NULL1
480BAM-11116Integration Strategy UI is broken for longer field namesNULL1
481BAM-11117Rename Integration Strategy to Merge StrategyNULL1
482BAM-11118Merge Strategy "default" should be labeled defaultNULL1
483BAM-11128Git revision not shown for planBamboo fails to show the Git revision: !bamboo rev.png! This is on 4.0-m2 build 29032
484BAM-11129When a plan uses 2 repositories and you clone the plan and change one repository the other will often error outSee https://jira.bamboo.atlassian.com/browse/J50SHIPIT-ODAT-8 or https://jira.bamboo.atlassian.com/browse/J50SHIPIT-DTU-6 as an example of the error.2
485BAM-11132"Run" menu in configuration confusingYou can't tell if its going to run your branch or your plan. I have clicked on it incorrectly a couple of times now1
486BAM-11170mvn:deploy a final version of all EC2 images on prod account before releaseNULL1
487BAM-11188HipChat build notificationsNULL3
488BAM-11191Created issue should be linked in BambooIssue created should show up in the "Related Issues" of a result.2
489BAM-11195Import/Export for ActiveObjects* time box this to 2 days * This is apparently straight forward to hookup according to Sam and Adrian * Backs up rows to xml 3
490BAM-11250Improve AMI customisation process and documentation We need to run through the entire customisation process for both Linux and Windows and update the documentation to reflect the process. If we can write any scripts (and host them on bitbucket) that can improve EC2 customisation, we should do this. Currently its difficult to find out what version of bamboo-elastic-image you need - is it safe to always use the latest? How can the customer find this out? Please try the process out using the Ubuntu LTS to see if we can shake out any problems we do not see on CENTOS/Fedora3
491BAM-11285Make all committers automatically responsible when build failsMake all committers to a failing build responsible for the failure1
492BAM-11287User can claim all responsibility for a build failureNULL1
493BAM-11599JIRA login screen displayed in dialog looks weirdI've created a reciprocal application link, clicked configure and got this.2
494BAM-11600Rewrite JIRA issue details retrieval to use REST api not RSS.[roots|https://atlaseye.atlassian.com/cru/CR-BAM-4183#CFR-219552] Currently we use RSS to retrieve details of an issue (their status, icon, etc) - the details visibile on Issue summary tab/panel. It just seems wrong, so we should rewrite it to use REST properly.3
495BAM-11601Bamboo artifacts don't get collected if they are located into directories{code} I created a file called "as.zip" located in directory "a" which is located in directory "test". I used "test/a" as Location, and I used "*.zip" as Copy Pattern - the same way as it is described in [this document|http://confluence.atlassian.com/display/BAMBOO40/Configuring+a+job%27s+build+artifacts]. {code} However, the artifact didn't get published.1
496BAM-11602Bamboo sometimes kills processes not belonging to it on WindowsNULL5
497BAM-11603Database deadlock in MySQLFrom http://tardigrade.sydney.atlassian.com:8085/bamboo/browse/BDT-MYSQL-578/artifact/JOB1/Bamboo-Log/output.log But it could be related to what BEAC and JBACV sees occasionaly as well {code} 2012-05-06 15:39:19,181 INFO [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-13] [ChainExecutionManagerImpl] Plan RAN119295352-MAIN1192953520-3: Random Project119295352 - Plan119295352 - branch_no_1 has finished executing 2012-05-06 15:39:19,221 INFO [11-BAM::Test Agent 1::Agent:pool-18-thread-1] [CvsRepositoryManager] Getting list of commits for Tue Jan 31 15:39:07 UTC 2012 2012-05-06 15:39:19,296 INFO [http-9087-Processor18] [CvsRepositoryManager] Getting list of commits for Sun Nov 27 15:39:02 UTC 2011 2012-05-06 15:39:19,468 WARN [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-13] [JDBCExceptionReporter] SQL Error: 1213, SQLState: 40001 2012-05-06 15:39:19,468 ERROR [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-13] [JDBCExceptionReporter] Deadlock found when trying to get lock; try restarting transaction 2012-05-06 15:39:19,483 WARN [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-13] [JDBCExceptionReporter] SQL Error: 1213, SQLState: 40001 2012-05-06 15:39:19,483 ERROR [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-13] [JDBCExceptionReporter] Deadlock found when trying to get lock; try restarting transaction 2012-05-06 15:39:19,484 ERROR [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-13] [SessionImpl] Could not synchronize database state with session 2012-05-06 15:39:19,588 INFO [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-13] [BrokenBuildPostProcessor] RAN119295352-MAIN1192953520-3 was rerun and still failed. Tracking entry not updated. Rerun builds not currently supported 2012-05-06 15:39:19,605 INFO [http-9087-Processor14] [AccessLogFilter] admin GET http://localhost:9087/bamboo/start.action 239259kb 2012-05-06 15:39:19,619 INFO [http-9087-Processor14] [AccessLogFilter] admin GET http://localhost:9087/bamboo/legacyDashboard.action 238856kb 2012-05-06 15:39:19,752 INFO [11-BAM::Test Agent 1::Agent:pool-18-thread-1] [CvsRepositoryManager] Getting list of commits for Thu Jan 26 15:39:07 UTC 2012 2012-05-06 15:39:20,038 INFO [http-9087-Processor18] [CvsRepositoryManager] Getting list of commits for Tue Nov 22 15:39:02 UTC 2011 2012-05-06 15:39:20,113 INFO [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-13] [DashboardCacheListener] event: com.atlassian.bamboo.event.ChainCompletedEvent[source=com.atlassian.bamboo.chains.ChainExecutionManagerImpl@1d5ba63] plan=RAN119295352-MAIN1192953520 2012-05-06 15:39:20,198 INFO [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-13] [DashboardCachingManagerImpl] Plan cache updated for 1 plans in 0:00:00.018 2012-05-06 15:39:20,204 INFO [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-14] [DependencyChainListener] Dependant builds not checked since plan is not a master plan 2012-05-06 15:39:20,206 ERROR [AtlassianEvent::0-BAM::EVENTS:pool-2-thread-13] [NamedThreadFactory] Uncaught exception in thread AtlassianEvent::0-BAM::EVENTS:pool-2-thread-13 org.springframework.dao.ConcurrencyFailureException: Hibernate operation: Could not execute JDBC batch update; SQL []; Deadlock found when trying to get lock; try restarting transaction; nested exception is java.sql.BatchUpdateException: Deadlock found when trying to get lock; try restarting transaction Caused by: java.sql.BatchUpdateException: Deadlock found when trying to get lock; try restarting transaction com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1998) com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1443) com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723) net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:54) net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:128) net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2436) net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2391) net.sf.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:1819) net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:3650) net.sf.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:238) net.sf.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:385) com.atlassian.bamboo.resultsummary.BuildResultsSummaryHibernateDao$29.doInHibernate(BuildResultsSummaryHibernateDao.java:1082) org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:370) org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:337) com.atlassian.bamboo.resultsummary.BuildResultsSummaryHibernateDao.findFirstResultAfter(BuildResultsSummaryHibernateDao.java:1078) sun.reflect.GeneratedMethodAccessor983.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy41.findFirstResultAfter(Unknown Source) com.atlassian.bamboo.resultsummary.BuildResultsSummaryManagerImpl.findFirstResultAfter(BuildResultsSummaryManagerImpl.java:1120) sun.reflect.GeneratedMethodAccessor982.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) com.atlassian.bamboo.security.acegi.intercept.aopalliance.AuthorityOverrideMethodSecurityInterceptor.invoke(AuthorityOverrideMethodSecurityInterceptor.java:29) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy43.findFirstResultAfter(Unknown Source) com.atlassian.bamboo.plan.PlanStatePersisterImpl.checkAndUpdateDeltaStatesOfFollowingBuild(PlanStatePersisterImpl.java:232) com.atlassian.bamboo.plan.PlanStatePersisterImpl.persistChainState(PlanStatePersisterImpl.java:172) sun.reflect.GeneratedMethodAccessor981.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) com.atlassian.bamboo.author.AuthorCreatorServiceInterceptor.invoke(AuthorCreatorServiceInterceptor.java:45) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy55.persistChainState(Unknown Source) com.atlassian.bamboo.plan.PlanStatePersisterServiceImpl$3.run(PlanStatePersisterServiceImpl.java:62) com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:333) com.atlassian.bamboo.plan.PlanStatePersisterServiceImpl.persistChainState(PlanStatePersisterServiceImpl.java:58) com.atlassian.bamboo.chains.ChainExecutionManagerImpl.finaliseChainStateIfChainExecutionHasCompleted(ChainExecutionManagerImpl.java:894) com.atlassian.bamboo.chains.ChainExecutionManagerImpl.access$400(ChainExecutionManagerImpl.java:88) com.atlassian.bamboo.chains.ChainExecutionManagerImpl$1.run(ChainExecutionManagerImpl.java:443) com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:333) com.atlassian.bamboo.chains.ChainExecutionManagerImpl.execute(ChainExecutionManagerImpl.java:361) com.atlassian.bamboo.chains.ChainExecutionManagerImpl.access$1300(ChainExecutionManagerImpl.java:88) com.atlassian.bamboo.chains.ChainExecutionManagerImpl$2.run(ChainExecutionManagerImpl.java:491) com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:333) com.atlassian.bamboo.chains.ChainExecutionManagerImpl.handleEvent(ChainExecutionManagerImpl.java:471) sun.reflect.GeneratedMethodAccessor688.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) org.springframework.orm.hibernate.HibernateInterceptor.invoke(HibernateInterceptor.java:117) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy82.handleEvent(Unknown Source) sun.reflect.GeneratedMethodAccessor688.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) org.springframework.orm.hibernate.HibernateInterceptor.invoke(HibernateInterceptor.java:117) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy83.handleEvent(Unknown Source) com.atlassian.event.legacy.LegacyListenerHandler$LegacyListenerInvoker.invoke(LegacyListenerHandler.java:55) com.atlassian.bamboo.event.spi.EventInvokerRunnable.run(EventInvokerRunnable.java:23) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50) java.lang.Thread.run(Thread.java:662) {code}5
498BAM-11604ViewAgent action slow when there's a lot of dataViewAgent action slow when there's a lot of data (either in "Offline Remote Agents" or in "Elastic Agent History"). Most probably missing DB index. 3
499BAM-11607Create reciprocal link from JIRA to Bamboo when manually linking result to issue* Creating a manual link is done from the issues tab * Instead of "Created from" use "Linked from"1
500BAM-11608Create reciprocal link from JIRA to Bamboo when manually linking result to issue* Creating a manual link is done from the issues tab * Instead of "Created from" use "Linked from"1
501BAM-11609Some reponsibility not being shown on the Wallboardhttp://tardigrade.sydney.atlassian.com:8085/bamboo/browse/BDT-PGQSL-573 has Przemek as responsible but the Wallboard doesn't show him. Needs to investigate.2
502BAM-11624Show X lines of logs on the error log summary if no error log summary has been setNULL1
503BAM-11626Notification when responsibility is manually changed* Add notification for when the responsibility changes * only fire when humans make the change (not when Bamboo assigns responsibility) * Name "Change in Responsibilities" * Should have the failure colouring and status * Check the IM text * Remove the notifications enabled/disabled for Responsibilities out of the admin and the build admin. You have been made responsible for this build X has been made responsible for this build / X has been made not responsible for this build2
504BAM-11627Add Linked JIRA Issue should be shown in dialog* Add to Actions menu * Under Create Issue * Group Create and Link issue together * remove the ability to set a type1
505BAM-11628Add Linked JIRA Issue should be shown in dialog* Add to Actions menu * Under Create Issue * Group Create and Link issue together * remove the ability to set a type1
506BAM-11629Keyboard shortcut for create issuePressing C then I on a result summary should show the create issue for build dialog1
507BAM-11630Make HipChat plugin work for change in responsibilities notification typeAnd possibly make it more extensible in general so we dont have to edit the plugin for every notification type? i.e could it just use the IM content? - Maybe if we only send html IMs1
508BAM-11631Going directly to Bamboo's configureGlobalPermissions.action erases all permissionsCreate a user and give them access to use restricted admin in Bamboo. As that user go directly to the path: /builds/build/admin/configureGlobalPermissions.action If you refresh the page or go to the view page, you won't have any permissions to do that because they will have been erased. Effect: Data loss (in the form of who can do what), DoS (people can't use Bamboo), support costs (fixing it will be a PITA for our supporters). This was first picked up in OnDemand, but I think it is a bamboo + webwork problem. Tim Moore was able to reproduce this on a bamboo 4 standalone instance.2
509BAM-11632Null environment variable values prevent builds from running{noformat} com.atlassian.bamboo.task.TaskException: Failed to execute task at com.atlassian.bamboo.plugins.maven.task.Maven3BuildTask.execute(Maven3BuildTask.java:110) at com.atlassian.bamboo.task.TaskExecutorImpl.executeTasks(TaskExecutorImpl.java:180) at com.atlassian.bamboo.task.TaskExecutorImpl.execute(TaskExecutorImpl.java:88) at com.atlassian.bamboo.build.pipeline.tasks.ExecuteBuildTask.call(ExecuteBuildTask.java:84) at sun.reflect.GeneratedMethodAccessor510.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.orm.hibernate.HibernateInterceptor.invoke(HibernateInterceptor.java:117) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy563.call(Unknown Source) at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.build(DefaultBuildAgent.java:202) at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:103) at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent$1.run(DefaultBuildAgent.java:109) at com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.NullPointerException at java.lang.ProcessEnvironment.validateValue(ProcessEnvironment.java:102) at java.lang.ProcessEnvironment.access$400(ProcessEnvironment.java:44) at java.lang.ProcessEnvironment$Value.valueOf(ProcessEnvironment.java:185) at java.lang.ProcessEnvironment$StringEnvironment.put(ProcessEnvironment.java:224) at java.lang.ProcessEnvironment$StringEnvironment.put(ProcessEnvironment.java:203) at java.util.AbstractMap.putAll(AbstractMap.java:256) at com.atlassian.utils.process.ExternalProcess.createProcess(ExternalProcess.java:237) at com.atlassian.utils.process.ExternalProcess.start(ExternalProcess.java:283) at com.atlassian.utils.process.ExternalProcess.execute(ExternalProcess.java:408) at com.atlassian.bamboo.process.ProcessServiceImpl.executeProcess(ProcessServiceImpl.java:176) at sun.reflect.GeneratedMethodAccessor951.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129) at $Proxy141.executeProcess(Unknown Source) at sun.reflect.GeneratedMethodAccessor951.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:154) at $Proxy141.executeProcess(Unknown Source) at com.atlassian.bamboo.plugins.maven.task.Maven3BuildTask.execute(Maven3BuildTask.java:75) ... 18 more {noformat} We should probably change nulls to empty strings in ProcessUtils whenever ProcessBuilder.environment().put/putAll() is called.1
510BAM-11938Exception on My Bamboo -> My Broken PlansSeen on Tardigrade {code} Error in action: com.atlassian.bamboo.brokenbuildtracker.ui.ViewResponsibilitiesForUser@20674f89 Expression fn.hasPlanPermission('BUILD', build) is undefined on line 89, column 10 in fragments/plan/displayBuildPlansList.ftl. The problematic instruction: ---------- ==> if fn.hasPlanPermission('BUILD', build) [on line 89, column 5 in fragments/plan/displayBuildPlansList.ftl] in user-directive displayPlanListOperations [on line 77, column 13 in fragments/plan/displayBuildPlansList.ftl] in user-directive planList.displayBuildPlansList [on line 4, column 5 in panels/myResponsibilities.ftl] ---------- Java backtrace for programmers: ---------- freemarker.core.InvalidReferenceException: Expression fn.hasPlanPermission('BUILD', build) is undefined on line 89, column 10 in fragments/plan/displayBuildPlansList.ftl. at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124) at freemarker.core.Expression.isTrue(Expression.java:145) at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:77) at freemarker.core.Environment.visit(Environment.java:210) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:210) at freemarker.core.Macro$Context.runMacro(Macro.java:183) at freemarker.core.Environment.visit(Environment.java:603) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:118) at freemarker.core.Environment.visit(Environment.java:210) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:210) at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:167) at freemarker.core.Environment.visit(Environment.java:417) at freemarke {code}1
511BAM-11939Mismatch between 'merged' status of XML and BuildDefinitionCauses 'build definition snapshot' problem - the build definition is no longer taken from the master chain.3
512BAM-11950Combine "Automatic Detection" and "Automatic removal" into a single "Automatically manage branches" feature* Implement mockup (see attached) ** For Subversion, the branches root section should still be at the top of the screen! * heading "Automatic Branch Detection" change to "Automatically Manage branches" ** Description "Bamboo will automatically manage the creation of new branches when Bamboo detects a new branch in your version control system and the removal of the branch from Bambooo after a specified period of inactivity. Detection of new branches runs every 5 minutes." ** "Enabled checkbox" becomes "Automatically manage branches" * Remove after "Enabled" checkbox is removed and remove after becomes part of the same section as "Automatically manage branches" * Remove after description "Branches will be automatically removed after a specified period if no commits to the VCS branch have been made. You can exclude individual Branches on their Branch Details pages. Branches will not be removed from your Version Control System and cleanup runs daily at 3am." * Create an upgrade task to disable automatic removal if the automatically manage branches checkbox is disabled. ** Since enabling automatic creation and automatic removal will be combined, it wont be possible to enable, disable or change the automatic removal value * Move "Notifications" section to the very bottom of the page * If the expiry is zero, do not expire branches 2
513BAM-11952Create Branch error handling looks broken\The spinner will continue to spin, and the error message sits weird.1
514BAM-11956Get more tasks link on task browser is broken* File a bug with AMKT (ecosystem.atlassian.net) for the broken link * Directly to category https://marketplace.atlassian.com/plugins/app/bamboo/popular?category=Bamboo+Tasks1
515BAM-12037A user can manually link any branch to any issue.* Handle situations where the manual linking was wrong or didn't work * Link the branch to an issue if there is not one already set * Remove the issue that is linked to the branch * Should be only be able to link to ONE issue * Field should go on Branch details 2
516BAM-12285Improve the UX of the custom build dialog!https://extranet.atlassian.com/download/attachments/2013305598/run-with-revision.png?modificationDate=1343797439081&amp;effects=border-simple,blur-border! * An empty text input should mean that we will use the latest revision. * In this dialog we should re-use the same Variables widget that we use to override variables in the Branch config and NOT the one from JBAM. * the inline overriding of Stages: We already have this in the current dialog (hidden in a tab) - all we are doing is moving all of the operations onto a single screen. * What do we want to do if there's a long list of stages? Anything? Just scroll? Maybe switch the order of the fields around? -> For the moment, we should just scroll. * You can only specify revisions for the default repository (for the moment) 2
517BAM-12286Pass the revision to build via RESTAsk James what he had exactly on mind. Was it about "queue" resource to accept additional parameter like "customRevision"? I envisioned that this (or similar) issue will be done as a part of BDEV-1082 anyway... 1
518BAM-12287Ensure that once off builds are clearly differentiated from normal builds !https://extranet.atlassian.com/download/attachments/2013305598/buildtypes-result-summary.png?version=1&modificationDate=1346118879586&effects=border-simple,blur-border! !https://extranet.atlassian.com/download/attachments/2013305598/buildtypes-result-list.png?version=1&modificationDate=1346119274450&effects=border-simple,blur-border! !https://extranet.atlassian.com/download/attachments/2013305598/buildtypes-summary.png?version=1&modificationDate=1346118918062&effects=border-simple,blur-border!2
519BAM-12288Bundle Heroku plugin into Bamboo* We need a plan to test the plugin on our Bamboo server (it has tests) * Bundle into download and OnDemand2
520BAM-12384Allow "re-running this build" without triggering dependant child-plans.!https://extranet.atlassian.com/download/attachments/2013305598/rerun-this-build-menu.png?version=2&amp;modificationDate=1343795054858&amp;effects=border-simple,blur-border! * User may only want to re-run the single plan without triggering dependant builds. * When you click re-run this build a dialog should popup * Checkbox to disable the dependencies ** "Disable building dependencies"2
521BAM-12388Doc pages that need updatinghttps://developer.atlassian.com/display/REST/_Version+Compatibility+for+REST+Plugin https://developer.atlassian.com/display/SAL/_Version+Compatibility+for+Shared+Access+Layer1
522BAM-14118Add the MSTest Agent to stock Windows Elastic ImageThe MS Test command line utility is very useful for running Microsoft Framework Unit Test. By utilizing the MS Test Agent installer, you do not have to fully install Visual Studio on the elastic image. This can allow folks to utilize MS Test on the Elastic Images without having to customize and AMI. [MS Test Agent 2010|http://www.microsoft.com/en-us/download/details.aspx?id=1334] [MS Test Agent 2012|http://www.microsoft.com/en-us/download/details.aspx?id=38186] Notes and comments from the support team are located here: [https://support.atlassian.com/browse/JST-70692]3