There are 3 updates, 2 comments.
 
 
XWiki Platform / cid:jira-generated-image-avatar-09367791-79cc-4bc1-addd-756116b26fd9 XWIKI-17535 Reopened

Filter stream xar/1.2 export failing because of 4GB file limit

 
View issue   ·   Add comment
 

3 updates

 
cid:jira-generated-image-avatar-193e8057-6858-40f6-a0c0-dc32356ff7e1 Changes by Manuel Leduc on 12/Mar/26 14:30
 
Resolution: Cannot Reproduce
Labels: bugfixingday
Status: Closed Reopened
 
 

2 comments

 
cid:jira-generated-image-avatar-193e8057-6858-40f6-a0c0-dc32356ff7e1 Manuel Leduc on 12/Mar/26 14:30
 

I was actually wrong, the exported xar for a single page export is a 5.4G xar, but when it contains a hierarchy of malformed (0B) files

 $ dust ~/Downloads/Sandbox.RevisionTest    
  0B   ┌── package.xml
  0B   │ ┌── RevisionTest.xml
4.0K   ├─┴ Sandbox
8.0K ┌─┴ Sandbox.RevisionTest

The following stack is displayed

2026-03-12 14:26:10,733 [qtp278240974-47 - https://xwiki8080.home/xwiki/bin/export/Sandbox/RevisionTest?format=xar&name=Sandbox.RevisionTest&pages=xwiki%3ASandbox.RevisionTest] WARN  c.x.x.w.XWikiAction            - Uncaught exception: Error number 11015 in 11: Exception while exporting 
com.xpn.xwiki.XWikiException: Error number 11015 in 11: Exception while exporting
	at com.xpn.xwiki.web.ExportAction.render(ExportAction.java:102)
	at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:637)
	at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:339)
	at com.xpn.xwiki.web.LegacyActionServlet.service(LegacyActionServlet.java:111)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723)
	at org.eclipse.jetty.ee11.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1393)
	at org.eclipse.jetty.ee11.servlet.ServletHolder.handle(ServletHolder.java:750)
	at org.eclipse.jetty.ee11.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1668)
	at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:123)
	at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
	at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
	at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:71)
	at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
	at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
	at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:66)
	at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
	at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
	at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:135)
	at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
	at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
	at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:212)
	at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
	at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
	at org.xwiki.container.servlet.filters.internal.SafeRedirectFilter.doFilter(SafeRedirectFilter.java:106)
	at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
	at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
	at org.xwiki.container.servlet.filters.internal.ResolveRelativeRedirectFilter.doFilter(ResolveRelativeRedirectFilter.java:129)
	at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
	at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
	at org.xwiki.container.servlet.filters.internal.SourceURLResolverFilter.doFilter(SourceURLResolverFilter.java:177)
	at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
	at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
	at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:120)
	at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:208)
	at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
	at org.eclipse.jetty.ee11.websocket.servlet.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:199)
	at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
	at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
	at org.eclipse.jetty.ee11.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1602)
	at org.eclipse.jetty.ee11.servlet.ServletChannel.dispatch(ServletChannel.java:868)
	at org.eclipse.jetty.ee11.servlet.ServletChannel.handle(ServletChannel.java:449)
	at org.eclipse.jetty.ee11.servlet.ServletHandler.handle(ServletHandler.java:470)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:546)
	at org.eclipse.jetty.ee11.servlet.SessionHandler.handle(SessionHandler.java:763)
	at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1224)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:178)
	at org.eclipse.jetty.server.Server.handle(Server.java:197)
	at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:787)
	at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:410)
	at org.eclipse.jetty.server.internal.HttpConnection$FillableCallback.succeeded(HttpConnection.java:1805)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
	at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:492)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.epcRunTask(AdaptiveExecutionStrategy.java:428)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:401)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:255)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:204)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:317)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:1009)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1239)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1194)
	at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.xwiki.filter.FilterException: Failed to close zip archive entry
	at org.xwiki.filter.xar.internal.output.XARWikiWriter.closeEntry(XARWikiWriter.java:174)
	at org.xwiki.filter.xar.internal.output.XAROutputFilterStream.endWikiDocumentLocale(XAROutputFilterStream.java:330)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.xwiki.filter.internal.FilterProxy.invoke(FilterProxy.java:90)
	at org.xwiki.filter.internal.FilterProxy.invoke(FilterProxy.java:63)
	at jdk.proxy28/jdk.proxy28.$Proxy206.endWikiDocumentLocale(Unknown Source)
	at com.xpn.xwiki.internal.filter.input.XWikiDocumentLocaleEventGenerator.write(XWikiDocumentLocaleEventGenerator.java:158)
	at com.xpn.xwiki.internal.filter.input.XWikiDocumentLocaleEventGenerator.write(XWikiDocumentLocaleEventGenerator.java:62)
	at org.xwiki.filter.instance.internal.input.AbstractBeanEntityEventGenerator.write(AbstractBeanEntityEventGenerator.java:123)
	at org.xwiki.filter.instance.input.AbstractEntityEventGenerator.write(AbstractEntityEventGenerator.java:74)
	at com.xpn.xwiki.internal.filter.input.DocumentInstanceInputEventGenerator.beginWikiDocument(DocumentInstanceInputEventGenerator.java:104)
	at org.xwiki.filter.instance.internal.input.InstanceInputFilterStream.writeDocument(InstanceInputFilterStream.java:231)
	at org.xwiki.filter.instance.internal.input.InstanceInputFilterStream.writeSpace(InstanceInputFilterStream.java:195)
	at org.xwiki.filter.instance.internal.input.InstanceInputFilterStream.writeWiki(InstanceInputFilterStream.java:161)
	at org.xwiki.filter.instance.internal.input.InstanceInputFilterStream.read(InstanceInputFilterStream.java:130)
	at org.xwiki.filter.instance.internal.input.InstanceInputFilterStream.read(InstanceInputFilterStream.java:54)
	at org.xwiki.filter.input.AbstractBeanInputFilterStream.read(AbstractBeanInputFilterStream.java:79)
	at com.xpn.xwiki.web.ExportAction.exportXAR(ExportAction.java:348)
	at com.xpn.xwiki.web.ExportAction.render(ExportAction.java:95)
	... 61 common frames omitted
Caused by: org.apache.commons.compress.archivers.zip.Zip64RequiredException: Sandbox/RevisionTest.xml's size exceeds the limit of 4GByte.
	at org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.checkIfNeedsZip64(ZipArchiveOutputStream.java:556)
	at org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.handleSizesAndCrc(ZipArchiveOutputStream.java:1096)
	at org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.closeArchiveEntry(ZipArchiveOutputStream.java:595)
	at org.xwiki.filter.xar.internal.output.XARWikiWriter.closeEntry(XARWikiWriter.java:172)
	... 80 common frames omitted
 
cid:jira-generated-image-avatar-193e8057-6858-40f6-a0c0-dc32356ff7e1 Manuel Leduc on 12/Mar/26 14:31
 
I was actually wrong, the exported xar for a single page export is a 5.4G xar , but

It seems ok

{noformat}
$ unzip -l ~/Downloads/Sandbox.RevisionTest.xar
Archive:  /home/mleduc/Downloads/Sandbox.RevisionTest.xar
  Length      Date    Time    Name
---------  ---------- -----   ----
7636443057  2026-03-12 14:20   Sandbox/RevisionTest.xml
      350  2026-03-12 14:26   package.xml
---------                     -------
7636443407                     2 files

{noformat}

But
when it contains a hierarchy of malformed (0B) files when extracted
{noformat}
$ dust ~/Downloads/Sandbox.RevisionTest    
  0B   ┌── package.xml
  0B   │ ┌── RevisionTest.xml
4.0K   ├─┴ Sandbox
8.0K ┌─┴ Sandbox.RevisionTest{noformat}

The following stack is displayed

{noformat}
2026-03-12 14:26:10,733 [qtp278240974-47 - https://xwiki8080.home/xwiki/bin/export/Sandbox/RevisionTest?format=xar&name=Sandbox.RevisionTest&pages=xwiki%3ASandbox.RevisionTest] WARN  c.x.x.w.XWikiAction            - Uncaught exception: Error number 11015 in 11: Exception while exporting
com.xpn.xwiki.XWikiException: Error number 11015 in 11: Exception while exporting
at com.xpn.xwiki.web.ExportAction.render(ExportAction.java:102)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:637)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:339)
at com.xpn.xwiki.web.LegacyActionServlet.service(LegacyActionServlet.java:111)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.eclipse.jetty.ee11.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1393)
at org.eclipse.jetty.ee11.servlet.ServletHolder.handle(ServletHolder.java:750)
at org.eclipse.jetty.ee11.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1668)
at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:123)
at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:71)
at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:66)
at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:135)
at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:212)
at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
at org.xwiki.container.servlet.filters.internal.SafeRedirectFilter.doFilter(SafeRedirectFilter.java:106)
at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
at org.xwiki.container.servlet.filters.internal.ResolveRelativeRedirectFilter.doFilter(ResolveRelativeRedirectFilter.java:129)
at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
at org.xwiki.container.servlet.filters.internal.SourceURLResolverFilter.doFilter(SourceURLResolverFilter.java:177)
at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:120)
at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:208)
at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
at org.eclipse.jetty.ee11.websocket.servlet.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:199)
at org.eclipse.jetty.ee11.servlet.FilterHolder.doFilter(FilterHolder.java:205)
at org.eclipse.jetty.ee11.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1640)
at org.eclipse.jetty.ee11.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1602)
at org.eclipse.jetty.ee11.servlet.ServletChannel.dispatch(ServletChannel.java:868)
at org.eclipse.jetty.ee11.servlet.ServletChannel.handle(ServletChannel.java:449)
at org.eclipse.jetty.ee11.servlet.ServletHandler.handle(ServletHandler.java:470)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:546)
at org.eclipse.jetty.ee11.servlet.SessionHandler.handle(SessionHandler.java:763)
at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1224)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:178)
at org.eclipse.jetty.server.Server.handle(Server.java:197)
at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:787)
at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:410)
at org.eclipse.jetty.server.internal.HttpConnection$FillableCallback.succeeded(HttpConnection.java:1805)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:492)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.epcRunTask(AdaptiveExecutionStrategy.java:428)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:401)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:255)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:204)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:317)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:1009)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1239)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1194)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: org.xwiki.filter.FilterException: Failed to close zip archive entry
at org.xwiki.filter.xar.internal.output.XARWikiWriter.closeEntry(XARWikiWriter.java:174)
at org.xwiki.filter.xar.internal.output.XAROutputFilterStream.endWikiDocumentLocale(XAROutputFilterStream.java:330)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.xwiki.filter.internal.FilterProxy.invoke(FilterProxy.java:90)
at org.xwiki.filter.internal.FilterProxy.invoke(FilterProxy.java:63)
at jdk.proxy28/jdk.proxy28.$Proxy206.endWikiDocumentLocale(Unknown Source)
at com.xpn.xwiki.internal.filter.input.XWikiDocumentLocaleEventGenerator.write(XWikiDocumentLocaleEventGenerator.java:158)
at com.xpn.xwiki.internal.filter.input.XWikiDocumentLocaleEventGenerator.write(XWikiDocumentLocaleEventGenerator.java:62)
at org.xwiki.filter.instance.internal.input.AbstractBeanEntityEventGenerator.write(AbstractBeanEntityEventGenerator.java:123)
at org.xwiki.filter.instance.input.AbstractEntityEventGenerator.write(AbstractEntityEventGenerator.java:74)
at com.xpn.xwiki.internal.filter.input.DocumentInstanceInputEventGenerator.beginWikiDocument(DocumentInstanceInputEventGenerator.java:104)
at org.xwiki.filter.instance.internal.input.InstanceInputFilterStream.writeDocument(InstanceInputFilterStream.java:231)
at org.xwiki.filter.instance.internal.input.InstanceInputFilterStream.writeSpace(InstanceInputFilterStream.java:195)
at org.xwiki.filter.instance.internal.input.InstanceInputFilterStream.writeWiki(InstanceInputFilterStream.java:161)
at org.xwiki.filter.instance.internal.input.InstanceInputFilterStream.read(InstanceInputFilterStream.java:130)
at org.xwiki.filter.instance.internal.input.InstanceInputFilterStream.read(InstanceInputFilterStream.java:54)
at org.xwiki.filter.input.AbstractBeanInputFilterStream.read(AbstractBeanInputFilterStream.java:79)
at com.xpn.xwiki.web.ExportAction.exportXAR(ExportAction.java:348)
at com.xpn.xwiki.web.ExportAction.render(ExportAction.java:95)
... 61 common frames omitted
Caused by: org.apache.commons.compress.archivers.zip.Zip64RequiredException: Sandbox/RevisionTest.xml's size exceeds the limit of 4GByte.
at org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.checkIfNeedsZip64(ZipArchiveOutputStream.java:556)
at org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.handleSizesAndCrc(ZipArchiveOutputStream.java:1096)
at org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.closeArchiveEntry(ZipArchiveOutputStream.java:595)
at org.xwiki.filter.xar.internal.output.XARWikiWriter.closeEntry(XARWikiWriter.java:172)
... 80 common frames omitted
{noformat}