Confluence page throws error java.lang.RuntimeException: Error rendering template for decorator root
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.
Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles for non-Data Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
Confluence throws an error Error : java.lang.RuntimeException: Error rendering template for decorator root while trying to display a page
Environment
7.9.0
Diagnosis
1) In logs we can see the following errors
com.atlassian.confluence.setup.velocity.ApplyDecoratorDirective.render(ApplyDecoratorDirective.java:162)
Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'getPageLevelComments' in class com.atlassian.confluence.pages.Page threw exception org.hibernate.HibernateException: Unable to resolve owner of loading collection [[com.atlassian.confluence.core.ContentEntityObject.contentProperties#394110826]] for second level caching at /decorators/components/comments.vmd[line 182, column 38]
Caused by: org.hibernate.HibernateException: Unable to resolve owner of loading collection
2) Additionally we also see the following errors related to Talk Macro
21-02-16 14:08:54,637 ERROR [http-nio-8080-exec-27] [confluence.talk.transformer.TalkViewTransformer] transform Unable to process XHTML for Talk
-- url: /confluence/displa | page: 348956170 | traceId: a2adda6b321239e0 | userName: croitoa | referer: https:///confluence/pages/viewpage.action?pageId=290494267 | action: viewpage
java.lang.IllegalArgumentException: Could not check permissions for page: 2019-12-17 Vertretung für Frau Schreiber 18+19.12. v.1 (348956341) no suitable delegate found.
at com.stiltsoft.confluence.talk.manager.TalkPermissionManager.hasPermission(TalkPermissionManager.java:130)
at com.stiltsoft.confluence.talk.manager.TalkPermissionManager.hasPageEditPermission(TalkPermissionManager.java:108)
at
3) Copying the page also resolved the issue
Cause
The error related to talk macro is a bit of a red-herring. The interesting part is disabling and enabling the talk macro to display the page correctly for some time but the error returns again.
On more analysis, it was found that the page had a comment that had missing uuid in the contentproperties table.
select * from contentproperties where contentid in (select contentid from content where pageid in (select contentid from content where title='<title of page>'));
PROPERTYID PROPERTYNAME STRINGVAL LONGVAL DATEVAL CONTENTID
---------- ------------------------------------------ ---------------------------------------------------------------------- ---------- --------- ----------
397250696 comment-uuid 21XXX-e49f-XXX-XXX-XXXX0f8541 394110826
397250697 macroNames 394110826
397310168 macroNames
Solution
1) Delete the comment that has missing UUID in contentproperties table
2) Copy the page