Steps to reproduce
Download, unpack, set the crowd.home dir and install the Crowd standalone distribution as usual. Remember to enable the CrowdID integrated application during the set up process.
Expected behaviour
The new CrowdID v2 server works without requiring extra configuration.
Observed behaviour
The following exception is logged in the catalina.out file (not the Crowd log file) shortly after running `./start_crowd.sh`:
INFO: Deploying configuration descriptor /Users/dberrueta/smoke/atlassian-crowd-2.8.0/apache-tomcat/conf/Catalina/localhost/openidserver.xml
2014-11-12 10:25:45,421 localhost-startStop-1 WARN [springframework.context.support.PropertySourcesPlaceholderConfigurer] Could not load properties from URL [file:${crowd.openid.home}/jdbc.properties]: ${crowd.openid.home}/jdbc.properties (No such file or directory)
2014-11-12 10:25:45,421 localhost-startStop-1 WARN [springframework.context.support.PropertySourcesPlaceholderConfigurer] Could not load properties from URL [file:${crowd.openid.home}/crowd.properties]: ${crowd.openid.home}/crowd.properties (No such file or directory)
2014-11-12 10:25:45,421 localhost-startStop-1 WARN [springframework.context.support.PropertySourcesPlaceholderConfigurer] Could not load properties from URL [file:${crowd.openid.properties}]: ${crowd.openid.properties} (No such file or directory)
2014-11-12 10:25:46,376 localhost-startStop-1 INFO [com.atlassian.crowd.startup] Starting the Crowd OpenID server, version: 2.8.0 (Build:#645 - 2014-11-05)
*********************************************************************************************
*
* You can now use the Crowd OpenID server by visiting http://localhost:8095/openidserver
*
*********************************************************************************************
2014-11-12 10:25:46,488 localhost-startStop-1 WARN [springframework.context.support.PropertySourcesPlaceholderConfigurer] Could not load properties from URL [file:${crowd.openid.home}/jdbc.properties]: ${crowd.openid.home}/jdbc.properties (No such file or directory)
2014-11-12 10:25:46,488 localhost-startStop-1 WARN [springframework.context.support.PropertySourcesPlaceholderConfigurer] Could not load properties from URL [file:${crowd.openid.home}/crowd.properties]: ${crowd.openid.home}/crowd.properties (No such file or directory)
2014-11-12 10:25:46,488 localhost-startStop-1 WARN [springframework.context.support.PropertySourcesPlaceholderConfigurer] Could not load properties from URL [file:${crowd.openid.properties}]: ${crowd.openid.properties} (No such file or directory)
2014-11-12 10:25:46,630 localhost-startStop-1 INFO [crowd.service.client.ClientResourceLocator] The file cannot be read or does not exist: ${crowd.openid.home}/crowd.properties
2014-11-12 10:25:46,635 localhost-startStop-1 INFO [openid.server.filter.OpenIDServerClientPropertiesImpl] Loading property: 'application.name' : 'crowd-openid-server'
2014-11-12 10:25:46,635 localhost-startStop-1 INFO [openid.server.filter.OpenIDServerClientPropertiesImpl] Loading property: 'application.login.url' : 'http://localhost:8095/openidserver'
2014-11-12 10:25:46,635 localhost-startStop-1 INFO [openid.server.filter.OpenIDServerClientPropertiesImpl] Loading property: 'session.tokenkey' : 'session.tokenkey'
2014-11-12 10:25:46,635 localhost-startStop-1 INFO [openid.server.filter.OpenIDServerClientPropertiesImpl] Loading property: 'session.lastvalidation' : 'session.lastvalidation'
2014-11-12 10:25:46,635 localhost-startStop-1 INFO [openid.server.filter.OpenIDServerClientPropertiesImpl] Loading property: 'session.validationinterval' : '0'
2014-11-12 10:25:46,635 localhost-startStop-1 INFO [openid.server.filter.OpenIDServerClientPropertiesImpl] Failed to find value for property: cookie.domain
2014-11-12 10:25:46,636 localhost-startStop-1 INFO [openid.server.filter.OpenIDServerClientPropertiesImpl] Failed to find value for property: application.login.url.template
2014-11-12 10:25:46,636 localhost-startStop-1 INFO [openid.server.filter.OpenIDServerClientPropertiesImpl] Loading property: 'application.base.url' : 'http://localhost:8095/openidserver'
2014-11-12 10:25:46,774 localhost-startStop-1 INFO [crowd.service.client.ClientResourceLocator] The file cannot be read or does not exist: ${crowd.openid.home}/crowdid.approval-whitelist
2014-11-12 10:25:46,776 localhost-startStop-1 INFO [server.manager.site.ApprovalWhitelist] Using file as a site approval whitelist: /Users/dberrueta/smoke/atlassian-crowd-2.8.0/crowd-openidserver-webapp/WEB-INF/classes/crowdid.approval-whitelist
2014-11-12 10:25:46,833 localhost-startStop-1 WARN [org.openid4java.server.RealmVerifier] RP discovery / realm validation disabled;
2014-11-12 10:25:47,525 openid-spray-akka.actor.default-dispatcher-4 ERROR [spray.server.servlet.Boot] Failed to configure and start spray component of openid server
java.lang.IllegalStateException: OpenID server application.login.url.template not configured or missing ${RETURN_TO_URL} variable
at com.atlassian.crowd.openid.spray.server.servlet.Boot$$anonfun$buildConfig$1$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$6$$anonfun$apply$8.apply(Boot.scala:44)
at com.atlassian.crowd.openid.spray.server.servlet.Boot$$anonfun$buildConfig$1$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$6$$anonfun$apply$8.apply(Boot.scala:44)
at scala.Option.fold(Option.scala:157)
at com.atlassian.crowd.openid.spray.server.servlet.Boot$$anonfun$buildConfig$1$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$6.apply(Boot.scala:45)
at com.atlassian.crowd.openid.spray.server.servlet.Boot$$anonfun$buildConfig$1$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$6.apply(Boot.scala:39)
at scala.util.Success.flatMap(Try.scala:200)
at com.atlassian.crowd.openid.spray.server.servlet.Boot$$anonfun$buildConfig$1$$anonfun$apply$1$$anonfun$apply$4.apply(Boot.scala:39)
at com.atlassian.crowd.openid.spray.server.servlet.Boot$$anonfun$buildConfig$1$$anonfun$apply$1$$anonfun$apply$4.apply(Boot.scala:36)
at scala.util.Success.flatMap(Try.scala:200)
at com.atlassian.crowd.openid.spray.server.servlet.Boot$$anonfun$buildConfig$1$$anonfun$apply$1.apply(Boot.scala:36)
at com.atlassian.crowd.openid.spray.server.servlet.Boot$$anonfun$buildConfig$1$$anonfun$apply$1.apply(Boot.scala:35)
at scala.util.Success.flatMap(Try.scala:200)
at com.atlassian.crowd.openid.spray.server.servlet.Boot$$anonfun$buildConfig$1.apply(Boot.scala:35)
at com.atlassian.crowd.openid.spray.server.servlet.Boot$$anonfun$buildConfig$1.apply(Boot.scala:34)
at scala.util.Success.flatMap(Try.scala:200)
at com.atlassian.crowd.openid.spray.server.servlet.Boot.buildConfig(Boot.scala:34)
at com.atlassian.crowd.openid.spray.server.servlet.Boot.<init>(Boot.scala:65)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at spray.servlet.Initializer$$anonfun$contextInitialized$1.apply$mcV$sp(Initializer.scala:54)
at akka.util.Switch.transcend(LockUtil.scala:27)
at akka.util.Switch.switchOn(LockUtil.scala:48)
at spray.servlet.Initializer.contextInitialized(Initializer.scala:33)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467)
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:632)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:672)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1862)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Nov 12, 2014 10:25:47 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deployment of configuration descriptor /Users/dberrueta/smoke/atlassian-crowd-2.8.0/apache-tomcat/conf/Catalina/localhost/openidserver.xml has finished in 5,906 ms
The "old" CrowdID server works fine, but any request made to the /v2 server, like http://localhost:8095/openidserver/v2/op returns a 500 error with a stacktrace, that is also logged in the catalina.out:
2014-11-12 10:30:28,196 http-bio-8095-exec-1 ERROR [500ErrorPage] Exception caught in 500 page requirement failed: No ActorSystem configured java.lang.IllegalArgumentException: requirement failed: No ActorSystem configured at scala.Predef$.require(Predef.scala:233) at spray.servlet.Servlet30ConnectorServlet.init(Servlet30ConnectorServlet.scala:50) at javax.servlet.GenericServlet.init(GenericServlet.java:158) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:864) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)