Confluence XML input stream Failed to read package

Hello everybody,

I am triying to import an Confluence XML Space export to xwiki - Setup as described on the extension site - i get this error and can’t find the path wich it tries do open

No such file or directory
class org.xwiki.filter.FilterException: Failed to read package
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.read(ConfluenceInputFilterStream.java:119)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.read(ConfluenceInputFilterStream.java:77)
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:242)
at org.xwiki.job.AbstractJob.run(AbstractJob.java:219)
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.io.IOException: No such file or directory
at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.base/java.io.File.createTempFile(File.java:2092)
at java.base/java.io.File.createTempFile(File.java:2138)
at org.xwiki.contrib.confluence.filter.internal.ConfluenceXMLPackage.fromStream(ConfluenceXMLPackage.java:304)
at org.xwiki.contrib.confluence.filter.internal.ConfluenceXMLPackage.fromFile(ConfluenceXMLPackage.java:289)
at org.xwiki.contrib.confluence.filter.internal.ConfluenceXMLPackage.(ConfluenceXMLPackage.java:258)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.read(ConfluenceInputFilterStream.java:117)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.read(ConfluenceInputFilterStream.java:77)
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:242)
at org.xwiki.job.AbstractJob.run(AbstractJob.java:219)
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)

Has anyone a hint?

Regards
Franz

We should probably add some more info to this error indeed but it simply try to open the path you gave after the “file:” prefix.

I thought that - i changed the full path to chmod 777 so everyone can access this file - i get the same issue - does it read the full path or an relative path from somewhere?
I tried to move it to a folder /temp with chmod 777 and the file itselve also 777.xml.zip

I think the error would be a bit different if it was a right issue.

It does not do anything special and try to open the path you gave as is. I really don’t recommend giving a relative path since it’s hard to know what exactly is the current path depending on the application server an its configuration.

And what “source” do you exactly give to the input filter when you do that ?

The Area Export from Confluence generates an xml.zip file - i download it and upload it on the server where xwiki is running. And source in the Filter is: Confluence XML input stream (confluence+xml)

I mean what value exactly do you put in the form ?

file:/temp/Confl.xml.zip
I have watched case sensitiveness.

and it is on
/temp/Confl.xml.zip on the Server where xwiki is running.
root@Richard20:/temp# pwd
/temp
root@Richard20:/temp# ls
Confl.xml.zip
root@Richard20:/temp#

The value looks fine. I also tested the same use case just to be safe but works fine for me. And you are sure you get the exact same error than the one you pasted in the first message ?

this is the error:

/temp/Confl.xml (No such file or directory)
class org.xwiki.filter.FilterException: Failed to read package
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.read(ConfluenceInputFilterStream.java:119)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.read(ConfluenceInputFilterStream.java:77)
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:242)
at org.xwiki.job.AbstractJob.run(AbstractJob.java:219)
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.io.FileNotFoundException: /temp/Confl.xml (No such file or directory)
at java.base/java.io.FileInputStream.open0(Native Method)
at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
at java.base/java.io.FileInputStream.(FileInputStream.java:157)
at org.xwiki.contrib.confluence.filter.internal.ConfluenceXMLPackage.fromFile(ConfluenceXMLPackage.java:288)
at org.xwiki.contrib.confluence.filter.internal.ConfluenceXMLPackage.(ConfluenceXMLPackage.java:258)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.read(ConfluenceInputFilterStream.java:117)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.read(ConfluenceInputFilterStream.java:77)
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:242)
at org.xwiki.job.AbstractJob.run(AbstractJob.java:219)
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)

OK so it looks like it definitely look at the right file and the error suggest that file does not exist. I don’t have much more idea to propose unfortunately.

is it possible, that there are missing some files in the /tmp folder?
I reinstalled the system for testing purposes. Than it seemed to work, but i had not enough space.
Then i deleted the files in the /tmp, because it was full. When i started the filter again, i got the errormessage without the path.
I tried to misspell the path, then the error message displays the error with the path not found.
I think that there are missing files in the tmp folder…

So now it worked, but the tmp Folder runs full, and when you delete the folders than you get this error - should i raise a jira ticket?
Edit says: When you restart the tomcat than it works again.

If you have clear steps to reproduce a bug it would be nice to create a jira issue yes so that we can debug and understand exactly what is the cause.

Unfortunately the “export format” of Confluence (basically a dump of the Confluence database in a XML file) cannot really be read in a streamed way so we have to extract the data somewhere to prepare the import.