AnsweredAssumed Answered

Installing Alfresco 1.2rc - startup fails

Question asked by tronda on Feb 10, 2006
Latest reply on Feb 13, 2006 by gary.spencer
I've downloaded the tar.gz version of the release candidate for 1.2. So this is what I've done:

sudo tar -zxvf ~/download/alfresco-tomcat-1.2.0RC1.tar.gz .
sudo chgrp -R admin tomcat
sudo chmod -R g+w tomcat

- Goes into the startup.sh and add JAVA_HOME setting to jdk1.5.0_06
- Add manager user to the tomcat-users.xml
- Run startup.sh
- Tries to start the alfresco application
- Get the following exception:

INFO: Illegal access: this web application instance has been stopped already.  C ould not load cryptix.jce.provider.md.MD4.  The eventual following stack trace i s caused by an error thrown for debugging purposes as well as to attempt to term inate the thread which caused the illegal access, and has no functional impact.
09:53:17,952 ERROR [web.context.ContextLoader] Context initialization failed
java.lang.ThreadDeath
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa der.java:1227)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa der.java:1187)
        at java.security.Provider$Service.getImplClass(Provider.java:1172)
        at java.security.Provider$Service.newInstance(Provider.java:1129)
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:220)
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:147)
        at java.security.Security.getImpl(Security.java:658)
        at java.security.MessageDigest.getInstance(MessageDigest.java:122)
        at org.alfresco.repo.security.authentication.MD4PasswordEncoderImpl.<cli nit>(MD4PasswordEncoderImpl.java:53)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:242)
        at org.springframework.util.ClassUtils.forName(ClassUtils.java:108)
        at org.springframework.beans.factory.support.BeanDefinitionReaderUtils.c reateBeanDefinition(BeanDefinitionReaderUtils.java:65)
        at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser. parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:426)
        at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser. parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:392)
        at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser. parseBeanDefinitions(DefaultXmlBeanDefinitionParser.java:307)
        at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser. registerBeanDefinitions(DefaultXmlBeanDefinitionParser.java:191)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registe rBeanDefinitions(XmlBeanDefinitionReader.java:295)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadB eanDefinitions(XmlBeanDefinitionReader.java:223)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea nDefinitions(XmlBeanDefinitionReader.java:173)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea nDefinitions(XmlBeanDefinitionReader.java:148)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReade r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReade r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
        at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser. importBeanDefinitionResource(DefaultXmlBeanDefinitionParser.java:325)
        at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser. parseBeanDefinitions(DefaultXmlBeanDefinitionParser.java:298)
        at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser. registerBeanDefinitions(DefaultXmlBeanDefinitionParser.java:191)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registe rBeanDefinitions(XmlBeanDefinitionReader.java:295)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadB eanDefinitions(XmlBeanDefinitionReader.java:223)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea nDefinitions(XmlBeanDefinitionReader.java:173)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea nDefinitions(XmlBeanDefinitionReader.java:148)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReade r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReade r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
        at org.springframework.web.context.support.XmlWebApplicationContext.load BeanDefinitions(XmlWebApplicationContext.java:126)
        at org.springframework.web.context.support.XmlWebApplicationContext.load BeanDefinitions(XmlWebApplicationContext.java:94)
        at org.springframework.context.support.AbstractRefreshableApplicationCon text.refreshBeanFactory(AbstractRefreshableApplicationContext.java:89)
        at org.springframework.context.support.AbstractApplicationContext.refres h(AbstractApplicationContext.java:269)
        at org.springframework.web.context.support.AbstractRefreshableWebApplica tionContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
        at org.springframework.web.context.ContextLoader.createWebApplicationCon text(ContextLoader.java:246)
        at org.springframework.web.context.ContextLoader.initWebApplicationConte xt(ContextLoader.java:184)
        at org.springframework.web.context.ContextLoaderListener.contextInitiali zed(ContextLoaderListener.java:49)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContex t.java:3692)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4 127)
        at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java: 1175)
        at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServl et.java:527)
        at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServl et.java:104)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV alve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV alve.java:178)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica torBase.java:514)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j ava:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j ava:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal ve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav a:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java :868)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p rocessConnection(Http11BaseProtocol.java:663)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo int.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol lowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP ool.java:684)
        at java.lang.Thread.run(Thread.java:595)
09:53:17,962 ERROR [[Catalina].[localhost].[/alfresco]] Exception sending contex t initialized event to listener instance of class org.springframework.web.contex t.ContextLoaderListener
java.lang.ThreadDeath

And then the stacktrace it continues forever (is it necessary to log every exception three times?).

So I tried to find the MD4 class and doing a small search with my wounderful findinjar script I discovered this jar file:

webapps/alfresco/WEB-INF/lib/cryptix-jce-provider.jar

Runs:
jar -tf cryptix-jce-provider.jar | grep MD4

Gives this result:
cryptix/jce/provider/mac/HMAC_MD4.class
cryptix/jce/provider/md/MD4.class
cryptix/jce/provider/rsa/RSACipher_OAEP_MD4.class
cryptix/jce/provider/rsa/RSASignature_PKCS1_MD4.class
cryptix/jce/provider/rsa/RSASignature_PSS_MD4.class

So the class exists.

Any suggestion?

Outcomes