Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

How to fix Bamboo Applink Missing Icons?

Shah Baloch
Contributor
January 17, 2023

Hi Community,


I have migrated Bamboo to a new server. Actually, I only copied the home directory data and server.xml file and downloaded the bamboo.tar.gz file from the Atlassian website. I replaced the server.xml file and added the home directory path. Started Bamboo. Everything looks fine except icons are missing from the app link tab. When I right-clicked to inspect the page found out it's still showing the old server's URL (http://bamboo-server:8085) the new URL is https://bamboo-production.server:443, though that server is shutdown. I tested with multiple browsers. Is there anything else I need to copy to the new server? or how can fix this issue? Here is the class code for the app link that I copied from inspect page.

<img class="applinks-icon" src="http://bamboo-server:8085/s/70216/1/6.0.12/_/download/resources/com.atlassian.applinks.applinks-plugin:applinks-images/images/config/logos/128x128/128bitbucket.png" alt="Bitbucket" width="20" height="20">

 

Thank youbamboo_01172023.JPG

1 answer

1 accepted

1 vote
Answer accepted
Eduardo Alvarenga
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
January 17, 2023

Hello @Shah Baloch

Please update the Server URL:

  • Bamboo Administration >> General Configuration >> Base URL

You need to restart Bamboo after that change.

Also, make sure that the address reported on "Broker client URL" is reachable by the Agents.

Cheers,

Eduardo Alvarenga
Atlassian Support APAC

--please don't forget to Accept the answer if the reply is helpful-- 

Shah Baloch
Contributor
January 17, 2023

Hi @Eduardo Alvarenga thank you so much, for some reason I missed the URL part. I updated Base URL and Broker client URL. However Broker URL doesn't have a hostname, it is "nio://0.0.0.0:54663?wireFormat.maxInactivityDuration=300000" and the same port as Broker client URL. Do I need to update the Broker URL or leave it as it is?

I stopped Bamboo after updating the hostname from Base URL and Broker client URL. However, I got an error "Kill failed: $CATALINA_PID not set". I see some failed messages in the Catalina.out log file, not sure these are related to this. Any idea why I'm getting that error?


Bamboo Server Edition
Version : 7.2.10

If you encounter issues starting or stopping Bamboo Server, please see the Troubleshooting guide at https://confluence.atlassian.com/display/BAMBOO/Installing+and+upgrading+Bamboo

Using CATALINA_BASE: /opt/bamboo
Using CATALINA_HOME: /opt/bamboo
Using CATALINA_TMPDIR: /opt/bamboo/temp
Using JRE_HOME: /usr/lib/jvm/jre-openjdk
Using CLASSPATH: /opt/bamboo/bin/bootstrap.jar:/opt/bamboo/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Kill failed: $CATALINA_PID not set

17-Jan-2023 16:58:08.258 SEVERE [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [ROOT] created a ThreadL
ocal with key of type [org.springframework.core.NamedInheritableThreadLocal] (value [Current invoker bundle context]) and a value of type [org.apache.felix.framework.BundleConte
xtImpl] (value [org.apache.felix.framework.BundleContextImpl@99281c]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to
try and avoid a probable memory leak.
17-Jan-2023 16:58:08.258 SEVERE [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [ROOT] created a ThreadL
ocal with key of type [org.springframework.core.NamedInheritableThreadLocal] (value [Current invoker bundle context]) and a value of type [org.apache.felix.framework.BundleConte
xtImpl] (value [org.apache.felix.framework.BundleContextImpl@99281c]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to
try and avoid a probable memory leak.

Thank you

Like Eduardo Alvarenga likes this
Eduardo Alvarenga
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
January 17, 2023

Hello @Shah Baloch

The Broker URL is the address where the Bamboo server will listen to the requests, so "0.0.0.0" will mean any interface on the Server; that's the default so you don't have to change it.

The "Kill failed: $CATALINA_PID not set" message means literally that the $CATALINA_PID environment variable was not set. Depending on how you control Bamboo startup (via a systemd script for example) you must export $CATALINA_PID so it knows which PID to send signals.

Please check the following links for more details and workarounds:

Kind regards,

Eduardo Alvarenga
Atlassian Support APAC

--please don't forget to Accept the answer if the reply is helpful-- 

Like Shah Baloch likes this
Shah Baloch
Contributor
January 18, 2023

Hi @Eduardo Alvarengawe'll use the manual start and stop bamboo script to start and stop bamboo. I followed the steps from the second link. These two lines were already in the setenv.sh file.

PRGDIR=`dirname "$0"`
cat "${PRGDIR}"/bamboobanner.txt

I added rest of the code from the link below those lines and it worked.

# set the location of the pid file
if [ -z "$CATALINA_PID" ] ; then
    if [ -n "$CATALINA_BASE" ] ; then
        CATALINA_PID="$CATALINA_BASE"/work/catalina.pid
    elif [ -n "$CATALINA_HOME" ] ; then
        CATALINA_PID="$CATALINA_HOME"/work/catalina.pid
    fi
fi
export CATALINA_PID

However, I encountered a couple of issues. I didn't realize and I started bamboo when I was logged in as root. It created Catalina.pid file in /opt/bamboo/work directory. Then I tried to stop bamboo while logged in as a bamboo user it didn't stop. I had to stop bamboo as root and change the catalina.pid file's ownership to the bamboo user and started again. I got an error that bamboo.cfg.xml doesn't exist. I found out that when I started bamboo as root it updated that file's ownership. So had to stop it again and change the ownership to bamboo and it worked. just wanted to mention that if someone will face a similar issue so they'll know how to fix it.


Is there any way to hardcode the bamboo user so that the service always starts from the bamboo user? I mean in Jira and Confluence there is a user file where can add the user. I couldn't find a similar file in bamboo, I might be looking wrong directories.

Thank you,

Eduardo Alvarenga
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
January 19, 2023

Hey @Shah Baloch

Thanks for the feedback!

Actually, starting Bamboo as the root user is a very common mistake. Unfortunately, there is no protection mechanism that would prevent Administrators from running it as a different user.

On Linux, we recommend you set Bamboo to run as a service and control it from there.

Please do not forget to accept this answer if that works for you as it helps the whole community to index the best answers for common questions!

Best regards,

Eduardo Alvarenga
Atlassian Support APAC

--please don't forget to Accept the answer if the reply is helpful-- 

Like Shah Baloch likes this
Shah Baloch
Contributor
January 19, 2023

Thank you @Eduardo Alvarenga I created aliases for start and stop bamboo for now. When the user types start-bamboo/stop-bamboo it'll su to the bamboo user and start/stop the bamboo from the bamboo user. I'll bookmark the bamboo service related article if needed I'll create systemd service. Thank you so much for your help, you guys are great.

Like Eduardo Alvarenga likes this

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events