PhoenicisOrg / phoenicis

Phoenicis PlayOnLinux and PlayOnMac 5 repository
https://phoenicis.org/
GNU Lesser General Public License v3.0
685 stars 73 forks source link

Phoenicis failed to untar .tar.xz #1766

Closed ImperatorS79 closed 5 years ago

ImperatorS79 commented 5 years ago

Expected behavior

Extractor extracts .tar.xz

Actual behavior

It does not:

org.phoenicis.tools.archive.ArchiveException: Unable to extract the file
    at org.phoenicis.tools.archive.Tar.uncompress(Tar.java:199)
    at org.phoenicis.tools.archive.Tar.uncompressTarFile(Tar.java:89)
    at org.phoenicis.tools.archive.Extractor.uncompress(Extractor.java:69)
    at org.phoenicis.tools.archive.Extractor.uncompress(Extractor.java:45)
    at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$1019$3124$\^eval\_$cu1$restOf.extract-1([utils, functions, filesystem, extract]:140)
    at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$1011$395$\^eval\_$cu1$restOf.faudio([engines, wine, verbs, faudio]:22)
    at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$1003$812AA$\^eval\_.run#L:23(<eval>:24)
    at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$933$553$\^eval\_$cu1$restOf.go([engines, wine, quick_script, installer_script]:75)
    at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$868$259$\^eval\_.run(<eval>:11)
    at jdk.nashorn.javaadapters.org_phoenicis_scripts_Installer.run(Unknown Source)
    at jdk.scripting.nashorn.scripts/jdk.nashorn.internal.scripts.Script$Recompilation$867$\^eval\_$cu1$restOf.:program(<eval>:33)
    at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655)
    at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513)
    at jdk.scripting.nashorn/jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527)
    at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:456)
    at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:413)
    at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:409)
    at jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.eval(NashornScriptEngine.java:162)
    at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
    at org.phoenicis.scripts.nashorn.NashornEngine.eval(NashornEngine.java:50)
    at org.phoenicis.scripts.nashorn.NashornScriptInterpreter.runScript(NashornScriptInterpreter.java:35)
    at org.phoenicis.scripts.interpreter.BackgroundScriptInterpreter.lambda$runScript$0(BackgroundScriptInterpreter.java:35)
    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: java.io.IOException: Error detected parsing the header
    at org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getNextTarEntry(TarArchiveInputStream.java:285)
    at org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getNextEntry(TarArchiveInputStream.java:552)
    at org.phoenicis.tools.archive.Tar.uncompress(Tar.java:160)
    ... 24 more
Caused by: java.lang.IllegalArgumentException: Invalid byte 94 at offset 0 in '^ vP��J?' len=8
    at org.apache.commons.compress.archivers.tar.TarUtils.parseOctal(TarUtils.java:141)
    at org.apache.commons.compress.archivers.tar.TarUtils.parseOctalOrBinary(TarUtils.java:171)
    at org.apache.commons.compress.archivers.tar.TarArchiveEntry.parseTarHeader(TarArchiveEntry.java:1277)
    at org.apache.commons.compress.archivers.tar.TarArchiveEntry.parseTarHeader(TarArchiveEntry.java:1266)
    at org.apache.commons.compress.archivers.tar.TarArchiveEntry.<init>(TarArchiveEntry.java:404)
    at org.apache.commons.compress.archivers.tar.TarArchiveInputStream.getNextTarEntry(TarArchiveInputStream.java:283)
    ... 26 more

Steps to reproduce

First steps of the FAudio verb https://github.com/PhoenicisOrg/scripts/pull/804

System information

ImperatorS79 commented 5 years ago

NB: ark manage to extract it.

plata commented 5 years ago

It's coming from org.apache.commons.compress.archivers.tar.TarUtils. I'm not sure if we can do anything about it (unless we use this in the wrong way).

qparis commented 5 years ago

We need to find a solution in any case.. First, is the file really a .tar.xz file?

ImperatorS79 commented 5 years ago

Link here -> https://github.com/Kron4ek/FAudio-Builds/releases/download/19.01/faudio-19.01.tar.xz.