-
Bug
-
Resolution: Duplicate
-
High
-
None
-
6.3.1, 6.11.2, 6.13.0, 6.13.8, 6.15.9, 7.3.4, 7.4.1, 7.19.5
-
None
-
31
-
Severity 3 - Minor
-
105
-
Problem
Email Notification when a user is mentioned can break when the page body contains some special characters
Steps to reproduce
- Setup Confluence with SMTP Mail Server
- Create a Page using the Storage Format below:
table storage format.txt - Mention a user in the Comments column
Expected Result
Email notification received by the mentioned user should include the page body content normally
Actual Result
Error message below is in the email notification
Error: [com.ctc.wstx.exc.WstxLazyException] Unexpected character '<' (code 60) excepted space, or '>' or "/>" at [row,col {unknown-source}]: [1,327]
Also, when the affected page is updated, there could be an entry in atlassian-confluence.log similar to the below excerpt:
2020-05-04 17:08:30,488 ERROR [http-nio2-8090-exec-67] [content.render.xhtml.DefaultRenderer] renderWithoutMetrics Error rendering content for view: The XML content could not be parsed. There is a problem at line 1, column 383. Parser message: Unexpected character '<' (code 60) excepted space, or '>' or "/>" at [row,col {unknown-source}]: [1,383] -- referer: <Confluence Base URL>/pages/resumedraft.action?draftId=579891886&draftShareId=223a2089-01a0-4e95-b56a-042d59d219f5& | url: /rest/api/content/<pageID> | traceId: a0bc99d8a8b0a1e5 | userName: <username> com.atlassian.confluence.content.render.xhtml.XhtmlParsingException: The XML content could not be parsed. There is a problem at line 1, column 383. Parser message: Unexpected character '<' (code 60) excepted space, or '>' or "/>" at [row,col {unknown-source}]: [1,383] at com.atlassian.confluence.content.render.xhtml.StaxUtils.convertToXhtmlException(StaxUtils.java:433) at com.atlassian.confluence.content.render.xhtml.storage.macro.inlinebody.InlineBodyMacroFixingTransformer.transform(InlineBodyMacroFixingTransformer.java:114) at com.atlassian.confluence.content.render.xhtml.TransformerChain.transform(TransformerChain.java:33) at com.atlassian.confluence.content.render.xhtml.TransformerChain.transform(TransformerChain.java:33) at com.atlassian.confluence.content.render.xhtml.PluggableTransformerChain.transform(PluggableTransformerChain.java:39) at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.renderWithoutMetrics(DefaultRenderer.java:189) at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.renderWithResult(DefaultRenderer.java:150) at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.render(DefaultRenderer.java:134) at com.atlassian.confluence.content.render.xhtml.DeviceTypeAwareRenderer.render(DeviceTypeAwareRenderer.java:55) at jdk.internal.reflect.GeneratedMethodAccessor1335.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.base/java.lang.reflect.Method.invoke(Unknown Source) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) (...) at com.sun.proxy.$Proxy150.saveContentEntity(Unknown Source) at com.atlassian.confluence.content.apisupport.ContentCreator.saveNewVersion(ContentCreator.java:507) at com.atlassian.confluence.content.apisupport.ContentCreator.update(ContentCreator.java:554) at com.atlassian.confluence.api.impl.service.content.typebinding.PageContentTypeApiSupport.update(PageContentTypeApiSupport.java:219) at com.atlassian.confluence.api.impl.service.content.typebinding.PageContentTypeApiSupport.update(PageContentTypeApiSupport.java:47) at com.atlassian.confluence.api.impl.service.content.ContentServiceImpl.updateUsingApiSupport(ContentServiceImpl.java:127) at com.atlassian.confluence.api.impl.service.content.ContentServiceImpl.update(ContentServiceImpl.java:165) (...) at com.sun.proxy.$Proxy220.update(Unknown Source) at com.atlassian.confluence.api.impl.service.content.draft.SharedContentDraftServiceImpl.updateContent(SharedContentDraftServiceImpl.java:235) at com.atlassian.confluence.api.impl.service.content.draft.SharedContentDraftServiceImpl.publishEditDraft(SharedContentDraftServiceImpl.java:163) at com.atlassian.confluence.api.impl.service.content.draft.ContentDraftServiceImpl.publishEditDraft(ContentDraftServiceImpl.java:40) at jdk.internal.reflect.GeneratedMethodAccessor2596.invoke(Unknown Source) (...) at com.sun.proxy.$Proxy226.publishEditDraft(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor2596.invoke(Unknown Source) (...) at java.base/java.lang.Thread.run(Unknown Source) Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '<' (code 60) excepted space, or '>' or "/>" at [row,col {unknown-source}]: [1,383] at com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:648) at com.ctc.wstx.sr.BasicStreamReader.handleNsAttrs(BasicStreamReader.java:2965) at com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2936) at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2848) at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019) at com.ctc.wstx.evt.WstxEventReader.peek(WstxEventReader.java:306) at com.ctc.wstx.evt.FilteredEventReader.peek(FilteredEventReader.java:120) at com.ctc.wstx.evt.FilteredEventReader.hasNext(FilteredEventReader.java:70) at com.atlassian.confluence.content.render.xhtml.XmlFragmentBodyEventReader.hasNext(XmlFragmentBodyEventReader.java:33) at com.atlassian.confluence.content.render.xhtml.ResettableXmlEventReader.hasNext(ResettableXmlEventReader.java:48) at com.atlassian.confluence.content.render.xhtml.storage.macro.inlinebody.InlineBodyMacroFixingTransformer.transform(InlineBodyMacroFixingTransformer.java:84) ... 456 more
Suggestion
The email notification should be able to handle this since the Storage Format can be inserted using the Source Editor without complaining of any missing tags.
Workaround
As mentioned by Katharina below, a workaround is to remove the styling parameter from the <tbody> using the Source Editor plugin.
- is a regression of
-
CONFSERVER-40431 WstxLazyException] Unexpected character
-
- Closed
-
- is duplicated by
-
CONFSERVER-82863 Email notification is corrupt for a user mentioned within a table of a page
-
- Closed
-
- was cloned as
-
CONFCLOUD-71949 Email Notification for User Mention broken when specific characters are in the page body
-
- Closed
-
- mentioned in
-
Page Loading...