Error while Importing XAR file

Hello,

I’m trying to upgrade my xwiki by exporting the data as backup with history XAR file and import it into a new xwiki installation but at first i had a problem when uploading and clicking on the XAR file to get prompted with the window that has restore button on it, it endlessly show loading icon and nothing happens i searched and found my problem to have the XAR file being too large which is about 780MB and someone in a topic i found said to use an extension called “Filter Streams Converter” that can handle that size and restore it but when i did that i got this error :

Unexpected character 'h' (code 104) in prolog; expected '<' at [row,col {unknown-source}]: [1,1]
class org.xwiki.filter.FilterException: Failed to read XAR XML document
    at org.xwiki.filter.xar.internal.input.XARInputFilterStream.readDocument(XARInputFilterStream.java:122)
    at org.xwiki.filter.xar.internal.input.XARInputFilterStream.read(XARInputFilterStream.java:70)
    at org.xwiki.filter.xar.internal.input.XARInputFilterStream.read(XARInputFilterStream.java:47)
    at org.xwiki.filter.input.AbstractBeanInputFilterStream.read(AbstractBeanInputFilterStream.java:79)
    at org.xwiki.filter.internal.job.FilterStreamConverterJob.runInternal(FilterStreamConverterJob.java:97)
    at org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:240)
    at org.xwiki.job.AbstractJob.run(AbstractJob.java:217)
    at org.xwiki.filter.script.internal.ScriptFilterStreamConverterJob.run(ScriptFilterStreamConverterJob.java:75)

I don’t know what is the problem. could anyone help me with this ?

Thank you

It seems your XAR (which is just a ZIP file with XML files in it) contain an invalid XML file (which starts with the character “h”). There should be more details about what this file is exactly in the complete error.

could you tell me where to find that error ?

i’m new to xwiki tho

Well it seems you found the error since you pasted it but it seems to be only part of it.

i’m sorry i copied part of it by mistake here is the full error

Unexpected character 'h' (code 104) in prolog; expected '<' at [row,col {unknown-source}]: [1,1]
class org.xwiki.filter.FilterException: Failed to read XAR XML document
    at org.xwiki.filter.xar.internal.input.XARInputFilterStream.readDocument(XARInputFilterStream.java:122)
    at org.xwiki.filter.xar.internal.input.XARInputFilterStream.read(XARInputFilterStream.java:70)
    at org.xwiki.filter.xar.internal.input.XARInputFilterStream.read(XARInputFilterStream.java:47)
    at org.xwiki.filter.input.AbstractBeanInputFilterStream.read(AbstractBeanInputFilterStream.java:79)
    at org.xwiki.filter.internal.job.FilterStreamConverterJob.runInternal(FilterStreamConverterJob.java:97)
    at org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:240)
    at org.xwiki.job.AbstractJob.run(AbstractJob.java:217)
    at org.xwiki.filter.script.internal.ScriptFilterStreamConverterJob.run(ScriptFilterStreamConverterJob.java:75)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: class com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character 'h' (code 104) in prolog; expected '<'
 at [row,col {unknown-source}]: [1,1]
    at com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:666)
    at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2130)
    at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1179)
    at com.ctc.wstx.sr.BasicStreamReader.nextTag(BasicStreamReader.java:1202)
    at org.xwiki.filter.xar.internal.input.DocumentLocaleReader.read(DocumentLocaleReader.java:357)
    at org.xwiki.filter.xar.internal.input.DocumentLocaleReader.read(DocumentLocaleReader.java:334)
    at org.xwiki.filter.xar.internal.input.XARInputFilterStream.readDocument(XARInputFilterStream.java:120)
    at org.xwiki.filter.xar.internal.input.XARInputFilterStream.read(XARInputFilterStream.java:70)
    at org.xwiki.filter.xar.internal.input.XARInputFilterStream.read(XARInputFilterStream.java:47)
    at org.xwiki.filter.input.AbstractBeanInputFilterStream.read(AbstractBeanInputFilterStream.java:79)
    at org.xwiki.filter.internal.job.FilterStreamConverterJob.runInternal(FilterStreamConverterJob.java:97)
    at org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:240)
    at org.xwiki.job.AbstractJob.run(AbstractJob.java:217)
    at org.xwiki.filter.script.internal.ScriptFilterStreamConverterJob.run(ScriptFilterStreamConverterJob.java:75)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)

Actually the error suggest you did not indicated the right “source” and it was not parsed as a XAR file but as a XML content. What exactly did you indicated ?

a google drive shareable link that points to XAR file

In which format exactly ? According to the error the input filter did not understood it as a URL or a file path.

ok i fixed the URL by adding url: and now i’ve a new error

Unexpected record signature: 0X4F44213C
class org.xwiki.filter.FilterException: Failed to read XAR package
    at org.xwiki.filter.xar.internal.input.XARInputFilterStream.readXAR(XARInputFilterStream.java:110)
    at org.xwiki.filter.xar.internal.input.XARInputFilterStream.read(XARInputFilterStream.java:95)
    at org.xwiki.filter.xar.internal.input.XARInputFilterStream.read(XARInputFilterStream.java:47)
    at org.xwiki.filter.input.AbstractBeanInputFilterStream.read(AbstractBeanInputFilterStream.java:79)
    at org.xwiki.filter.internal.job.FilterStreamConverterJob.runInternal(FilterStreamConverterJob.java:97)
    at org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:240)
    at org.xwiki.job.AbstractJob.run(AbstractJob.java:217)
    at org.xwiki.filter.script.internal.ScriptFilterStreamConverterJob.run(ScriptFilterStreamConverterJob.java:75)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: class java.util.zip.ZipException: Unexpected record signature: 0X4F44213C
    at org.apache.commons.compress.archivers.zip.ZipArchiveInputStream.getNextZipEntry(ZipArchiveInputStream.java:260)
    at org.xwiki.filter.xar.internal.input.WikiReader.read(WikiReader.java:118)
    at org.xwiki.filter.xar.internal.input.WikiReader.read(WikiReader.java:95)
    at org.xwiki.filter.xar.internal.input.XARInputFilterStream.readXAR(XARInputFilterStream.java:108)
    at org.xwiki.filter.xar.internal.input.XARInputFilterStream.read(XARInputFilterStream.java:95)
    at org.xwiki.filter.xar.internal.input.XARInputFilterStream.read(XARInputFilterStream.java:47)
    at org.xwiki.filter.input.AbstractBeanInputFilterStream.read(AbstractBeanInputFilterStream.java:79)
    at org.xwiki.filter.internal.job.FilterStreamConverterJob.runInternal(FilterStreamConverterJob.java:97)
    at org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:240)
    at org.xwiki.job.AbstractJob.run(AbstractJob.java:217)
    at org.xwiki.filter.script.internal.ScriptFilterStreamConverterJob.run(ScriptFilterStreamConverterJob.java:75)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)

Looks like the ZIP parser does not like the content it receive too much. You sure this URL directly send back a zip file and is publicly accessible ?

You could try to put that file somewhere in the server and indicate its local path to be sure.