Expand my Community achievements bar.

Mark Solution

This conversation has been locked.

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

Avatar

Level 2

10/22/18

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