-
Bug
-
Resolution: Fixed
-
Critical
-
4.0RC3
-
None
-
None
An error occured during the initialization of the GroupDirectory etudiants-ufr java.lang.NullPointerException at org.ametys.plugins.core.impl.group.directory.ldap.LdapGroupDirectory.init(LdapGroupDirectory.java:184) at org.ametys.core.group.directory.GroupDirectoryFactory.createGroupDirectory(GroupDirectoryFactory.java:134) at org.ametys.core.group.GroupDirectoryDAO._configureGroupDirectory(GroupDirectoryDAO.java:464) at org.ametys.core.group.GroupDirectoryDAO._read(GroupDirectoryDAO.java:414) at org.ametys.core.group.GroupDirectoryDAO.getGroupDirectories(GroupDirectoryDAO.java:146) at org.ametys.core.group.GroupDirectoriesDataSourceConsumer.isInUse(GroupDirectoriesDataSourceConsumer.java:70) at org.ametys.core.datasource.DataSourceConsumerExtensionPoint.isInUse(DataSourceConsumerExtensionPoint.java:45) at org.ametys.core.datasource.AbstractDataSourceManager.initialize(AbstractDataSourceManager.java:108) at org.apache.avalon.framework.container.ContainerUtil.initialize(ContainerUtil.java:245) at org.ametys.runtime.plugin.component.ThreadSafeComponentManager$ComponentFactory.configureAndStart(ThreadSafeComponentManager.java:367) at org.ametys.runtime.plugin.component.PluginsComponentManager$ProxyComponentFactory.newInstance(PluginsComponentManager.java:156) at org.ametys.runtime.plugin.component.PluginsComponentManager$ProxyComponentFactory.newInstance(PluginsComponentManager.java:121) at org.ametys.runtime.plugin.component.ThreadSafeComponentManager.lookup(ThreadSafeComponentManager.java:138) at org.ametys.runtime.plugin.component.PluginsComponentManager.lookup(PluginsComponentManager.java:74) at org.apache.avalon.framework.service.WrapperServiceManager.lookup(WrapperServiceManager.java:69) at org.ametys.core.util.ldap.AbstractLDAPConnector.service(AbstractLDAPConnector.java:115) at org.apache.cocoon.components.LifecycleHelper.setupComponent(LifecycleHelper.java:364) at org.apache.cocoon.components.LifecycleHelper.setupComponent(LifecycleHelper.java:305) at org.apache.cocoon.components.LifecycleHelper.setupComponent(LifecycleHelper.java:259) at org.ametys.core.user.directory.UserDirectoryFactory.createUserDirectory(UserDirectoryFactory.java:127) at org.ametys.core.user.population.UserPopulationDAO._configureUserDirectories(UserPopulationDAO.java:1013) at org.ametys.core.user.population.UserPopulationDAO._configurePopulation(UserPopulationDAO.java:987) at org.ametys.core.user.population.UserPopulationDAO._readPopulations(UserPopulationDAO.java:939) at org.ametys.core.user.population.UserPopulationDAO.getUserPopulations(UserPopulationDAO.java:260) at org.ametys.plugins.core.impl.user.population.PopulationDataSourceConsumer._isInUseByUserDirectories(PopulationDataSourceConsumer.java:92) at org.ametys.plugins.core.impl.user.population.PopulationDataSourceConsumer.isInUse(PopulationDataSourceConsumer.java:71) at org.ametys.core.datasource.DataSourceConsumerExtensionPoint.isInUse(DataSourceConsumerExtensionPoint.java:45) at org.ametys.core.datasource.AbstractDataSourceManager.initialize(AbstractDataSourceManager.java:108) at org.ametys.core.datasource.SQLDataSourceManager.initialize(SQLDataSourceManager.java:146) at org.apache.avalon.framework.container.ContainerUtil.initialize(ContainerUtil.java:245) at org.ametys.runtime.plugin.component.ThreadSafeComponentManager$ComponentFactory.configureAndStart(ThreadSafeComponentManager.java:367) at org.ametys.runtime.plugin.component.PluginsComponentManager$ProxyComponentFactory.newInstance(PluginsComponentManager.java:156) at org.ametys.runtime.plugin.component.PluginsComponentManager$ProxyComponentFactory.newInstance(PluginsComponentManager.java:121) at org.ametys.runtime.plugin.component.ThreadSafeComponentManager.lookup(ThreadSafeComponentManager.java:138) at org.ametys.runtime.plugin.component.PluginsComponentManager.lookup(PluginsComponentManager.java:74) at org.apache.avalon.framework.service.WrapperServiceManager.lookup(WrapperServiceManager.java:69) at org.ametys.runtime.plugins.admin.datasource.InvalidDataSourceNotificator.service(InvalidDataSourceNotificator.java:48) at org.apache.avalon.framework.container.ContainerUtil.service(ContainerUtil.java:144) at org.ametys.runtime.plugin.component.ThreadSafeComponentManager$ComponentFactory.configureAndStart(ThreadSafeComponentManager.java:357) at org.ametys.runtime.plugin.component.ThreadSafeComponentManager$ComponentFactory.newInstance(ThreadSafeComponentManager.java:378) at org.ametys.runtime.plugin.component.ThreadSafeComponentManager.initialize(ThreadSafeComponentManager.java:206) at org.ametys.runtime.plugin.component.AbstractThreadSafeComponentExtensionPoint.initializeExtensions(AbstractThreadSafeComponentExtensionPoint.java:96) at org.ametys.runtime.plugin.component.PluginsComponentManager$ExtensionPointFactory.newInstance(PluginsComponentManager.java:219) at org.ametys.runtime.plugin.component.PluginsComponentManager$ExtensionPointFactory.newInstance(PluginsComponentManager.java:186) at org.ametys.runtime.plugin.component.ThreadSafeComponentManager.initialize(ThreadSafeComponentManager.java:206) at org.ametys.runtime.plugin.PluginsManager.init(PluginsManager.java:420) at org.ametys.runtime.cocoon.TreeProcessor.compose(TreeProcessor.java:49) at org.apache.avalon.framework.container.ContainerUtil.compose(ContainerUtil.java:174) at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:266) at org.apache.avalon.excalibur.component.ThreadSafeComponentHandler.initialize(ThreadSafeComponentHandler.java:108) at org.apache.avalon.excalibur.component.ExcaliburComponentManager.initialize(ExcaliburComponentManager.java:524) at org.apache.cocoon.components.CocoonComponentManager.initialize(CocoonComponentManager.java:583) at org.apache.avalon.framework.container.ContainerUtil.initialize(ContainerUtil.java:245) at org.apache.cocoon.Cocoon.initialize(Cocoon.java:345) at org.apache.avalon.framework.container.ContainerUtil.initialize(ContainerUtil.java:245) at org.ametys.runtime.servlet.RuntimeServlet._createCocoon(RuntimeServlet.java:350) at org.ametys.runtime.servlet.RuntimeServlet._initAmetys(RuntimeServlet.java:284) at org.ametys.runtime.servlet.RuntimeServlet.restartCocoon(RuntimeServlet.java:620) at org.ametys.runtime.servlet.RuntimeServlet.service(RuntimeServlet.java:583) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1504) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1460) 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)
Cicular dependencies =>
UserPopulationDAO -> LDAPUserDirectory -> LDAPDataSourceManager -> DataSourceConsumerEP -> GroupDirectoriesDataSourceConsumer -> GroupDirectoryDAO - LDAPGroupDirectory -> UserPopulationDAO
What's more, in UserPopulationDAO, _lastUpdate could be a static field ?
And in #_readPopulations, the line "_lastUpdate = new Date().getTime();" -could be at the end of the configuration ?