Serialization failure during Forms startup in AEM Forms
After you upgrade to AEM Forms, the server startup fails with a serialization failure. This happens because the deserialization firewall configuration is missing required class whitelisting or contains conflicting serialFilter settings. To fix this, update the deserialization firewall configuration and remove any conflicting serialFilter parameters from the server startup configuration.
Description description
Environment
Adobe Experience Manager - Forms (AEM - Forms)
Issue/Symptoms
An error similar to this one occurs during server startup and prevents the server from starting properly:
[ com.adobe.idp.scheduler.SchedulerServiceImpl] (ServerService Thread Pool -- 259) Error starting scheduler: org.quartz.SchedulerConfigException: Failure occured during job recovery. [ See nested exception: org.quartz.JobPersistenceException: Couldn't store trigger: filter status: REJECTED [ See nested exception: java.io.InvalidClassException: filter status: REJECTED] ]
Resolution resolution
-
Go to the system console at
http://hostname:port/lc/system/console/configMgr. -
Find the configuration for
com.adobe.cq.deserfw.impl.DeserializationFirewallImpl. -
In this configuration, make sure
com.adobe.cq.deserfw.impl.DeserializationFirewallImpl.firewall.deserialization.whitelist.nameincludes these classes:org.quartzsun.util.calendar.ZoneInfosun.security.x509.X509CertImplcom.rsa.certj.cert.X509CRL$X509CrlReporg.apache.xmlbeans.impl.values.XmlObjectBase$SerializedRootObjectorg.apache.xerces.domsun.security.rsa.RSAPrivateCrtKeyImplsun.security.rsa.RSAPublicKeyImplorg.jaxen.dom.DocumentNavigatororg.quartz.JobDataMaporg.quartz.utils.StringKeyDirtyFlagMapdoubleorg.quartz.utils.DirtyFlagMapcom.sun.proxy.$Proxy356com.rsa.certj.cert.X509CRLcom.sun.proxy.$Proxy383org.apache.xml.xml_soap.Map
-
Save your changes.
-
Restart your application server.
If these whitelist entries are present in the deserialization firewall configuration, you don’t need to add serialFilter parameters for normal operation on Java 11 or later. If you skip these settings, Quartz job persistence errors or rejected serialization attempts can occur during server startup.