My favorites | Sign in
Project Home Downloads Wiki Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 3255: Gerrit war fails to initialize when deployed in Tomcat
3 people starred this issue and may be notified of changes. Back to list
Status:  Released
Owner:  ----
Closed:  Apr 2015
Cc:  Dariusz.Luksza


Sign in to add a comment
 
Project Member Reported by huga...@gmail.com, Mar 19, 2015
*****************************************************************
*****                                                       *****
***** !!!! THIS BUG TRACKER IS FOR GERRIT CODE REVIEW !!!!  *****
*****                                                       *****
***** DO NOT SUBMIT BUGS FOR CHROME, ANDROID, CYANOGENMOD,  *****
***** INTERNAL ISSUES WITH YOUR COMPANY'S GERRIT SETUP, ETC.*****
*****                                                       *****
*****   THOSE ISSUES BELONG IN DIFFERENT ISSUE TRACKERS     *****
*****                                                       *****
*****************************************************************

Affected Version: 2.11-rc1-15-g0f4048b

What steps will reproduce the problem?
1.deploy gerrit war in a web container (e.g. tomcat)
2.
3.

What is the expected output? What do you see instead?

Gerrit war fail to initialize with the following error:

SEVERE: Exception starting filter guiceFilter
com.google.inject.CreationException: Unable to create injector, see the following errors:

1) No implementation for java.lang.String annotated with @com.google.gerrit.server.securestore.SecureStoreClassName() was bound.
  while locating java.lang.String annotated with @com.google.gerrit.server.securestore.SecureStoreClassName()
    for parameter 2 at com.google.gerrit.server.securestore.SecureStoreProvider.<init>(SecureStoreProvider.java:44)
  at com.google.gerrit.server.config.GerritServerConfigModule.configure(GerritServerConfigModule.java:33)

1 error
        at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:448)
        at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155)
        at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107)
        at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:225)
        at com.google.gerrit.httpd.WebAppInitializer.createCfgInjector(WebAppInitializer.java:275)
        at com.google.gerrit.httpd.WebAppInitializer.init(WebAppInitializer.java:163)
        at com.google.gerrit.httpd.WebAppInitializer.getInjector(WebAppInitializer.java:359)
        at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:47)
        at com.google.gerrit.httpd.WebAppInitializer.init(WebAppInitializer.java:366)
        at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:281)
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
        at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:107)
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4775)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5452)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:976)
        at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1653)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)



Please provide any additional information below.

Mar 19, 2015
Project Member #1 huga...@gmail.com
(No comment was entered for this change.)
Labels: Blocking-2.11
Mar 19, 2015
Project Member #2 david.pu...@sonymobile.com
(No comment was entered for this change.)
Cc: Dariusz.Luksza
Mar 19, 2015
Project Member #3 david.pu...@sonymobile.com
(No comment was entered for this change.)
Summary: Gerrit war fails to initialize when deployed in Tomcat (was: Gerrit war fails to initialize)
Status: Accepted
Mar 19, 2015
Project Member #4 david.pu...@sonymobile.com
https://gerrit-review.googlesource.com/#/c/66511/
Status: ChangeUnderReview
Apr 2, 2015
Project Member #5 huga...@gmail.com
(No comment was entered for this change.)
Status: Submitted
Labels: FixedIn-2.11
Apr 16, 2015
Project Member #6 david.pu...@sonymobile.com
(No comment was entered for this change.)
Status: Released
May 13, 2015
#7 e.lemani...@physioflow.com
I have a similar issue on 2.11 war (under tomcat)

May 13, 2015 2:29:13 PM org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter guiceFilter
com.google.inject.CreationException: Unable to create injector, see the following errors:

1) No implementation for java.lang.String annotated with @com.google.gerrit.server.securestore.SecureStoreClassName() was bound.
  while locating java.lang.String annotated with @com.google.gerrit.server.securestore.SecureStoreClassName()
    for parameter 2 at com.google.gerrit.server.securestore.SecureStoreProvider.<init>(SecureStoreProvider.java:44)
  at com.google.gerrit.server.config.GerritServerConfigModule.configure(GerritServerConfigModule.java:80)

1 error
        at com.google.gerrit.httpd.WebAppInitializer.init(WebAppInitializer.java:162)
        at com.google.gerrit.httpd.WebAppInitializer.getInjector(WebAppInitializer.java:363)
        at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:47)
        at com.google.gerrit.httpd.WebAppInitializer.init(WebAppInitializer.java:370)
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:298)
        at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:119)
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4076)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4730)
        at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1276)
        at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:625)
        at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:136)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:194)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)

May 13, 2015
Project Member #8 huga...@gmail.com
Did you make sure you have not left over from previous version of gerrit?

-Stop tomcat.
-Remove <tomcat_dir>/work/*
-Remove <tomcat_dir>/webapps/<gerrit_war_expanded_folder>
-Restart tomcat
May 13, 2015
#9 e.lemani...@physioflow.com
Yes, it does not change the error
May 13, 2015
#10 Dariusz.Luksza
Main requirement (for me) to fix this bug is to be able to run gerrit in tomcat. 

Do you have instructions how to set it up?

Last time I've failed with this and was working closely with Hugo to deliver fix.
May 13, 2015
Project Member #11 huga...@gmail.com
Before you setup, I will try it again because in my local environment. It really looks like left over from previous version because I can assure you that gerrit 2.11 in starting in tomcat. We(my colleagues and I) have been testing 2.11 in our dev/staging environment and Gerrit is starting properly.
May 13, 2015
#12 e.lemani...@physioflow.com
I have no precise procedure to follow, and I don't have precise memories of the different steps I had to go through. few things I remember:
-Create an xml context file defining the resource to access db
-make sure jdbc driver is available
-add -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true and -Dgerrit.site_path= to CATALINA_OPTS

May 13, 2015
#13 e.lemani...@physioflow.com
Saša Živkov just found the solution ( https://groups.google.com/forum/#!topic/repo-discuss/oW7i93mZhRo ) I had to remove -Dgerrit.site_path=xxxx from CATALINA_OPTS because it was redundant with the JNDI resource jdbc/ReviewDb in Tomcat configuration context
Sign in to add a comment

Powered by Google Project Hosting