Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-27572

Invalid XML characters in indexed Word documents cause Confluence to serve up invalid XML to JIRA

      NOTE: This bug report is for Confluence Server. Using Confluence Cloud? See the corresponding bug report.

      I've seen two cases recently where customers have reported that searching Confluence from within JIRA gave them a "The JIRA server was contacted but has returned an error response" message instead of search results. Combing through JIRA's logs, it's reporting the following:

      /rest/confluenceIssueLink/1/confluence/search [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service
      java.lang.RuntimeException: Failed to parse Confluence Remote API response
      Caused by: org.xml.sax.SAXParseException: Character reference "&#7" is an invalid XML character.
      

      I was able to narrow it down to a Word document somewhere that Confluence had indexed, and it was being returned to JIRA from the search results.

      Workaround

      1. Navigate to the Manage add-ons page
      2. Choose to display All add-ons
      3. Look for Office Connector Plugin, and then disable the Word Content Extractor module
      4. Reindexing Confluence

      This workaround would stop the functionality to index the Word document. Once your instance is upgraded to the Fixed Version (5.5.1), ensure that this module has been re-enabled.

            [CONFSERVER-27572] Invalid XML characters in indexed Word documents cause Confluence to serve up invalid XML to JIRA

            The fix for this made it into master, and it broke the A1 license build. I reverted the commit on master. Please check the fix against a branch build and re-apply to master once it works.

            https://stash.atlassian.com/projects/CONF/repos/confluence/commits/495ea4e0a9916e39ae3cce79afb3245d7702d33f

            Kenny MacLeod added a comment - The fix for this made it into master, and it broke the A1 license build. I reverted the commit on master. Please check the fix against a branch build and re-apply to master once it works. https://stash.atlassian.com/projects/CONF/repos/confluence/commits/495ea4e0a9916e39ae3cce79afb3245d7702d33f

            Confluence 5.4 <> JIRA 6.2.1
            Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 3835; Character reference "&#19" is an invalid XML character.

            Torsten Weck added a comment - Confluence 5.4 <> JIRA 6.2.1 Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 3835; Character reference "&#19" is an invalid XML character.

            Same situation here

            Jeffery Eberwein added a comment - Same situation here

            Similar situation here, searching a Confluence 5.4 page from JIRA 5.2.10. Some results succeed, others show same problem (with &#19 as problematic character and no exact lineNumber/columnNumber hint).

            Michael Roßmann added a comment - Similar situation here, searching a Confluence 5.4 page from JIRA 5.2.10. Some results succeed, others show same problem (with &#19 as problematic character and no exact lineNumber/columnNumber hint).

            I have this too, when searching for a Confluence (5.4.3) page from JIRA (6.2)

            Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 12337; Character reference "&#7" is an invalid XML character.
            	at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
            	at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
            	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
            	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
            	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
            	at org.apache.xerces.impl.XMLScanner.scanCharReferenceValue(Unknown Source)
            	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanCharReference(Unknown Source)
            	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
            	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
            	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
            	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
            	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
            	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
            	at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
            	at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
            	at javax.xml.parsers.SAXParser.parse(Unknown Source)
            	at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl.parseXml(ConfluenceRpcServiceImpl.java:315)
            

            Zuber Khursiwala added a comment - I have this too, when searching for a Confluence (5.4.3) page from JIRA (6.2) Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 12337; Character reference "&#7" is an invalid XML character. at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLScanner.scanCharReferenceValue(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanCharReference(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(Unknown Source) at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl.parseXml(ConfluenceRpcServiceImpl.java:315)

            Would be possible to reopen this bug? Unfortunately this same problem happens after upgrading to Confluence 5.2.5, and I reproduced this bug locally running Confluence 5.2.5.
            And the Jira log is still complaining about this exception:

            2013-10-14 06:07:12,515 http-bio-8080-exec-157 ERROR admin 367x576277x1 3x4lv7 76.99.242.102,192.168.100.96 /rest/confluenceIssueLink/1/confluence/search [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service
            java.lang.RuntimeException: Failed to parse Confluence Remote API response
            	at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl.parseXml(ConfluenceRpcServiceImpl.java:325)
            	at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl.handleResponse(ConfluenceRpcServiceImpl.java:295)
            	at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl.access$300(ConfluenceRpcServiceImpl.java:43)
            	at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl$SearchResponseHandler.handle(ConfluenceRpcServiceImpl.java:260)
            	at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl$SearchResponseHandler.handle(ConfluenceRpcServiceImpl.java:241)
            	at com.atlassian.applinks.core.auth.trusted.TrustedApplinksResponseHandler.handleNormally(TrustedApplinksResponseHandler.java:46)
            	at com.atlassian.applinks.core.auth.trusted.TrustedApplinksResponseHandler.handle(TrustedApplinksResponseHandler.java:34)
            	at com.atlassian.applinks.core.auth.ApplicationLinkRequestAdaptor$1.handle(ApplicationLinkRequestAdaptor.java:87)
            	at com.atlassian.plugins.rest.module.jersey.JerseyRequest$2.handle(JerseyRequest.java:166)
            	at com.atlassian.sal.core.net.HttpClientRequest.executeAndReturn(HttpClientRequest.java:336)
            	at com.atlassian.plugins.rest.module.jersey.JerseyRequest.executeAndReturn(JerseyRequest.java:161)
            	at com.atlassian.applinks.core.auth.ApplicationLinkRequestAdaptor.execute(ApplicationLinkRequestAdaptor.java:84)
            	at com.atlassian.applinks.core.auth.trusted.TrustedRequest.execute(TrustedRequest.java:39)
            	at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl.search(ConfluenceRpcServiceImpl.java:162)
            	at com.atlassian.jira.plugin.link.confluence.rest.ConfluenceResource.getSiteSearch(ConfluenceResource.java:115)  <+2>
            	at java.lang.reflect.Method.invoke(Unknown Source)  <+19> (DispatchProviderHelper.java:234) (DispatchProviderHelper.java:100) (DefaultMethodInvocation.java:61) (ExpandInterceptor.java:38) (DefaultMethodInvocation.java:61) (DispatchProviderHelper.java:132) (DispatchProviderHelper.java:230) (ResourceJavaMethodDispatcher.java:75) (HttpMethodRule.java:288) (RightHandPathRule.java:147) (ResourceClassRule.java:108) (RightHandPathRule.java:147) (RootResourceClassesRule.java:84) (WebApplicationImpl.java:1469) (WebApplicationImpl.java:1400) (WebApplicationImpl.java:1349) (WebApplicationImpl.java:1339) (WebComponent.java:416) (ServletContainer.java:537)
            	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:178)  <+1> (ServletContainer.java:795)
            	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:73)  <+16> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) (RestServletUtilsUpdaterFilter.java:26) (RestServletUtilsUpdaterFilter.java:40) (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) (ContextFilter.java:25) (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66)
            	at com.atlassian.mywork.client.filter.ServingRequestsFilter.doFilter(ServingRequestsFilter.java:37)  <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66)
            	at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:60)  <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66)
            	at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:92)  <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66)
            	at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56)  <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66)
            	at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:36)  <+15> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (AccessLogFilter.java:103) (AccessLogFilter.java:87) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (XsrfTokenAdditionRequestFilter.java:54) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:66)
            	at com.atlassian.plugin.remotable.plugin.module.permission.ApiScopingFilter.doFilter(ApiScopingFilter.java:62)  <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66)
            	at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61)  <+22> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (SecurityFilter.java:234) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (TrustedApplicationsFilter.java:98) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (BaseLoginFilter.java:169) (JiraLoginFilter.java:70) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:66) (OAuthFilter.java:55) (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66)
            	at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:40)  <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66)
            	at com.atlassian.bonfire.web.filters.BonfireP3PFilter.doFilter(BonfireP3PFilter.java:57)  <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66)
            	at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61)  <+9> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (AbstractJohnsonFilter.java:71) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210)
            	at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
            	at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
            	at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)  <+9> (UrlRewriteFilter.java:394) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (GzipFilter.java:74) (GzipFilter.java:51) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:66)
            	at com.atlassian.plugin.remotable.plugin.module.oauth.OAuth2LOFilter.doFilter(OAuth2LOFilter.java:70)  <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66)
            	at com.atlassian.plugin.remotable.host.common.service.http.bigpipe.BigPipeRequestIdFilter.doFilter(BigPipeRequestIdFilter.java:33)  <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66)
            	at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61)  <+41> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) (JWDSendRedirectFilter.java:25) (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (ChainedFilterStepRunner.java:84) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (AbstractCachingFilter.java:33) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (AbstractEncodingFilter.java:41) (AbstractHttpFilter.java:31) (PathMatchingEncodingFilter.java:45) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (JiraStartupChecklistFilter.java:74) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (ChainedFilterStepRunner.java:84) (JiraFirstFilter.java:57) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (StandardWrapperValve.java:225) (StandardContextValve.java:123) (AuthenticatorBase.java:472) (StandardHostValve.java:168) (ErrorReportValve.java:98) (StandardEngineValve.java:118) (AccessLogValve.java:927) (CoyoteAdapter.java:407) (AbstractHttp11Processor.java:1001) (AbstractProtocol.java:585) (JIoEndpoint.java:312)
            	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
            	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            	at java.lang.Thread.run(Unknown Source)
            Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 247; Character reference "&#21" is an invalid XML character.
            	at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
            	at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
            	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
            	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
            	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
            	at org.apache.xerces.impl.XMLScanner.scanCharReferenceValue(Unknown Source)
            	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanCharReference(Unknown Source)
            	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
            	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
            	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
            	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
            	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
            	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
            	at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
            	at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
            	at javax.xml.parsers.SAXParser.parse(Unknown Source)
            	at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl.parseXml(ConfluenceRpcServiceImpl.java:315)
            	... 197 more
            

            Bernardo Acevedo [Atlassian] added a comment - - edited Would be possible to reopen this bug? Unfortunately this same problem happens after upgrading to Confluence 5.2.5, and I reproduced this bug locally running Confluence 5.2.5. And the Jira log is still complaining about this exception: 2013-10-14 06:07:12,515 http-bio-8080-exec-157 ERROR admin 367x576277x1 3x4lv7 76.99.242.102,192.168.100.96 / rest /confluenceIssueLink/1/confluence/search [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service java.lang.RuntimeException: Failed to parse Confluence Remote API response at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl.parseXml(ConfluenceRpcServiceImpl.java:325) at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl.handleResponse(ConfluenceRpcServiceImpl.java:295) at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl.access$300(ConfluenceRpcServiceImpl.java:43) at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl$SearchResponseHandler.handle(ConfluenceRpcServiceImpl.java:260) at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl$SearchResponseHandler.handle(ConfluenceRpcServiceImpl.java:241) at com.atlassian.applinks.core.auth.trusted.TrustedApplinksResponseHandler.handleNormally(TrustedApplinksResponseHandler.java:46) at com.atlassian.applinks.core.auth.trusted.TrustedApplinksResponseHandler.handle(TrustedApplinksResponseHandler.java:34) at com.atlassian.applinks.core.auth.ApplicationLinkRequestAdaptor$1.handle(ApplicationLinkRequestAdaptor.java:87) at com.atlassian.plugins. rest .module.jersey.JerseyRequest$2.handle(JerseyRequest.java:166) at com.atlassian.sal.core.net.HttpClientRequest.executeAndReturn(HttpClientRequest.java:336) at com.atlassian.plugins. rest .module.jersey.JerseyRequest.executeAndReturn(JerseyRequest.java:161) at com.atlassian.applinks.core.auth.ApplicationLinkRequestAdaptor.execute(ApplicationLinkRequestAdaptor.java:84) at com.atlassian.applinks.core.auth.trusted.TrustedRequest.execute(TrustedRequest.java:39) at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl.search(ConfluenceRpcServiceImpl.java:162) at com.atlassian.jira.plugin.link.confluence. rest .ConfluenceResource.getSiteSearch(ConfluenceResource.java:115) <+2> at java.lang.reflect.Method.invoke(Unknown Source) <+19> (DispatchProviderHelper.java:234) (DispatchProviderHelper.java:100) (DefaultMethodInvocation.java:61) (ExpandInterceptor.java:38) (DefaultMethodInvocation.java:61) (DispatchProviderHelper.java:132) (DispatchProviderHelper.java:230) (ResourceJavaMethodDispatcher.java:75) (HttpMethodRule.java:288) (RightHandPathRule.java:147) (ResourceClassRule.java:108) (RightHandPathRule.java:147) (RootResourceClassesRule.java:84) (WebApplicationImpl.java:1469) (WebApplicationImpl.java:1400) (WebApplicationImpl.java:1349) (WebApplicationImpl.java:1339) (WebComponent.java:416) (ServletContainer.java:537) at com.atlassian.plugins. rest .module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:178) <+1> (ServletContainer.java:795) at com.atlassian.plugins. rest .module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:73) <+16> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) (RestServletUtilsUpdaterFilter.java:26) (RestServletUtilsUpdaterFilter.java:40) (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) (ContextFilter.java:25) (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) at com.atlassian.mywork.client.filter.ServingRequestsFilter.doFilter(ServingRequestsFilter.java:37) <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:60) <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:92) <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56) <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:36) <+15> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (AccessLogFilter.java:103) (AccessLogFilter.java:87) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (XsrfTokenAdditionRequestFilter.java:54) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:66) at com.atlassian.plugin.remotable.plugin.module.permission.ApiScopingFilter.doFilter(ApiScopingFilter.java:62) <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+22> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (SecurityFilter.java:234) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (TrustedApplicationsFilter.java:98) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (BaseLoginFilter.java:169) (JiraLoginFilter.java:70) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:66) (OAuthFilter.java:55) (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) at com.atlassian.plugins. rest .module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:40) <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) at com.atlassian.bonfire.web.filters.BonfireP3PFilter.doFilter(BonfireP3PFilter.java:57) <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+9> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (AbstractJohnsonFilter.java:71) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) <+9> (UrlRewriteFilter.java:394) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (GzipFilter.java:74) (GzipFilter.java:51) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:66) at com.atlassian.plugin.remotable.plugin.module.oauth.OAuth2LOFilter.doFilter(OAuth2LOFilter.java:70) <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) at com.atlassian.plugin.remotable.host.common.service.http.bigpipe.BigPipeRequestIdFilter.doFilter(BigPipeRequestIdFilter.java:33) <+3> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+41> (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:66) (JWDSendRedirectFilter.java:25) (DelegatingPluginFilter.java:74) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (ChainedFilterStepRunner.java:84) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (AbstractCachingFilter.java:33) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (AbstractEncodingFilter.java:41) (AbstractHttpFilter.java:31) (PathMatchingEncodingFilter.java:45) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (JiraStartupChecklistFilter.java:74) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (ChainedFilterStepRunner.java:84) (JiraFirstFilter.java:57) (ApplicationFilterChain.java:243) (ApplicationFilterChain.java:210) (StandardWrapperValve.java:225) (StandardContextValve.java:123) (AuthenticatorBase.java:472) (StandardHostValve.java:168) (ErrorReportValve.java:98) (StandardEngineValve.java:118) (AccessLogValve.java:927) (CoyoteAdapter.java:407) (AbstractHttp11Processor.java:1001) (AbstractProtocol.java:585) (JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang. Thread .run(Unknown Source) Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 247; Character reference "&#21" is an invalid XML character. at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLScanner.scanCharReferenceValue(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanCharReference(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(Unknown Source) at com.atlassian.jira.plugin.link.confluence.service.rpc.ConfluenceRpcServiceImpl.parseXml(ConfluenceRpcServiceImpl.java:315) ... 197 more

            Noting that I have experienced this issue on Confluence 5.3 as well. The stack trace was the same, containing the 'Character reference "&#7" is an invalid XML character'.

            The workaround of disabling the indexing for Office documents and reindexing fixed the issue as advised.

            Daniel Bergamin added a comment - Noting that I have experienced this issue on Confluence 5.3 as well. The stack trace was the same, containing the 'Character reference "&#7" is an invalid XML character'. The workaround of disabling the indexing for Office documents and reindexing fixed the issue as advised.

            Timothy added a comment -

            Hi jxie,

            Please advice on how to find out what file is causing the problem. We can at least remove this problematic file from Confluence. I've wasted more than 8 hours upgrading from 5.1.4 to 5.2.5 expecting this to work.

            Cheers,
            Timothy

            Timothy added a comment - Hi jxie , Please advice on how to find out what file is causing the problem. We can at least remove this problematic file from Confluence. I've wasted more than 8 hours upgrading from 5.1.4 to 5.2.5 expecting this to work. Cheers, Timothy

            I'm using Confluence 5.3 and still have the problem as well:

            2013-10-09 13:27:45,551 http-bio-8443-exec-14 ERROR Matt_Shelton 807x106861x1 14im8z 10.56.24.100 /rest/confluenceIssueLink/1/confluence/search [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service
            java.lang.RuntimeException: Failed to parse Confluence Remote API response
            ...
            Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 5495; Character reference "&#7" is an invalid XML character.
            

            Full stack trace here: http://snipt.org/AiJh7

            Matt Shelton added a comment - I'm using Confluence 5.3 and still have the problem as well: 2013-10-09 13:27:45,551 http-bio-8443-exec-14 ERROR Matt_Shelton 807x106861x1 14im8z 10.56.24.100 / rest /confluenceIssueLink/1/confluence/search [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service java.lang.RuntimeException: Failed to parse Confluence Remote API response ... Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 5495; Character reference "&#7" is an invalid XML character. Full stack trace here: http://snipt.org/AiJh7

            Birol added a comment -

            We're using Confluence 5.2.3 and still have the problem. I've also rebuilt the index. The exception in the JIRA log:

            2013-08-28 08:01:34,302 http-bio-8080-exec-3 ERROR xxxxx 481x35604x1 167iprg 80.90.100.155 /rest/confluenceIssueLink/1/confluence/search [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service
            java.lang.RuntimeException: Failed to parse Confluence Remote API response
            ...
            Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 293; Character reference "&#19" is an invalid XML character.
            

            Birol added a comment - We're using Confluence 5.2.3 and still have the problem. I've also rebuilt the index. The exception in the JIRA log: 2013-08-28 08:01:34,302 http-bio-8080-exec-3 ERROR xxxxx 481x35604x1 167iprg 80.90.100.155 / rest /confluenceIssueLink/1/confluence/search [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service java.lang.RuntimeException: Failed to parse Confluence Remote API response ... Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 293; Character reference "&#19" is an invalid XML character.

              gvotruong Giang Vo
              nmason Nick Mason
              Affected customers:
              22 This affects my team
              Watchers:
              43 Start watching this issue

                Created:
                Updated:
                Resolved: