Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

MSM-Core fails to start in AEM 6.4.2 if cq:master is empty.

Avatar

Level 2

22-10-2018

Hi all,

This is more of a feedback to AEM team.

Just did an upgrade to AEM 6.3 to 6.4 of a production system, all went well in the first upgradestep to 6.4.0. However when installing SP 6.4.2 the system never started properly.

After a massive debug process, it turned out that we had a couple of sites where the cq:master attribute in LiveSyncConfig was empty, this caused the msm-core to fail during startup with the following dump:

------------------

22.10.2018 12:50:19.912 *ERROR* [qtp1785523215-65] com.day.cq.wcm.cq-msm-core bundle com.day.cq.wcm.cq-msm-core:5.11.38 (432)[com.day.cq.wcm.msm.impl.LiveCopyServiceImpl(5773)] : The activate method has thrown an exception (javax.jcr.RepositoryException: Not an absolute path: )

javax.jcr.RepositoryException: Not an absolute path:

        at org.apache.jackrabbit.oak.jcr.session.SessionImpl.getOakPathOrThrow(SessionImpl.java:152) [org.apache.jackrabbit.oak-jcr:1.8.7]

        at org.apache.jackrabbit.oak.jcr.session.SessionImpl.access$100(SessionImpl.java:82) [org.apache.jackrabbit.oak-jcr:1.8.7]

        at org.apache.jackrabbit.oak.jcr.session.SessionImpl$1.performNullable(SessionImpl.java:186) [org.apache.jackrabbit.oak-jcr:1.8.7]

        at org.apache.jackrabbit.oak.jcr.session.SessionImpl$1.performNullable(SessionImpl.java:182) [org.apache.jackrabbit.oak-jcr:1.8.7]

        at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performNullable(SessionDelegate.java:243) [org.apache.jackrabbit.oak-jcr:1.8.7]

        at org.apache.jackrabbit.oak.jcr.session.SessionImpl.getNodeOrNull(SessionImpl.java:182) [org.apache.jackrabbit.oak-jcr:1.8.7]

        at org.apache.jackrabbit.oak.jcr.session.SessionImpl.nodeExists(SessionImpl.java:313) [org.apache.jackrabbit.oak-jcr:1.8.7]

        at com.adobe.granite.repository.impl.CRX3SessionImpl.nodeExists(CRX3SessionImpl.java:188) [com.adobe.granite.repository:1.4.88]

        at com.day.cq.wcm.msm.impl.LiveCopyFinderProvider.buildBloomFilter(LiveCopyFinderProvider.java:331) [com.day.cq.wcm.cq-msm-core:5.11.38]

        at com.day.cq.wcm.msm.impl.LiveCopyServiceImpl.activate(LiveCopyServiceImpl.java:96) [com.day.cq.wcm.cq-msm-core:5.11.38]

        at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:498)

        at org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:228) [org.apache.felix.scr:2.1.0.B008]

        at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41) [org.apache.felix.scr:2.1.0.B008]

        at org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:664) [org.apache.felix.scr:2.1.0.B008]

        at org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:510) [org.apache.felix.scr:2.1.0.B008]

        at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317) [org.apache.felix.scr:2.1.0.B008]

        at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307) [org.apache.felix.scr:2.1.0.B008]

        at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:334) [org.apache.felix.scr:2.1.0.B008]

-----------------

In order to find the fault, you search for the following using crxde:

SELECT * FROM [cq:LiveSyncConfig] AS s WHERE ISDESCENDANTNODE([/content]) AND s.[cq:master] = ''

Change the master refernce to something useful and that does exist!

The code cannot handle the situation where a reference is missing or is pointing to something invalid, and therefor AEM never starts properly.

2 Comments