Unable to start Asqatasun Webapp from Tomcat Manager

I’m running Ubuntu 16.04 LTS, Open JDK 7, Tomcat 7, and Apache2, but to be honest I’m fairly noob with all of this. I’m a frontend developer with knowledge of UI A11y, but not much experience with configuration of web servers and applications.

I’ve reached a roadblock in the last step of installation, Setup an Apache frontend with HTTPS. I’m working on a local installation for evaluation purposes. These are the install.sh values I used for installation: (asqatasun_webapp_dir isn’t mentioned in the PDF so it was a guess to set this value)

declare database_user="asqatasun"
declare database_passwd="asqaP4sswd"
declare database_db="asqatasun"
declare database_host="localhost"
declare asqatasun_url="http://localhost:8080/asqatasun"
declare asqatasun_webapp_dir="/var/lib/tomcat7/webapps/asqatasun"
declare tomcat_webapps="/var/lib/tomcat7/webapps"
declare tomcat_user="tomcat7"
declare asqa_admin_email="lucas.falor@gmail.com"
declare asqa_admin_passwd="*********"
declare firefox_esr_binary_path="/opt/firefox-31.4.0esr/firefox"
declare display_port=":99"

After Installation, I can see Asqatasun listed on the Tomcat Web App Manager page, but it’s not started, and won’t start.

I thought I would keep going to the Apache Frontend with HTTPS stage, but then I discovered a roadblock - I don’t currently have a DNS registered domain name for the purpose of this evaluation test.

I thought I would be able to test locally at localhost:8080/asqatasun, but since it’s not running in Tomcat, I get a 404 with this URL. Without a registered domain, I can’t continue to the Apache frontend steps.

Is it possible to evaluate Asqatasun without a registered domain?
Is it normal to not be able to start the Asqatasun web app after the installation steps, or does this indicate that I didn’t configure something correctly?

yes, it’s possible. In the documentation, “Set up an Apache frontend with HTTPS” is optional.

By looking at the following log files, we might have a little more information:

  • /var/log/tomcat7/catalina.out
  • /var/log/asqatasun/asqatasun.log

The fastest method for evaluation purposes is the use of the docker image.

docker pull asqatasun/asqatasun  
docker run --name asqatasun -d -p 8085:8080  asqatasun/asqatasun

In your browser, go to http://localhost:8085/asqatasun/

Or even faster, use the software demo.

Thank you @fabrice for the reply. Here are the relevant log snippets you asked about.

catalina.out

May 01, 2017 5:19:22 PM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
May 01, 2017 5:19:23 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file
May 01, 2017 5:19:23 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/asqatasun] startup failed due to previous errors

asqatasun.log

01-05-2017 17:19:23:166 0    ERROR org.springframework.web.context.ContextLoader  - Context initialization failed
java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
	at org.apache.catalina.core.ApplicationContext.getInitParameterNames(ApplicationContext.java:368)
	at org.apache.catalina.core.ApplicationContextFacade.getInitParameterNames(ApplicationContextFacade.java:367)
	at org.springframework.web.context.support.WebApplicationContextUtils.registerEnvironmentBeans(WebApplicationContextUtils.java:201)
	at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.postProcessBeanFactory(AbstractRefreshableWebApplicationContext.java:163)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:448)
	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5068)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5584)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
	at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1312)
	at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:690)
	at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:216)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:136)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:221)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)

I will try the Docker solution. Part of my evaluation is understanding how to install and configure. Also, from the documentation it doesn’t sound like the Docker solution can be used for a permanent installation as it sounds like the instance is wiped out if the server is restarted. I may have an option to use MS Azure cloud services, so maybe that’s the place to host the Docker image?

The Asqatasun Docker image is not ready to be used for production.
For the workstation, with the --restart always option, it works.

docker run --name asqatasun --restart always -d -p 127.0.0.1:8085:8080  asqatasun/asqatasun

I assume that the installation procedure is not fully adapted to Ubuntu 16.04. I will do some tests.

Thank you, I appreciate the help. I should have left my Ubuntu installation at 14.04. We’re also going to try and get this setup in our test environment. I will keep this thread updated with our progress.

1 Like

It seems the installation process didn’t succeed. Your error indicates that some data are missing in the database, whereas the installation is supposed to populate it.
Did you create the database before running the script as mentioned in the pre-requisites page of the documentation?
Can we have the execution log of the installation script?

Hope it helps

Regards

Koj

I did run the pre-requisites script before running the installation script. I’m not sure if it successfully populated the db. I will see if I can get the execution log of the installation. I’m at work, but I attempted the installation on my home machine.