Sites which contains gliffy or toc fails to export
Hi,
when trying to export a confluence page which contains a gliffy or a toc to word the export fails. I get a docx which contains the following message:
"Error: RuntimeException occurred while performing an XHTML storage transformation (null)"
I can work around the toc exception by deactivating the "Output toc macros" checkbox under "Content Processing".
Confluence version: 6.1.3
Scroll office version: 3.5.0
Here is the stacktrace from the atlassian-confluence.log:
2017-07-11 10:53:21,149 ERROR [scroll-office-export:thread-1] [content.render.xhtml.DefaultRenderer] renderWithoutMetrics Error rendering content for view: RuntimeException occurred while performing an XHTML storage transformation (null)
-- scrollExportCurrentPage: Release Acceptance Document 6.12 | referer: https://confluence.xxx.at/display/xxx/xxx | url: /rest/scroll-office/1.0/export | traceId: c32edbeeef0b9d46 | userName: xxx
com.atlassian.confluence.content.render.xhtml.XhtmlException: RuntimeException occurred while performing an XHTML storage transformation (null)
at com.atlassian.confluence.content.render.xhtml.storage.StorageXhtmlTransformer.transform(StorageXhtmlTransformer.java:53)
at com.atlassian.confluence.content.render.xhtml.DefaultXhtmlContent.updateMacroDefinitions(DefaultXhtmlContent.java:185)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
at com.sun.proxy.$Proxy394.updateMacroDefinitions(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136)
at com.sun.proxy.$Proxy394.updateMacroDefinitions(Unknown Source)
at com.k15t.scroll.confluence.util.ListImplementingHashSet.updateMacroDefinitions(ListImplementingHashSet.java:40)
at com.k15t.scroll.confluence.core.source.SourceTransformer.transform(SourceTransformer.java:93)
at com.k15t.scroll.confluence.core.source.AbstractStringTransformer.transform(AbstractStringTransformer.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:194)
at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.renderWithResult(DefaultRenderer.java:153)
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 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
at com.sun.proxy.$Proxy251.render(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136)
at com.sun.proxy.$Proxy251.render(Unknown Source)
at com.k15t.scroll.confluence.core.source.Confluence4SourceRenderer.render(Confluence4SourceRenderer.java:76)
at com.k15t.scroll.confluence.core.source.Confluence4SourceRenderer.renderImpl(Confluence4SourceRenderer.java:39)
at com.k15t.scroll.confluence.core.source.AbstractSourceRenderer.render(AbstractSourceRenderer.java:50)
at com.k15t.scroll.confluence.core.source.DelegatingSourceRenderer.renderSource(DelegatingSourceRenderer.java:39)
at com.k15t.scroll.confluence.model.export.ExportLogic$5.doInTransaction(ExportLogic.java:331)
at com.k15t.scroll.confluence.model.export.ExportLogic$5.doInTransaction(ExportLogic.java:317)
at com.atlassian.sal.core.transaction.HostContextTransactionTemplate$1.doInTransaction(HostContextTransactionTemplate.java:21)
at com.atlassian.sal.spring.component.SpringHostContextAccessor$1.doInTransaction(SpringHostContextAccessor.java:71)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)
at com.atlassian.sal.spring.component.SpringHostContextAccessor.doInTransaction(SpringHostContextAccessor.java:68)
at com.atlassian.confluence.spring.transaction.interceptor.ConfluenceSpringHostContextAccessor.access$001(ConfluenceSpringHostContextAccessor.java:21)
at com.atlassian.confluence.spring.transaction.interceptor.ConfluenceSpringHostContextAccessor.lambda$doInTransaction$3(ConfluenceSpringHostContextAccessor.java:72)
at com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContextInternal(VCacheRequestContextManager.java:87)
at com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContext(VCacheRequestContextManager.java:71)
at com.atlassian.confluence.spring.transaction.interceptor.ConfluenceSpringHostContextAccessor.doInTransaction(ConfluenceSpringHostContextAccessor.java:72)
at sun.reflect.GeneratedMethodAccessor239.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
at com.sun.proxy.$Proxy292.doInTransaction(Unknown Source)
at sun.reflect.GeneratedMethodAccessor239.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136)
at com.sun.proxy.$Proxy292.doInTransaction(Unknown Source)
at com.atlassian.sal.core.transaction.HostContextTransactionTemplate.execute(HostContextTransactionTemplate.java:18)
at sun.reflect.GeneratedMethodAccessor241.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
at com.sun.proxy.$Proxy2368.execute(Unknown Source)
at com.k15t.scroll.confluence.model.export.ExportLogic.exportRecursively(ExportLogic.java:317)
at com.k15t.scroll.confluence.model.export.ExportLogic.exportAllPages(ExportLogic.java:306)
at com.k15t.scroll.confluence.model.export.ExportLogic.performExport(ExportLogic.java:135)
at com.k15t.scroll.confluence.model.export.ExportTask.call(ExportTask.java:158)
at com.k15t.scroll.confluence.model.export.ExportTask.call(ExportTask.java:56)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at com.atlassian.confluence.cache.ehcache.EhCacheManager.wrapCache(EhCacheManager.java:151)
at com.atlassian.confluence.cache.ehcache.EhCacheManager.getCache(EhCacheManager.java:160)
at com.atlassian.confluence.cache.ehcache.EhCacheManager.getCaches(EhCacheManager.java:141)
at sun.reflect.GeneratedMethodAccessor961.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
at com.sun.proxy.$Proxy313.getCaches(Unknown Source)
at sun.reflect.GeneratedMethodAccessor961.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
at com.sun.proxy.$Proxy1936.getCaches(Unknown Source)
at com.atlassian.confluence.plugins.gadgets.metadata.GadgetCacheFlusher.getGadgetsCaches(GadgetCacheFlusher.java:163)
at com.atlassian.confluence.plugins.gadgets.metadata.GadgetCacheFlusher.performSelectiveGadgetsCacheFlush(GadgetCacheFlusher.java:109)
at com.atlassian.confluence.plugins.gadgets.metadata.GadgetCacheFlusher.requestGadgetsCacheFlush(GadgetCacheFlusher.java:95)
at com.atlassian.confluence.plugins.gadgets.metadata.CachingGadgetsMacroMetadataProvider.loadOnMiss(CachingGadgetsMacroMetadataProvider.java:187)
at com.atlassian.confluence.plugins.gadgets.metadata.CachingGadgetsMacroMetadataProvider.lambda$getData$1(CachingGadgetsMacroMetadataProvider.java:141)
at com.atlassian.vcache.internal.core.metrics.TimedSupplier.get(TimedSupplier.java:32)
at com.atlassian.vcache.internal.legacy.LegacyJvmCache.lambda$get$4(LegacyJvmCache.java:52)
at java.util.Optional.orElseGet(Optional.java:267)
at com.atlassian.vcache.internal.legacy.LegacyJvmCache.get(LegacyJvmCache.java:50)
at com.atlassian.vcache.internal.core.metrics.TimedLocalCacheOperations.get(TimedLocalCacheOperations.java:64)
at com.atlassian.confluence.plugins.gadgets.metadata.CachingGadgetsMacroMetadataProvider.getData(CachingGadgetsMacroMetadataProvider.java:141)
at com.atlassian.confluence.plugins.gadgets.metadata.CachingGadgetsMacroMetadataProvider.getByMacroNameAndId(CachingGadgetsMacroMetadataProvider.java:173)
at com.atlassian.confluence.macro.browser.DefaultMacroMetadataManager.getMacroMetadataByNameAndId(DefaultMacroMetadataManager.java:95)
at com.atlassian.confluence.macro.browser.DefaultMacroMetadataManager.getMacroMetadataByName(DefaultMacroMetadataManager.java:89)
at com.atlassian.confluence.content.render.xhtml.storage.macro.DelegatingStorageMacroMarshaller.marshal(DelegatingStorageMacroMarshaller.java:93)
at com.atlassian.confluence.content.render.xhtml.storage.macro.DelegatingStorageMacroMarshaller.marshal(DelegatingStorageMacroMarshaller.java:27)
at com.atlassian.confluence.xhtml.api.MacroDefinitionMarshallingStrategy$2.marshal(MacroDefinitionMarshallingStrategy.java:32)
at com.atlassian.confluence.content.render.xhtml.storage.DefaultContentTransformerFactory.lambda$getTransformer$0(DefaultContentTransformerFactory.java:94)
at com.atlassian.confluence.content.render.xhtml.UnmarshalMarshalFragmentTransformer.transform(UnmarshalMarshalFragmentTransformer.java:29)
at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transformFragment(DefaultFragmentTransformer.java:141)
at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transform(DefaultFragmentTransformer.java:123)
at com.atlassian.confluence.content.render.xhtml.storage.StorageXhtmlTransformer.transform(StorageXhtmlTransformer.java:41)
... 89 more
I hope you can help.
Thanks in advance,
Kai
-
Official comment
Hi Kai,
In the meantime, Atlassian solved the underlying issue (see https://jira.atlassian.com/browse/CONFSERVER-52551), so Scroll PDF Exporter should work again even with the Gadgets Plugin activated on Confluence 6.3.2 and later.Once you’ve updated to Confluence 6.3.2, please feel free to re-activate the Gadgets Plugin.If you still experience issues, please let us know through support@k15t.com.We’ll be happy to help.Best,NilsComment actions -
Hi Kai,
Thanks for reaching out.
Please try disabling 'Gadgets Plugin' (in the system add-ons section). You can also try disabling just one module of Gadgets Plugin — Gadget Macro Metadata Provider. This should resolve the problem with Runtime Exception being exported instead of the content.
The Gadgets Plugin is an add-on developed by Atlassian in order to display JIRA gadgets on Confluence pages. The code that causes the exception is related to gathering statistics for amount of times a certain macro is rendered. And during caching stage this process fails. We are currently trying to reproduce the issue reliably on our local environments to report this to Atlassian so they could resolve a bug.It would be great if you could also send us a Confluence Support ZIP to support@k15t.com, so we have some further details about your database and general setup of the Confluence instance.
To create a support ZIP in Confluence, please follow these instructions: https://help.k15t.com/creating-a-support-zip-111903659.html
Cheers,
Nils
Please sign in to leave a comment.
Comments
4 comments