java.lang.RuntimeException: javax.servlet.ServletException: java.lang.NullPointerException

kenorb January 14, 2021

 

I've installed JIRA 8.14.0 (same error on 8.13.0) on Ubuntu 16.04 Docker container with SQL server (mssql/server:2019-latest).

And on the last step when configuring E-mail at /secure/SetupMailNotifications!default.jspa (by choosing Later), JIRA crashes with the following error:

 

Sorry, we had some technical problems during your last operation.

Log's referral number: b3b1076c-3369-47db-8aa0-09d724bb2400

Referer URL: http://localhost:8080/secure/SetupMailNotifications!default.jspa

java.lang.RuntimeException: javax.servlet.ServletException: java.lang.NullPointerException
java.lang.RuntimeException: javax.servlet.ServletException: java.lang.NullPointerException
	at com.atlassian.web.servlet.plugin.DynamicAuthorizationServletForwarder.forward(DynamicAuthorizationServletForwarder.java:55) [?:?]
	at com.atlassian.web.servlet.plugin.DynamicAuthorizationServletForwarder.forwardSafely(DynamicAuthorizationServletForwarder.java:83) [?:?]
	at com.atlassian.web.servlet.plugin.SanitizingServletForwarder.forwardSafely(SanitizingServletForwarder.java:48) [?:?]
	at com.atlassian.web.servlet.plugin.RememberingServletForwarder.forwardSafely(RememberingServletForwarder.java:75) [?:?]
	at com.atlassian.web.servlet.plugin.ResolvingServletForwarder.forwardSafely(ResolvingServletForwarder.java:50) [?:?]
	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingResponse.lambda$null$0(RedirectInterceptingResponse.java:50) [?:?]
	at java.util.Optional.map(Optional.java:215) [?:1.8.0_202]
	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingResponse.lambda$forward$1(RedirectInterceptingResponse.java:50) [?:?]
	at java.util.Optional.flatMap(Optional.java:241) [?:1.8.0_202]
	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingResponse.forward(RedirectInterceptingResponse.java:50) [?:?]
	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingResponse.sendRedirect(RedirectInterceptingResponse.java:36) [?:?]
	at javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.java:138) [servlet-api.jar:?]
	at com.atlassian.core.filters.HeaderSanitisingResponseWrapper.sendRedirect(HeaderSanitisingResponseWrapper.java:85) [atlassian-core-7.0.2.jar:?]
	at com.atlassian.jira.web.action.JiraWebActionSupport.forceRedirect(JiraWebActionSupport.java:498) [jira-api-8.13.0.jar:?]
	at com.atlassian.jira.web.action.JiraWebActionSupport.getRedirect(JiraWebActionSupport.java:460) [jira-api-8.13.0.jar:?]
	at com.atlassian.jira.web.action.JiraWebActionSupport.getRedirect(JiraWebActionSupport.java:411) [jira-api-8.13.0.jar:?]
	at com.atlassian.jira.web.action.setup.SetupComplete.doExecute(SetupComplete.java:107) [classes/:?]
	at webwork.action.ActionSupport.execute(ActionSupport.java:165) [webwork-1.4-atlassian-30.jar:?]
	at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:63) [jira-api-8.13.0.jar:?]
	at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:39) [webwork-1.4-atlassian-30.jar:?]
	at webwork.interceptor.NestedInterceptorChain.proceed(NestedInterceptorChain.java:31) [webwork-1.4-atlassian-30.jar:?]
	at webwork.interceptor.ChainedInterceptor.intercept(ChainedInterceptor.java:16) [webwork-1.4-atlassian-30.jar:?]
	at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:35) [webwork-1.4-atlassian-30.jar:?]
	at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:225) [webwork-1.4-atlassian-30.jar:?]
	at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:189) [webwork-1.4-atlassian-30.jar:?]
	at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.service(JiraWebworkActionDispatcher.java:138) [classes/:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) [servlet-api.jar:?]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [catalina.jar:8.5.57]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.57]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.5.57]
	at ...

 

Log file: /var/atlassian/application-data/jira/log/atlassian-jira.log

80-exec-23 WARN [c.a.j.w.action.setup.SetupComplete] Unable to automatically login after setup complete: sessionStorage is nul
80-exec-23 ERROR [o.a.c.c.C.[.[localhost].[/].[action]] Servlet.service() for servlet [action] threw exception

...

Any ideas?

 

Screenshot 2021-01-14 at 19.28.34.png

1 answer

1 accepted

0 votes
Answer accepted
kenorb January 18, 2021

The error happened, because the database was not correctly configured which happened by skipping some of the steps.

To do that, you need to hit the home page for the first time before hitting any configuration pages. Basically the homepage redirects to /secure/SetupMode!default.jspa and /secure/SetupDatabase!default.jspa pages which are configuring the database for the first time.

If you hit the following error at /secure/SetupAdminAccount!default.jspa:

Cannot add user, all the user directories are read-only.


It's basically the same cause. You need to hit the home page first.

To summarize, to configure JIRA via wizard, here are the steps from the scripting perspective:

  1. Hit homepage via GET request (e.g. http://localhost:8080) and follow the redirects (such as /secure/SetupMode!default.jspa and /secure/SetupDatabase!default.jspa).
  2. Set up application properties via POST at /secure/SetupApplicationProperties.jspa (regular page: /secure/SetupApplicationProperties!default.jspa).
  3. (Optionally) Validate license via POST at /secure/SetupLicense!validateLicense.jspa
  4. Setup license via POST at /secure/SetupLicense.jspa (regular page: /secure/SetupLicense!default.jspa).
  5. Setup account via POST at /secure/SetupAdminAccount.jspa (regular page: /secure/SetupAdminAccount!default.jspa).
  6. Setup mail notification at /secure/SetupMailNotifications.jspa (regular page: /secure/SetupMailNotifications!default.jspa)
  7. To confirm, hit /rest/api/2/dashboard (response code 200 - JIRA configured, 500 - not configured, 503 - starting up or not configured).

Suggest an answer

Log in or Sign up to answer