Translation project auto-promotion fails due to invalid AEM page content structure

In AEM, translation projects remain stuck in Translation in progress status after upgrading the Smartling AEM connector, even though Smartling marks the projects as completed. This issue occurs when affected pages contain missing or invalid jcr:content nodes directly under cq:Page nodes. These jcr:content nodes must be of type cq:PageContent and define the actual page content, along with all descendant nodes under jcr:content. When this structure is missing or invalid, automatic promotion of launches after translation fails. To fix this, verify and correct the content structure of the affected pages and re-initiate the translation workflow.

Description description

Environment

  • Product: Adobe Experience Manager (AEM) On-Premise
  • Version: 6.5.23
  • Connector: Smartling AEM Connector 5.8.63

Issue/Symptoms

  • Translation projects do not update their status to Completed in AEM after Smartling returns translated content.
  • Manual promotion of launches succeeds, but automatic promotion fails for specific pages.
  • Error logs display a NullPointerException during the promotion process when AEM accesses jcr:content node properties.``

Example error log:

12.12.2025 10:04:33.788 *ERROR* [ ...]  com.adobe.cq.wcm.translation.impl.servlet.TranslationJobServlet Error while taking action
    at com.adobe.aem.wcm.hierarchicalobject.impl.adapter.HierarchicalObjectImpl.getProperties(HierarchicalObjectImpl.java:116) [ com.adobe.aem.com.adobe.aem.wcm.hierarchical-object:0.9.2]
    at com.adobe.aem.wcm.hierarchicalobject.impl.adapter.HierarchicalObjectImpl.getLastModified(HierarchicalObjectImpl.java:106) [ com.adobe.aem.com.adobe.aem.wcm.hierarchical-object:0.9.2]
    at com.adobe.cq.wcm.launches.impl.LaunchManagerImpl.buildResourceStatus(LaunchManagerImpl.java:1659) [ com.adobe.cq.wcm.cq-wcm-launches-core:5.13.57.CQ650-B0004]
    at com.adobe.cq.wcm.launches.impl.LaunchManagerImpl.access$700(LaunchManagerImpl.java:99) [ com.adobe.cq.wcm.cq-wcm-launches-core:5.13.57.CQ650-B0004]
    at com.adobe.cq.wcm.launches.impl.LaunchManagerImpl$LaunchResourceStatusIterator.seek(LaunchManagerImpl.java:1536) [ com.adobe.cq.wcm.cq-wcm-launches-core:5.13.57.CQ650-B0004]
    at com.adobe.cq.wcm.launches.impl.LaunchManagerImpl$LaunchResourceStatusIterator.next(LaunchManagerImpl.java:1574) [ com.adobe.cq.wcm.cq-wcm-launches-core:5.13.57.CQ650-B0004]
    at com.adobe.cq.wcm.launches.impl.LaunchManagerImpl.promoteLaunchForEachPath(LaunchManagerImpl.java:431) [ com.adobe.cq.wcm.cq-wcm-launches-core:5.13.57.CQ650-B0004]

Promotion fails when a cq:Page node is missing its direct child jcr:content node, or when that node is not of type cq:PageContent.

Resolution resolution

To restore automatic translation project promotion, follow these steps:

  1. Confirm that the issue is content-related by testing with the WKND content package. If the issue does not occur with WKND, the problem exists in your site content.

  2. Enable DEBUG logging for the following classes:

    • com.adobe.cq.wcm.translation
    • com.adobe.granite.translation
    • com.adobe.cq.wcm.launches
  3. Review the logs for ERROR or NullPointerException entries similar to the error shown above.

  4. Check the DEBUG log line just above the NPE, which shows the affected resource path, for example:

    code language-none
    12.12.202512.12.2025 10:04:33.778 *DEBUG* [ ...]  com.adobe.cq.wcm.launches.impl.LaunchManagerImpl Building status for resource:/content/eurail/ja/test-page
    
  5. For each affected page path (for example, /content/eurail/ja/test-page) where translation project promotion fails:

    • Verify that the page node has a valid jcr:content child node.
    • If jcr:content is missing, add or restore it according to your site’s template requirements.
    • Check for inconsistencies or corruption in existing jcr:content properties and correct them if needed.
  6. Re-initiate the translation project or manually trigger launch promotion after correcting the content structure.

  7. Confirm that translation projects now move to Completed status automatically after Smartling returns the translated content.

recommendation-more-help
experience-cloud-kcs-help-kbarticles