Solutions
ForgeRock Identity Platform
Does not apply to Identity Cloud

DS (All versions) fail to start after upgrade if you use the Password Sync Plugin for IDM

Last updated Jun 15, 2021

The purpose of this article is to provide assistance if DS fails to start after upgrading to a later version. This issue occurs when you use the Password Sync Plugin for IDM. You will see one of the following exceptions: "java.lang.ClassNotFoundException: org.forgerock.opendj.config.DNPropertyDefinition" or "org.forgerock.openidm.agent.accountchange.OpenidmAccountStatusNotificationHandler".


Symptoms

One of the following errors are shown when the server fails to start: 

  • Exception in thread "main" java.lang.NoClassDefFoundError: org.forgerock.opendj.config.DNPropertyDefinition Exception in thread "main" java.lang.NoClassDefFoundError: org/forgerock/opendj/config/DNPropertyDefinition at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at org.forgerock.opendj.config.ConfigurationFramework.loadDefinitionClasses(ConfigurationFramework.java:640) at org.forgerock.opendj.config.ConfigurationFramework.initializeExtension(ConfigurationFramework.java:583) at org.forgerock.opendj.config.ConfigurationFramework.addExtension(ConfigurationFramework.java:471) at org.forgerock.opendj.config.ConfigurationFramework.initializeAllExtensions(ConfigurationFramework.java:524) at org.forgerock.opendj.config.ConfigurationFramework.initialize0(ConfigurationFramework.java:492) at org.forgerock.opendj.config.ConfigurationFramework.initialize(ConfigurationFramework.java:404) at org.forgerock.opendj.config.ConfigurationFramework.initialize(ConfigurationFramework.java:372) at org.opends.server.config.ConfigurationHandler.bootstrapConfiguration(ConfigurationHandler.java:183) at org.opends.server.core.DirectoryServer.initializeConfiguration(DirectoryServer.java:1144) at org.opends.server.core.DirectoryServer.main(DirectoryServer.java:4066) Caused by: java.lang.ClassNotFoundException: org.forgerock.opendj.config.DNPropertyDefinition at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 12 more [] category=CORE severity=NOTICE msgID=139 msg=The Directory Server has sent an alert notification generated by class org.opends.server.core.DirectoryServer (alert type org.opends.server.DirectoryServerShutdown, alert ID org.opends.messages.core-141): The Directory Server has started the shutdown process. The shutdown was initiated by an instance of class org.opends.server.core.DirectoryServerShutdownHook and the reason provided for the shutdown was The Directory Server shutdown hook detected that the JVM is shutting down. This generally indicates that JVM received an external request to stop (e.g., through a kill signal) [] category=CORE severity=NOTICE msgID=203 msg=The Directory Server is now stopped
  • "org.forgerock.openidm.agent.accountchange.OpenidmAccountStatusNotificationHandler" is not a valid value for the "java-class" property, which must have the following syntax: CLASS <= org.opends.server.api.AccountStatusNotificationHandler: category=CORE severity=NOTICE msgID=139 msg=The Directory Server has sent an alert notification generated by class org.opends.server.core.DirectoryServer (alert type org.opends.server.DirectoryServerShutdown, alert ID org.opends.messages.core-141): The Directory Server has started the shutdown process. The shutdown was initiated by an instance of class org.opends.server.core.DirectoryServer and the reason provided for the shutdown was An error occurred while trying to start the Directory Server: ConfigException: An error occurred while trying to decode the managed object configuration entry cn=config: The following constraint violation occurred: A configuration exception occurred while evaluating a constraint: An error occurred while trying to decode the managed object configuration entry cn=Default Password Policy,cn=Password Policies,cn=config: The following constraint violation occurred: A configuration exception occurred while evaluating a constraint: An error occurred while trying to decode the managed object configuration entry cn=OpenIDM Notification Handler,cn=Account Status Notification Handlers,cn=config: The Account Status Notification Handler could not be decoded due to the following reason: The value "org.forgerock.openidm.agent.accountchange.OpenidmAccountStatusNotificationHandler" is not a valid value for the "java-class" property, which must have the following syntax: CLASS <= org.opends.server.api.AccountStatusNotificationHandler (ConfigExceptionFactory.java:85 ServerManagementContext.java:356 ServerManagedObject.java:483 RootCfgDefn.java:1952 CoreConfigManager.java:156 DirectoryServer.java:1247 DirectoryServer.java:4210)
  • "org.forgerock.openidm.agent.accountchange.OpenidmAccountStatusNotificationHandler" is not a valid value for the "java-class" property, which must have the following syntax: CLASS <= org.opends.server.api.AccountStatusNotificationHandler: category=CORE severity=NOTICE msgID=139 msg=The Directory Server has sent an alert notification generated by class org.opends.server.core.DirectoryServer (alert type org.opends.server.DirectoryServerShutdown, alert ID org.opends.messages.core-141): The Directory Server has started the shutdown process. The shutdown was initiated by an instance of class org.opends.server.core.DirectoryServer and the reason provided for the shutdown was An error occurred while trying to start the Directory Server: InitializationException: An error occurred while trying to initialize an instance of class org.forgerock.openidm.agent.accountchange.OpenidmAccountStatusNotificationHandler as an account status notification handler as defined in configuration entry cn=OpenIDM Notification Handler,cn=Account Status Notification Handlers,cn=config: PropertyException: The value "org.forgerock.openidm.agent.accountchange.OpenidmAccountStatusNotificationHandler" is not a valid value for the "java-class" property, which must have the following syntax: CLASS <= org.opends.server.api.AccountStatusNotificationHandler (PropertyException.java:78 ClassPropertyDefinition.java:226 ClassPropertyDefinition.java:211 ClassPropertyDefinition.java:172 AccountStatusNotificationHandlerConfigManager.java:347 AccountStatusNotificationHandlerConfigManager.java:309 AccountStatusNotificationHandlerConfigManager.java:110 DirectoryServer.java:2074 DirectoryServer.java:1561 DirectoryServer.java:6265) (AccountStatusNotificationHandlerConfigManager.java:375 AccountStatusNotificationHandlerConfigManager.java:309 AccountStatusNotificationHandlerConfigManager.java:110 DirectoryServer.java:2074 DirectoryServer.java:1561 DirectoryServer.java:6265)

Recent Changes

Upgraded to a later version of DS.

Causes

The Password Synchronization Plugin used with the previous version of DS is not compatible with later versions. You must upgrade the Password Sync Plugin after upgrading DS.

Solution

This issue can be resolved by rolling back the upgrade and then upgrading DS as detailed in How do I upgrade DS (All versions) if I have the DS Password Sync Plugin for IDM installed?

See Also

How do I troubleshoot the DS Password Synchronization plugin in IDM (All versions)?

Passwords in DS

Password Synchronization Plugin Guide

Before You Install

Related Training

N/A

Related Issue Tracker IDs

N/A



Copyright and TrademarksCopyright © 2021 ForgeRock, all rights reserved.
Loading...